2.2.1.2.1 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: This attribute specifies 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: This attribute 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: This attribute specifies the description of the form template. If this attribute is not present, its value MUST be interpreted as an empty string (1).

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

productVersion: This attribute specifies the version of the form designer with which the form template was created. This attribute’s value MUST be "14.0.0.0" or "15.0.0.0".<1>

publishUrl: This attribute MUST NOT be present.

requireFullTrust: This attribute specifies whether the form template requires an elevated form security level. If "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: This attribute specifies the version number of the form template format. This attribute’s value MUST be "3.0.0.0" or "15.0.0.0". If the value is set to "2.0.0.0", "1.1.0.0" or "1.0.0.0", the form template MUST conform to [MS-IPFF].

solutionVersion: This attribute specifies 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: This attribute specifies 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 attribute specifies the default security context that can be overridden using the requireFullTrust attribute. The value of this attribute MUST NOT be "restricted".

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"/>
       <!—scripts is Client-Only -->
       <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>