2.2.20 xDocumentClass

The xDocumentClass element and its child elements specify the properties, appearance, content, and files of the form template. The values specified by this element determine the general behaviors, such as loading and upgrading, of all forms generated from the form template. This element MUST be the root element of the form definition (.xsf) file.

Child Elements

applicationParameters

calculations

customValidation

dataAdapters

dataObjects

documentSchemas

documentSignatures

documentVersionUpgrade

domEventHandlers

extensions

externalViews

featureRestrictions

fileNew

hwsWorkflow

importParameters

listProperties

onLoad

package

permissions

query

roles

ruleSets

save

schemaErrorMessages

scripts

submit

taskpane

views

Attributes:

author: The name of the author of the form template. If this attribute is not present, its value MUST be interpreted as an empty string.

dataFormSolution: Specifies whether a form template was designed based on a main data connection to a database or Web service. If this attribute is not present, its value MUST be interpreted as "no".

description: The description of the form template. If this attribute is not present, its value MUST be interpreted as an empty string (1).

name: An identifier for the form template in the form of a Uniform Resource Name (URN). This attribute MUST be specified.

productVersion: The version of the form designer with which the form template was created. This attribute’s value SHOULD be "12.0.0.0" or "11.0.0.0".<1>

publishUrl: This attribute MUST NOT be present.

requireFullTrust: Specifies whether the form template requires an elevated form security level. If set to "yes", this attribute MUST override the form security level specified by the trustLevel attribute, and the form MUST be loaded with an elevated form security level. An elevated form security level allows cross-domain data connections and full access to business objects. If this attribute is not present, its value MUST be interpreted as "no".

solutionFormatVersion: The version number of the form template format. The attribute’s value SHOULD be "2.0.0.0" or "1.100.0.0" or "1.0.0.0".<2>

solutionVersion: The version number of the form template. The value of this attribute MUST be greater than any version of the form template already published. Values are compared numerically, left-to-right.

trustLevel: The form security level. If this attribute is present, its value MUST be "domain". If this attribute is not present, its value MUST be interpreted as "domain". This is the default security context and can be overridden by the requireFullTrust attribute.

trustSetting: This attribute MUST be ignored.

The following W3C XML Schema ([XMLSCHEMA1] section 2.1) fragment specifies the contents of this element.

 <xsd:element name="xDocumentClass">
   <xsd:complexType>
     <xsd:all>
       <xsd:element ref="xsf:package" minOccurs="1"/>
       <xsd:element ref="xsf:permissions" minOccurs="0"/>
       <xsd:element ref="xsf:views" minOccurs="1"/>
       <xsd:element ref="xsf:hwsWorkflow" minOccurs="0"/>
       <xsd:element ref="xsf:externalViews" minOccurs="0"/>
       <xsd:element ref="xsf:scripts" minOccurs="0"/>
       <xsd:element ref="xsf:schemaErrorMessages" minOccurs="0"/>
       <xsd:element ref="xsf:documentSchemas" minOccurs="0"/>
       <xsd:element ref="xsf:applicationParameters" minOccurs="0"/>
       <xsd:element ref="xsf:featureRestrictions" minOccurs="0"/>
       <xsd:element ref="xsf:fileNew" minOccurs="0"/>
       <xsd:element ref="xsf:customValidation" minOccurs="0"/>
       <xsd:element ref="xsf:domEventHandlers" minOccurs="0"/>
       <xsd:element ref="xsf:importParameters" minOccurs="0"/>
       <xsd:element ref="xsf:listProperties" minOccurs="0"/>
       <xsd:element ref="xsf:taskpane" minOccurs="0"/>
       <xsd:element ref="xsf:documentSignatures" minOccurs="0"/>
       <xsd:element ref="xsf:dataObjects" minOccurs="0"/>
       <xsd:element ref="xsf:dataAdapters" minOccurs="0"/>
       <xsd:element ref="xsf:query" minOccurs="0"/>
       <xsd:element ref="xsf:submit" minOccurs="0"/>
       <xsd:element ref="xsf:save" minOccurs="0"/>
       <xsd:element ref="xsf:roles" minOccurs="0"/>
       <xsd:element ref="xsf:onLoad" minOccurs="0"/>
       <xsd:element ref="xsf:documentVersionUpgrade" minOccurs="0"/>
       <xsd:element ref="xsf:extensions" minOccurs="0"/>
       <xsd:element ref="xsf:ruleSets" minOccurs="0"/>
       <xsd:element ref="xsf:calculations" minOccurs="0"/>
     </xsd:all>
     <xsd:attribute name="name" type="xsd:string" use="optional"/>
     <xsd:attribute name="author" type="xsd:string" use="optional"/>
     <xsd:attribute name="description" use="optional">
       <xsd:simpleType>
         <xsd:restriction base="xsd:string">
           <xsd:maxLength value="255"/>
         </xsd:restriction>
       </xsd:simpleType>
     </xsd:attribute>
     <xsd:attribute name="solutionVersion" type="xsf:xdSolutionVersion" use="optional"/>
     <xsd:attribute name="productVersion" type="xsd:string" use="optional"/>
     <xsd:attribute name="solutionFormatVersion" type="xsf:xdSolutionVersion" use="required"/>
     <xsd:attribute name="dataFormSolution" type="xsf:xdYesNo" use="optional"/>
     <xsd:attribute name="requireFullTrust" type="xsf:xdYesNo" use="optional"/>
     <xsd:attribute name="trustLevel" type="xsf:xdTrustLevel" use="optional"/>
     <xsd:attribute name="trustSetting" type="xsf:xdManualAuto" use="optional"/>
     <xsd:attribute name="publishUrl" type="xsd:string" use="optional"/>
   </xsd:complexType>
   <xsd:key name="view_name_key">
     <xsd:selector xpath="./xsf:views/xsf:view"/>
     <xsd:field xpath="@name"/>
   </xsd:key>
   <xsd:key name="externalView_name_key">
     <xsd:selector xpath="./xsf:externalViews/xsf:externalView"/>
     <xsd:field xpath="@name"/>
   </xsd:key>
   <xsd:key name="view_or_externalView_name_key">
     <xsd:selector xpath="./xsf:views/xsf:view | ./xsf:externalViews/xsf:externalView"/>
     <xsd:field xpath="@name"/>
   </xsd:key>
   <xsd:key name="ruleset_name_key">
     <xsd:selector xpath="./xsf:ruleSets/xsf:ruleSet"/>
     <xsd:field xpath="@name"/>
   </xsd:key>
   <xsd:key name="dataObject_name_key">
     <xsd:selector xpath="./xsf:dataObjects/xsf:dataObject"/>
     <xsd:field xpath="@name"/>
   </xsd:key>
   <xsd:unique name="adapter_name_unique">
     <xsd:selector xpath="./xsf:dataObjects/xsf:dataObject/xsf:query/* | ./xsf:query/* | ./xsf:dataAdapters/* | ./xsf:submit/xsf:webServiceAdapter | ./xsf:submit/xsf:davAdapter | ./xsf:submit/xsf:emailAdapter | ./xsf:submit/xsf:submitToHostAdapter"/>
     <xsd:field xpath="@name"/>
   </xsd:unique>
   <xsd:key name="adapter_name_key">
     <xsd:selector xpath="./xsf:dataAdapters/*"/>
     <xsd:field xpath="@name"/>
   </xsd:key>
   <xsd:unique name="view_external_name_unique">
     <xsd:selector xpath="./xsf:views/xsf:view | ./xsf:externalViews/xsf:externalView"/>
     <xsd:field xpath="@name"/>
   </xsd:unique>
 </xsd:element>