Elements on Forms and Form Fields
The following elements on forms and form fields have been added or updated.
| Element | Description |
|---|---|
| script | A new type Script allowing a mixed content with a constraint on the language attribute for Csharp, Visual Basic, Jscript, VBScript.NET, JScript.NET. |
| metadatafilteroperator | Changed the type of the ishoperator from xs:string to metadatafilteroperator. |
| versionlist | In valuelisttypes a new empty element versionlist of the complew type is added. |
| sortorder | In valuelist a new attribute sortorder from the general type sortorder is added with optional use. |
| typecondition |
|
| typedate |
|
| typefile |
|
| typemultilinetext |
|
| typenumeric | New type typenumeric (complex) with a reference to the attributeGroup condition
|
| typeoptions | New type typeoptions (complex) with a reference to the attributeGroup condition
|
| typepulldown |
|
| typereference |
|
| typetext |
|
| displaytype |
|
| ishfrmfield |
|
| ishfrmgroup |
|
| ishfrm |
|
The following illustrates how this is configured in the MetadataConfig.xsd file
<!-- ***********************************************************************************************--> <!-- ********** Types for ishfrm *******************************************************************--> <!-- ***********************************************************************************************--> <!-- ********** Script *****************************************************************************--> <xs:complexType name="script" mixed="true"> <xs:attribute name="language"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="CSharp" /> <xs:enumeration value="Visual Basic" /> <xs:enumeration value="JScript" /> <xs:enumeration value="VBScript.NET" /> <xs:enumeration value="JScript.NET" /> </xs:restriction> </xs:simpleType> </xs:attribute> </xs:complexType> <!-- ********** ishfields **************************************************************************--> <xs:element name="ishfields"> <xs:complexType> <xs:sequence> <xs:element name="ishfield" type="ishfield" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="ishfield"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="level" type="level" use="required"/> <xs:attribute name="ishoperator" type="metadatafilteroperator"/> </xs:extension> </xs:simpleContent> </xs:complexType> <!-- ********** ValueLists *************************************************************************--> <xs:group name="valuelisttypes"> <xs:choice> <xs:element name="userlist"> <xs:complexType> <xs:sequence> <xs:element name="usermetadatafilter" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element ref="ishfields"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="restrictusergroup" type="boolean"/> </xs:complexType> </xs:element> <xs:element name="baselinelist"> <xs:complexType> <xs:sequence> <xs:element name="baselinemetadatafilter" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element ref="ishfields"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="transitionstatelist"> <xs:complexType/> </xs:element> <xs:element name="versionlist"> <xs:complexType/> </xs:element> <xs:element name="lovlist"> <xs:complexType> <xs:attribute name="ishlovref" type="xs:Name" use="required"/> </xs:complexType> </xs:element> <xs:element name="enumlist"> <xs:complexType> <xs:sequence> <xs:element name="item" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="value" type="xs:string"/> <xs:group ref="header"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:group> <xs:complexType name="valuelist"> <xs:group ref="valuelisttypes" minOccurs="0"/> <xs:attribute name="ref" type="xs:IDREF" use="optional"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="sortorder" type="sortorder" use="optional"/> <xs:attributeGroup ref="condition"/> </xs:complexType> <!-- ********** Display Types *********************************************************************--> <xs:complexType name="typecheckbox"> <xs:sequence> <xs:element name="checkedvalue"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attributeGroup ref="condition"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="uncheckedvalue"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attributeGroup ref="condition"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:sequence> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="typecondition"> <xs:attribute name="assist" type="boolean" use="optional"/> <xs:attribute name="checkbox" type="boolean" use="optional"/> <xs:attribute name="checkboxstate" type="checkboxstate" use="optional" default="none" /> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="typedate"> <xs:attribute name="checkbox" type="boolean" use="optional"/> <xs:attribute name="checkboxstate" type="checkboxstate" use="optional" default="none" /> <xs:attribute name="useoperators" type="useoperatortype" use="optional"/> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="typefile"> <xs:sequence> <xs:element name="valuelist" type="valuelist" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="assist" type="boolean" use="optional"/> <xs:attribute name="checkbox" type="boolean" use="optional"/> <xs:attribute name="checkboxstate" type="checkboxstate" use="optional" default="none" /> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="typelabel"> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="typemultilinetext"> <xs:sequence> <xs:element name="valuelist" type="valuelist" minOccurs="0"/> </xs:sequence> <xs:attribute name="lines" type="xs:byte" use="optional"/> <xs:attribute name="assist" type="boolean" use="optional"/> <xs:attribute name="filter" type="boolean" use="optional"/> <xs:attribute name="checkbox" type="boolean" use="optional"/> <xs:attribute name="checkboxstate" type="checkboxstate" use="optional" default="none" /> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="typenumeric"> <xs:attribute name="decimalplaces" type="xs:integer" use="optional" default="0" /> <xs:attribute name="increment" type="xs:decimal" use="optional" default="1" /> <xs:attribute name="minimum" type="xs:decimal" use="optional" default="0" /> <xs:attribute name="maximum" type="xs:decimal" use="optional" default="100" /> <xs:attribute name="useoperators" type="useoperatortype" use="optional"/> <xs:attribute name="checkbox" type="boolean" use="optional" /> <xs:attribute name="checkboxstate" type="checkboxstate" use="optional" default="none" /> <xs:attributeGroup ref="condition" /> </xs:complexType> <xs:complexType name="typeoptions"> <xs:sequence> <xs:element name="valuelist" type="valuelist" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="flowdirection" type="flowdirection" use="optional" default="vertical" /> <xs:attributeGroup ref="condition" /> </xs:complexType> <xs:complexType name="typepulldown"> <xs:sequence> <xs:element name="valuelist" type="valuelist" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="checkbox" type="boolean" use="optional"/> <xs:attribute name="checkboxstate" type="checkboxstate" use="optional" default="none" /> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="typereference"> <xs:sequence> <xs:element name="selectabletypes" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="type" maxOccurs="unbounded"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="ISHMasterDoc"/> <xs:enumeration value="ISHModule"/> <xs:enumeration value="ISHLibrary"/> <xs:enumeration value="ISHTemplate"/> <xs:enumeration value="ISHIllustration"/> <xs:enumeration value="ISHOutputFormat"/> <xs:enumeration value="ISHPublication"/> <xs:enumeration value="ISHPublicationOutput"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="selectionmode" type="selectionmode" use="optional" default="single" /> <xs:attribute name="allowversionselect" type="boolean" use="optional" /> <xs:attribute name="dialogmode" use="required"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="link"/> <xs:enumeration value="hyperlink"/> <xs:enumeration value="select"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute name="assist" type="boolean" use="optional"/> <xs:attribute name="checkbox" type="boolean" use="optional"/> <xs:attribute name="checkboxstate" type="checkboxstate" use="optional" default="none" /> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="typetext"> <xs:sequence> <xs:element name="valuelist" type="valuelist" minOccurs="0"/> </xs:sequence> <xs:attribute name="assist" type="boolean" use="optional"/> <xs:attribute name="filter" type="boolean" use="optional"/> <xs:attribute name="checkbox" type="boolean" use="optional"/> <xs:attribute name="checkboxstate" type="checkboxstate" use="optional" default="none" /> <xs:attribute name="useoperators" type="useoperatortype" use="optional"/> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:group name="displaytype"> <xs:choice> <!--EDIT--> <xs:element name="typecheckbox" type="typecheckbox" minOccurs="0"/> <xs:element name="typecondition" type="typecondition" minOccurs="0"/> <xs:element name="typedate" type="typedate" minOccurs="0"/> <xs:element name="typefile" type="typefile" minOccurs="0"/> <xs:element name="typelabel" type="typelabel" minOccurs="0"/> <xs:element name="typemultilinetext" type="typemultilinetext" minOccurs="0"/> <xs:element name="typenumeric" type="typenumeric" minOccurs="0" /> <xs:element name="typeoptions" type="typeoptions" minOccurs="0" /> <xs:element name="typepulldown" type="typepulldown" minOccurs="0"/> <xs:element name="typereference" type="typereference" minOccurs="0"/> <xs:element name="typetext" type="typetext" minOccurs="0"/> </xs:choice> </xs:group> <!-- ********** Events *****************************************************************************--> <xs:attributeGroup name="ishfrmevents"> <xs:attribute name="load" type="xs:string" use="optional"/> <xs:attribute name="closing" type="xs:string" use="optional"/> <xs:attribute name="validating" type="xs:string" use="optional"/> </xs:attributeGroup> <xs:attributeGroup name="ishfrmfieldevents"> <xs:attribute name="load" type="xs:string" use="optional"/> <xs:attribute name="enter" type="xs:string" use="optional"/> <xs:attribute name="leave" type="xs:string" use="optional"/> <xs:attribute name="valuechanged" type="xs:string" use="optional"/> <xs:attribute name="validating" type="xs:string" use="optional"/> </xs:attributeGroup> <!-- ********** Forms/Tabs/Groups/Fields ***********************************************************--> <xs:complexType name="ishfrmfield"> <xs:sequence minOccurs="0"> <xs:group ref="header"/> <!-- Before condition evaluation elements can be added more than once --> <!-- after condition evaluation elements may be added only once --> <xs:group ref="displaytype" maxOccurs="unbounded"/> <!--TODO--> <xs:group ref="ishfrmfieldbehavior"/> <!-- Before condition evaluation elements can be added more than once --> <!-- after condition evaluation elements may be added only once --> <xs:element name="metadatafilteroperator" type="metadatafilteroperator" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="fulltextsearchoperator" type="fulltextsearchoperator" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="value" type="value" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="script" type="script" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="ref" type="xs:IDREF" use="optional"/> <xs:attribute name="name" type="xs:string" use="optional"/> <xs:attribute name="ishfieldref" type="xs:Name" use="optional"/> <xs:attribute name="level" type="level" use="optional"/> <xs:attribute name="ishfielddatatype" type="ishfielddatatype" use="optional"/> <xs:attributeGroup ref="ishfrmfieldevents" /> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="ishfrmgroup"> <xs:sequence minOccurs="0"> <xs:group ref="header"/> <xs:element name="ishfrmfield" type="ishfrmfield" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="ref" type="xs:IDREF" use="optional"/> <xs:attributeGroup ref="condition"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attribute name="expandstate" type="expandstate" use="optional" /> </xs:complexType> <xs:complexType name="ishfrmtab"> <xs:sequence minOccurs="0"> <xs:group ref="header"/> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element name="ishfrmgroup" type="ishfrmgroup" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ishfrmfield" type="ishfrmfield" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> </xs:sequence> <xs:attribute name="ref" type="xs:IDREF" use="optional"/> <xs:attribute name="id" type="xs:ID" use="optional"/> <xs:attributeGroup ref="condition"/> </xs:complexType> <xs:complexType name="ishfrm"> <xs:sequence> <xs:group ref="formheader"/> <xs:choice minOccurs="1" maxOccurs="1"> <xs:element name="ishfrmtab" type="ishfrmtab" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ishfrmgroup" type="ishfrmgroup" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="ishfrmfield" type="ishfrmfield" minOccurs="0" maxOccurs="unbounded"/> </xs:choice> <xs:element name="script" type="script" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="behavior" type="behavior" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="id" type="xs:ID" use="required"/> <!-- Id is required => No conditions allowed --> <!--xs:attributeGroup ref="condition"/--> <xs:attribute name="width" type="xs:unsignedByte" use="optional"/> <xs:attribute name="height" type="xs:unsignedByte" use="optional"/> <xs:attributeGroup ref="ishfrmevents" /> </xs:complexType> <xs:complexType name="ishfrmdef"> <xs:sequence> <xs:element name="ishfrms" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="ishfrm" type="ishfrm" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ishfrmtabs" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="ishfrmtab" type="ishfrmtab" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ishfrmgroups" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="ishfrmgroup" type="ishfrmgroup" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ishfrmfields" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="ishfrmfield" type="ishfrmfield" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ishfrmvaluelists" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="valuelist" type="valuelist" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <!-- ********** Associations *****************************************--> <xs:complexType name="ishassociationdef"> <xs:sequence> <xs:element name="ishfileextensionassociation" type="ishfileextensionassociation" minOccurs="0" maxOccurs="unbounded"></xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="ishfileextensionassociation"> <xs:attribute name="name" type="xs:string" use="required"/> <xs:attribute name="ishtemplate" type="xs:string" use="required"/> </xs:complexType>