User Guide and Reference

Template Schema

Template Schema

Previous topic Next topic No directory for this topic  

Template Schema

Previous topic Next topic Topic directory requires JavaScript JavaScript is required for the print function  

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

 elementFormDefault="qualified" attributeFormDefault="unqualified">

 

 <xs:element name="formtemplate">

       <xs:annotation>

             <xs:documentation>Used in templates</xs:documentation>

       </xs:annotation>

         <xs:complexType>

                 <xs:choice maxOccurs="unbounded">

                         <xs:element name="technologies" type="technologiesTypes" />

                         <xs:element name="variants" type="variantsTypes" />

                         <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>

                         <xs:element name="stylesheets" minOccurs="0"/>

                         <xs:element name="fragment" type="fragmentType" minOccurs="0" maxOccurs="unbounded"/>

                         <xs:element name="content" type="contentType" minOccurs="0"/>

                         <xs:element name="starter-content" type="contentType" minOccurs="0"/>

                         <xs:element name="modules" minOccurs="0"/>

                 </xs:choice>

                 <xs:attribute name="name" use="required">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string"/>

                         </xs:simpleType>

                 </xs:attribute>

                 <xs:attribute name="file" type="xs:string"/>

                 <xs:attribute name="description" type="xs:string"/>

                 <xs:attribute name="category">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string"/>

                         </xs:simpleType>

                 </xs:attribute>

                 <xs:attribute name="label" type="xs:string"/>

                 <xs:attribute name="wireframe" type="xs:string"/>

                 <xs:attribute name="scope">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string">

                                         <xs:enumeration value="global"/>

                                         <xs:enumeration value="project"/>

                                         <xs:enumeration value="organisation"/>

                                 </xs:restriction>

                         </xs:simpleType>

                 </xs:attribute>

                 <xs:attribute name="image" type="xs:string"/>

                 <xs:attribute name="hidden" type="xs:boolean"/>

                 <xs:attribute name="createpath"/>

                 <xs:attribute name="sortorder" type="xs:int"/>

                 <xs:attribute name="designonly" type="xs:boolean"/>

         </xs:complexType>

 </xs:element>

 <xs:element name="formdescriptor">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="setproperty" type="setpropertyType" minOccurs="0" maxOccurs="unbounded"/>

                         <xs:element name="content">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="field" type="fieldType" minOccurs="0" maxOccurs="unbounded"/>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

                 <xs:attribute name="description" type="xs:string"/>

                 <xs:attribute name="stylesheet" type="xs:string" use="required"/>

                 <xs:attribute name="template" type="xs:string" use="required"/>

         </xs:complexType>

 </xs:element>

 <xs:element name="module">

       <xs:annotation>

             <xs:documentation>Used in blocks, sections, types, widgets, etc</xs:documentation>

       </xs:annotation>

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="flavour" type="flavourType"

                                 minOccurs="0" maxOccurs="unbounded" />

                         <xs:element name="capability" type="capabilityType"

                                 minOccurs="0" maxOccurs="unbounded"/>

                         <xs:element name="property" type="propertyType"

                                 minOccurs="0" maxOccurs="unbounded" />

 

                         <xs:element name="fragment" type="fragmentType"

                                 minOccurs="0" maxOccurs="unbounded" />

                         <xs:element name="content" type="contentType"

                                 minOccurs="0" />

                         <xs:element name="starter-content" minOccurs="0">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="field" type="fieldType"

                                                         minOccurs="0" maxOccurs="unbounded" />

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

 

                 </xs:sequence>

                 <xs:attribute name="name" use="required">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string" />

                         </xs:simpleType>

                 </xs:attribute>

                 <xs:attribute name="extends" type="xs:string" />

                 <xs:attribute name="description" type="xs:string"

                         use="optional" />

                 <xs:attribute name="category">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string" />

                         </xs:simpleType>

                 </xs:attribute>

                 <xs:attribute name="label" type="xs:string" />

                 <xs:attribute name="wireframe" type="xs:string" />

                 <!-- TODO check if scope is still used -->

                 <xs:attribute name="scope">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string">

                                         <xs:enumeration value="global" />

                                         <xs:enumeration value="project" />

                                         <xs:enumeration value="organisation" />

                                         <xs:enumeration value="template" />

                                 </xs:restriction>

                         </xs:simpleType>

                 </xs:attribute>

                 <xs:attribute name="image" type="xs:string" />

                 <xs:attribute name="inheritfragments" type="xs:boolean" />

                 <xs:attribute name="content.xpath" type="xs:string"

                         use="optional" />

                 <xs:attribute name="hidden" type="xs:boolean" />

                 <xs:attribute name="createpath" />

                 <xs:attribute name="embeddable" type="xs:boolean"></xs:attribute>

                 <xs:attribute name="editable" type="xs:boolean"></xs:attribute>

                 <!-- TODO check if this is used -->

                 <xs:attribute name="compatibility">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string">

                                         <xs:enumeration value="pdf"/>

                                         <xs:enumeration value="html"/>

                                 </xs:restriction>

                         </xs:simpleType>

                 </xs:attribute>

                 <xs:attribute name="restrictParent" type="xs:string"/>

         </xs:complexType>

 </xs:element>

 <xs:element name="organisation">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="import" minOccurs="0">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="delete" maxOccurs="unbounded">

                                                         <xs:complexType>

                                                                 <xs:attribute name="organisation">

                                                                         <xs:simpleType>

                                                                                 <xs:restriction base="xs:string">

                                                                                         <xs:enumeration value="@"/>

                                                                                 </xs:restriction>

                                                                         </xs:simpleType>

                                                                 </xs:attribute>

                                                                 <xs:attribute name="type">

                                                                         <xs:simpleType>

                                                                                 <xs:restriction base="xs:string">

                                                                                         <xs:enumeration value="resource"/>

                                                                                         <xs:enumeration value="template"/>

                                                                                         <xs:enumeration value="organisation"/>

                                                                                 </xs:restriction>

                                                                         </xs:simpleType>

                                                                 </xs:attribute>

                                                                 <xs:attribute name="name" type="xs:string"/>

                                                         </xs:complexType>

                                                 </xs:element>

                                         </xs:sequence>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

                 <xs:attribute name="account" type="xs:string"/>

                 <xs:attribute name="name" type="xs:string" use="required"/>

                 <xs:attribute name="description" type="xs:string" use="required"/>

                 <xs:attribute name="versionMajor" type="xs:int" use="required"/>

                 <xs:attribute name="versionMinor" type="xs:int" use="required"/>

                 <xs:attribute name="productVersion" type="xs:int" use="required"/>

                 <xs:attribute name="automigrate" type="xs:boolean"/>

                 <xs:attribute name="type">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string">

                                         <xs:enumeration value="datapack"/>

                                         <xs:enumeration value="documentation"/>

                                         <xs:enumeration value="patch"/>

                                         <xs:enumeration value="organisation"/>

                                         <xs:enumeration value="release"/>

                                         <xs:enumeration value="servicepack"/>

                                 </xs:restriction>

                         </xs:simpleType>

                 </xs:attribute>

                 <xs:attribute name="release">

                         <xs:simpleType>

                                 <xs:restriction base="xs:string">

                                         <xs:enumeration value="3.3.0"/>

                                         <xs:enumeration value="3.4.0"/>

                                         <xs:enumeration value="3.6.0"/>

                                         <xs:enumeration value="4.0.0"/>

                                 </xs:restriction>

                         </xs:simpleType>

                 </xs:attribute>

         </xs:complexType>

 </xs:element>

 <xs:element name="property-categories">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="category" maxOccurs="unbounded">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="group" minOccurs="0" maxOccurs="unbounded">

                                                         <xs:complexType>

                                                                 <xs:attribute name="name" type="xs:string" use="required"/>

                                                                 <xs:attribute name="description" type="xs:string" use="required"/>

                                                                 <xs:attribute name="help" type="xs:string"/>

                                                                 <xs:attribute name="icon" type="xs:string"/>

                                                                 <xs:attribute name="sortorder" type="xs:int"/>

                                                         </xs:complexType>

                                                 </xs:element>

                                         </xs:sequence>

                                         <xs:attribute name="name" type="xs:string" use="required"/>

                                         <xs:attribute name="sortorder" type="xs:int"/>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

 <xs:element name="property-handlers">

         <xs:annotation>

                 <xs:documentation>Used in property-handlers.xml</xs:documentation>

         </xs:annotation>

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="tag" maxOccurs="unbounded">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="property" type="propertyType" minOccurs="0" maxOccurs="unbounded"/>

                                         </xs:sequence>

                                         <xs:attribute name="tag" type="xs:string" use="required"/>

                                         <xs:attribute name="flavour" use="required">

                                                 <xs:simpleType>

                                                         <xs:restriction base="xs:string">

                                                                 <xs:enumeration value="pdf"/>

                                                                 <xs:enumeration value="html"/>

                                                         </xs:restriction>

                                                 </xs:simpleType>

                                         </xs:attribute>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

 <xs:element name="property-types">

       <xs:annotation>

             <xs:documentation>Used in types.xml</xs:documentation>

       </xs:annotation>

       <xs:complexType>

                 <xs:sequence>

                         <xs:element name="type" minOccurs="0" maxOccurs="unbounded">

                                 <xs:complexType>

                                         <xs:choice maxOccurs="unbounded">

                                                 <xs:element name="allowpixels" type="booleanValueAttribute" minOccurs="0"/>

                                                 <xs:element name="blank" minOccurs="0">

                                                         <xs:complexType>

                                                                 <xs:attribute name="label" type="xs:string" use="required"/>

                                                         </xs:complexType>

                                                 </xs:element>

                                                 <xs:element name="choice" type="choiceType" minOccurs="0" maxOccurs="unbounded"/>

                                                 <xs:element name="editable" type="booleanValueAttribute" minOccurs="0"/>

                                                 <xs:element name="familyonly" type="booleanValueAttribute" minOccurs="0"/>

                                                 <xs:element name="floatfieldsupport" type="booleanValueAttribute" minOccurs="0"/>

                                                 <xs:element name="folder" type="stringValueAttribute" minOccurs="0"/>

                                                 <xs:element name="javascriptstring" type="booleanValueAttribute" minOccurs="0"/>

                                                 <xs:element name="mask" type="stringValueAttribute" minOccurs="0"/>

                                                 <xs:element name="resource" type="stringValueAttribute" minOccurs="0"/>

                                                 <xs:element name="restrict" minOccurs="0">

                                                         <xs:complexType>

                                                                 <xs:attribute name="types" type="xs:string" use="required"/>

                                                         </xs:complexType>

                                                 </xs:element>

                                                 <xs:element name="separator" type="stringValueAttribute" minOccurs="0"/>

                                                 <xs:element name="trailer" type="stringValueAttribute" minOccurs="0"/>

                                                 <xs:element name="trigger" type="typesTrigger" minOccurs="0"/>

                                                 <xs:element name="width" type="intValueAttribute" minOccurs="0"/>

                                         </xs:choice>

                                         <xs:attribute name="name" type="xs:string" use="required"/>

                                         <xs:attribute name="label" type="xs:string"/>

                                         <xs:attribute name="flexeditor" type="xs:string"/>

                                         <xs:attribute name="flexrenderer">

                                                 <xs:simpleType>

                                                         <xs:restriction base="xs:string">

                                                                 <xs:enumeration value="ChoiceRenderer"/>

                                                                 <xs:enumeration value="ListRenderer"/>

                                                         </xs:restriction>

                                                 </xs:simpleType>

                                         </xs:attribute>

                                 </xs:complexType>

                         </xs:element>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

 <xs:element name="skin">

         <xs:complexType>

                 <xs:choice minOccurs="0" maxOccurs="unbounded">

                         <xs:element name="module">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="property" type="propertyType" maxOccurs="unbounded"/>

                                         </xs:sequence>

                                         <xs:attribute name="name" type="xs:string"/>

                                 </xs:complexType>

                         </xs:element>

                         <xs:element name="style">

                                 <xs:complexType>

                                         <xs:sequence>

                                                 <xs:element name="setproperty" type="setpropertyType" maxOccurs="unbounded"/>

                                         </xs:sequence>

                                         <xs:attribute name="name" use="required"/>

                                 </xs:complexType>

                         </xs:element>

                 </xs:choice>

                 <xs:attribute name="name" type="xs:string" use="required" />

                 <xs:attribute name="label" type="xs:string" use="required" />

         </xs:complexType>

 </xs:element>

 <xs:element name="stylesheet">

         <xs:complexType>

                 <xs:choice minOccurs="0" maxOccurs="unbounded">

                         <xs:element name="alias" type="aliasType"/>

                         <xs:element name="style" type="styleType"/>

                         <xs:element name="styleset" type="stylesetType"/>

                 </xs:choice>

                 <xs:attribute name="name" type="xs:string"/>

                 <xs:attribute name="category" type="xs:string"/>

                 <xs:attribute name="label" type="xs:string"/>

         </xs:complexType>

 </xs:element>

 <xs:element name="xdp-elements">

         <xs:complexType>

                 <xs:sequence>

                         <xs:element name="xdp-element" type="xdp-elementType" maxOccurs="unbounded"/>

                 </xs:sequence>

         </xs:complexType>

 </xs:element>

 

 <xs:complexType name="aliasType">

         <xs:attribute name="type" type="xs:string"/>

         <xs:attribute name="replacedby" type="xs:string"/>

 </xs:complexType>

 <xs:complexType name="capabilityType">

         <xs:sequence>

                 <xs:element name="condition" type="conditionType" minOccurs="0" maxOccurs="unbounded"/>

         </xs:sequence>

         <xs:attribute name="if" type="conditionValue"/>

         <xs:attribute name="arg1" type="xs:string"/>

         <xs:attribute name="arg2" type="xs:string"/>

         <xs:attribute name="error" type="xs:string"/>

         <xs:attribute name="warning" type="xs:string"/>

         <xs:attribute name="provides" type="xs:string"/>

         <xs:attribute name="requires" type="xs:string"/>

 </xs:complexType>

 <xs:complexType name="choiceType">

         <xs:attribute name="display" type="xs:string" use="required"/>

         <xs:attribute name="value" type="xs:string" use="required"/>

         <xs:attribute name="isdefault" type="xs:boolean"/>

 </xs:complexType>

 <xs:attribute name="category">

         <xs:simpleType>

                 <xs:restriction base="xs:string">

                         <xs:enumeration value="Advanced" />

                         <xs:enumeration value="Data" />

                         <xs:enumeration value="General" />

                         <xs:enumeration value="Layout" />

                         <xs:enumeration value="Presentation" />

                         <xs:enumeration value="Rules" />

                         <xs:enumeration value="Script" />

                         <xs:enumeration value="Specification" />

                         <xs:enumeration value="Validation" />

                 </xs:restriction>

         </xs:simpleType>

 </xs:attribute>

   <xs:complexType name="conditionType">

         <xs:sequence minOccurs="0" maxOccurs="unbounded">

                 <xs:element name="condition" type="conditionType" />

         </xs:sequence>

         <xs:attribute name="if" use="required" type="conditionValue" />

         <xs:attribute name="arg2" type="xs:string" />

 </xs:complexType>

 <xs:simpleType name="conditionValue">

         <xs:restriction base="xs:string">

                 <xs:enumeration value="And"/>

                 <xs:enumeration value="Blank"/>

                 <xs:enumeration value="Equals"/>

                 <xs:enumeration value="False"/>

                 <xs:enumeration value="Flavour"/>

                 <xs:enumeration value="InstanceOf"/>

                 <xs:enumeration value="NotBlank"/>

                 <xs:enumeration value="NotEquals"/>

                 <xs:enumeration value="NotInstanceOf"/>

                 <xs:enumeration value="Or"/>

                 <xs:enumeration value="Requires"/>

                 <xs:enumeration value="Target"/>

                 <xs:enumeration value="True"/>

                 

                 <xs:enumeration value="GreaterThan"/>

                 <xs:enumeration value="HasChildren"/>

                 <xs:enumeration value="LessThan"/>

                 <xs:enumeration value="PageBreakAllowed"/>

                 <xs:enumeration value="XfaVersionAtLeast"/>

                 <xs:enumeration value="XfaVersionBefore"/>

         </xs:restriction>

 </xs:simpleType>

 <xs:complexType name="contentType">

         <xs:sequence>

                 <xs:element name="field" type="fieldType" minOccurs="0"

                         maxOccurs="unbounded" />

         </xs:sequence>

         <xs:attribute name="destxpath" type="xs:string" />

         <xs:attribute name="allowChildren" type="xs:boolean" />

         <xs:attribute name="uiContent" type="xs:string" />

         <xs:attribute name="restrictContent" type="xs:string" />

 </xs:complexType>

 <xs:complexType name="elementType">

         <xs:choice minOccurs="0" maxOccurs="unbounded">

                 <xs:element name="setproperty" type="setpropertyType"/>

                 <xs:element name="property" type="propertyType"/>

         </xs:choice>

         <xs:attribute name="xpath" use="required">

                 <xs:simpleType>

                         <xs:restriction base="xs:string" />

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="type">

                 <xs:simpleType>

                         <xs:restriction base="xs:string" />

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="bubble-properties" type="xs:boolean"

                 use="optional" />

 </xs:complexType>

 <xs:complexType name="fieldType">

         <xs:sequence>

                 <xs:element name="condition" type="conditionType"

                         minOccurs="0" maxOccurs="unbounded" />

                 <xs:element name="setproperty" type="setpropertyType"

                         minOccurs="0" maxOccurs="unbounded" />

                 <xs:element name="field" type="fieldType" minOccurs="0"

                         maxOccurs="unbounded" />

         </xs:sequence>

         <xs:attribute name="name" type="xs:string" use="required" />

         <xs:attribute name="type" type="xs:string" use="required" />

         <xs:attribute name="hidden" type="xs:boolean" />

         <xs:attribute name="styles" />

         <xs:attribute name="visibility">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="advanced" />

                                 <xs:enumeration value="hidden" />

                                 <xs:enumeration value="normal" />

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="repeatable" type="xs:boolean" />

         <xs:attribute name="if" type="conditionValue"/>

         <xs:attribute name="arg1" type="xs:string"/>

         <xs:attribute name="arg2" type="xs:string"/>

         <!-- Internal Masterpage is these only place this are used -->

         <xs:attribute name="destxpath" type="xs:string"/>

         <xs:attribute name="existing" type="xs:string"/>

 </xs:complexType>

 <xs:complexType name="flavourType">

         <xs:attribute name="name">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="pdf"/>

                                 <xs:enumeration value="html"/>

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="contentpath" type="xs:string"/>

         <xs:attribute name="parentpath" type="xs:string"/>

         <xs:attribute name="generate" type="xs:string"/>

         <xs:attribute name="inheritfragments" type="xs:boolean"/>

 </xs:complexType>

 <xs:complexType name="fragmentType">

                 <xs:choice minOccurs="0" maxOccurs="unbounded">

<!--

                         <xs:element name="shared-handler" type="handlerType"/>

-->

                         <xs:element name="condition" type="conditionType"/>

                         <xs:element name="html-handler" type="handlerType"/>

                         <xs:element name="xdp-handler" type="handlerType"/>

                 <xs:element name="element" type="elementType" />

                 </xs:choice>

         <xs:attribute name="flavour" use="required">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="pdf" />

                                 <xs:enumeration value="html" />

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="file">

                 <xs:simpleType>

                         <xs:restriction base="xs:string" />

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="srcxpath">

                 <xs:simpleType>

                         <xs:restriction base="xs:string" />

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="destxpath">

                 <xs:simpleType>

                         <xs:restriction base="xs:string" />

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="setname">

                 <xs:simpleType>

                         <xs:restriction base="xs:string" />

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="if">

                 <xs:annotation>

                         <xs:documentation>TODO assign to list of operators

                         </xs:documentation>

                 </xs:annotation>

         </xs:attribute>

         <xs:attribute name="arg1" type="xs:string" />

         <xs:attribute name="arg2" type="xs:string" />

         <xs:attribute name="base" type="xs:boolean" />

         <xs:attribute name="createpath" type="xs:boolean" />

 </xs:complexType>

 <xs:complexType name="handlerType" mixed="true">

         <xs:sequence minOccurs="0" maxOccurs="unbounded">

                 <xs:element name="condition" type="conditionType"

                         minOccurs="0" maxOccurs="unbounded" />

                 <xs:element name="param" type="paramType" minOccurs="0"

                         maxOccurs="unbounded" />

         </xs:sequence>

         <xs:attribute name="removeall" type="xs:boolean" />

         <xs:attribute name="javaclass">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <!-- common -->

                                 <xs:enumeration value="AddDependency" />

                                 <xs:enumeration value="AddFieldProperty" />

                                 <xs:enumeration value="AddLibrary" />

                                 <xs:enumeration value="AddListener" />

                                 <xs:enumeration value="AddState" />

                                 <xs:enumeration value="AddVariable" />

                                 <xs:enumeration value="AppendAttribute" />

                                 <xs:enumeration value="AppendElementContent" />

                                 <xs:enumeration value="ConvertDatePictureClause" />

                                 <xs:enumeration value="ChangeElementTag" /><!-- not in common but one of each exists -->

                                 <xs:enumeration value="CreateAttributedElement" />

                                 <xs:enumeration value="CreateChildElements" />

                                 <xs:enumeration value="CreateElements" />

                                 <xs:enumeration value="CreateExternalResource" />

                                 <xs:enumeration value="CreateFormScript" />

                                 <xs:enumeration value="CreateRuleScript" /><!-- not in common but one of each exists -->

                                 <xs:enumeration value="EmbedDocument" />

                                 <xs:enumeration value="GenerateSequence" />

                                 <xs:enumeration value="MoveElement" />

                                 <xs:enumeration value="MultiplyAttributes" />

                                 <xs:enumeration value="RemoveAttributes" />

                                 <xs:enumeration value="RemoveElements" />

                                 <xs:enumeration value="StoreKey" />

                                 <xs:enumeration value="SumAttributes" />

                                 <xs:enumeration value="SwapAttributes" />

                                 <xs:enumeration value="SwapElements" />

                                 <xs:enumeration value="UpdateAttributeFromResource" />

                                 <xs:enumeration value="UpdateAttributes" />

                                 <xs:enumeration value="UpdateAttributesFromList" />

                                 <xs:enumeration value="UpdateBinding" /><!-- not in common but one of each exists -->

                                 <xs:enumeration value="UpdateDimension" /><!-- not in common but one of each exists -->

                                 <xs:enumeration value="UpdateEdgePattern" /><!-- not in common but one of each exists -->

                                 <xs:enumeration value="UpdateElementChildren" />

                                 <xs:enumeration value="UpdateElementContent" />

                                 <xs:enumeration value="UpdateElementsFromFile" />

                                 <xs:enumeration value="UpdateElementsFromResource" />

                                 <xs:enumeration value="UpdateFillContainer" />

                                 <xs:enumeration value="UpdateFont" /><!-- not in common but one of each exists -->

                                 <xs:enumeration value="UpdateMimeType" />

                                 <!-- html -->

                                 <xs:enumeration value="AddResourceToArchive" />

                                 <xs:enumeration value="AddScriptToArchive" />

                                 <xs:enumeration value="ApplyGradient" />

                                 <xs:enumeration value="CreateFormCSS" />

                                 <xs:enumeration value="CreateResponsiveRule" />

                                 <xs:enumeration value="CreateScriptElement" />

                                 <xs:enumeration value="SelectOptions" />

                                 <xs:enumeration value="UpdateAlignment" />

                                 <xs:enumeration value="UpdateBlockAlignment" />

                                 <xs:enumeration value="UpdateButtonIcon" />

                                 <xs:enumeration value="UpdateButtonTheme" />

                                 <xs:enumeration value="UpdateCaption" />

                                 <xs:enumeration value="UpdateClass" />

                                 <xs:enumeration value="UpdateCorners" />

                                 <xs:enumeration value="UpdateDecimalFormat" />

                                 <xs:enumeration value="UpdateElementFill" />

                                 <xs:enumeration value="UpdateHeight" />

                                 <xs:enumeration value="UpdateLayoutData" />

                                 <xs:enumeration value="UpdateMultiValueAttribute" />

                                 <xs:enumeration value="UpdatePadding" />

                                 <xs:enumeration value="UpdatePlaceholder" />

                                 <xs:enumeration value="UpdateRawStyle" />

                                 <xs:enumeration value="UpdateResponsiveLayout" />

                                 <xs:enumeration value="UpdateRowColors" />

                                 <xs:enumeration value="UpdateStyle" />

                                 <xs:enumeration value="UpdateTextDirection" />

                                 <xs:enumeration value="UpdateTransient" />

                                 <!-- pdf -->

                                 <xs:enumeration value="AppendListProperty" />

                                 <xs:enumeration value="CreateNamedActivityScript" />

                                 <xs:enumeration value="DropDownListHandler" />

                                 <xs:enumeration value="DynamicCombCount" />

                                 <xs:enumeration value="HideIfBlank" />

                                 <xs:enumeration value="RemoveCaption" />

                                 <xs:enumeration value="SetProperty" />

                                 <xs:enumeration value="UpdateCornerPattern" />

                                 <xs:enumeration value="UpdateExpandToFit" />

                                 <xs:enumeration value="UpdateFillContainer" />

                                 <xs:enumeration value="UpdateLayout" />

                                 <xs:enumeration value="UpdateMargin" />

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="if" type="conditionValue"/>

         <xs:attribute name="arg1" type="xs:string" />

         <xs:attribute name="arg2" type="xs:string" />

         <xs:attribute name="defer" type="xs:boolean" />

 </xs:complexType>

 <xs:complexType name="paramType" mixed="true">

         <xs:attribute name="path" type="xs:string" />

         <xs:attribute name="value" type="xs:string" />

         <xs:attribute name="name">

                 <xs:simpleType>

                         <xs:restriction base="xs:string" />

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="createpath" type="xs:boolean" />

         <xs:attribute name="options" type="xs:string" />

 </xs:complexType>

 

         <xs:complexType name="propertyType" mixed="true">

                 <xs:choice minOccurs="0" maxOccurs="unbounded">

                         <xs:element name="shared-handler" type="handlerType"/>

                         <xs:element name="html-handler" type="handlerType"/>

                         <xs:element name="xdp-handler" type="handlerType"/>

                 </xs:choice>

         <xs:attribute name="name" type="xs:string" use="required" />

         <xs:attribute name="value" type="xs:string" />

               <xs:attribute name="category" type="xs:string">

<!--

                       <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="Advanced" />

                                 <xs:enumeration value="Accessibility" />

                                 <xs:enumeration value="Custom Styling" />

                                 <xs:enumeration value="Data" />

                                 <xs:enumeration value="General" />

                                 <xs:enumeration value="Layout" />

                                 <xs:enumeration value="Presentation" />

                                 <xs:enumeration value="Rules" />

                                 <xs:enumeration value="Script" />

                                 <xs:enumeration value="Specification" />

                                 <xs:enumeration value="Validation" />

                         </xs:restriction>

                 </xs:simpleType>

-->

         </xs:attribute>

 

         <xs:attribute name="label" type="xs:string" />

         <xs:attribute name="type">

                 <xs:simpleType>

                         <xs:restriction base="xs:string" />

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="if" type="conditionValue"/>

         <xs:attribute name="createpattern" type="xs:string" />

         <xs:attribute name="visibility">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="advanced" />

                                 <xs:enumeration value="normal" />

                                 <xs:enumeration value="hidden" />

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="group" type="xs:string"/>

         <xs:attribute name="metadata" type="xs:string"/>

         <xs:attribute name="editwith" type="xs:string" />

         <xs:attribute name="localizable" type="xs:boolean" />

         <xs:attribute name="key" type="xs:string" />

         <xs:attribute name="accesslevel">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="default" />

                                 <xs:enumeration value="protected" />

                                 <xs:enumeration value="final" />

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

 </xs:complexType>

 <xs:complexType name="setpropertyType" mixed="true">

         <xs:sequence>

                 <xs:element name="expression" minOccurs="0" maxOccurs="1">

                         <xs:complexType>

                                 <xs:sequence>

                                         <xs:element name="term">

                                                 <xs:complexType>

                                                         <xs:attribute name="arg1" type="xs:string"/>

                                                         <xs:attribute name="arg2" type="xs:string"/>

                                                         <xs:attribute name="operation">

                                                                 <xs:simpleType>

                                                                         <xs:restriction base="xs:string">

                                                                                 <!-- TODO check valid values -->

                                                                                 <xs:enumeration value="!="/>

                                                                                 <xs:enumeration value="=="/>

                                                                         </xs:restriction>

                                                                 </xs:simpleType>

                                                         </xs:attribute>

                                                         <xs:attribute name="type">

                                                                 <xs:simpleType>

                                                                         <xs:restriction base="xs:string">

                                                                                 <xs:enumeration value="string"/>

                                                                         </xs:restriction>

                                                                 </xs:simpleType>

                                                         </xs:attribute>

                                                 </xs:complexType>

                                         </xs:element>

                                 </xs:sequence>

                                 <xs:attribute name="join">

                                         <xs:simpleType>

                                                 <xs:restriction base="xs:string">

                                                         <xs:enumeration value="and"/>

                                                         <xs:enumeration value="or"/>

                                                 </xs:restriction>

                                         </xs:simpleType>

                                 </xs:attribute>

                                 <xs:attribute name="type">

                                         <xs:simpleType>

                                                 <xs:restriction base="xs:string">

                                                         <!-- TODO check valid values -->

                                                         <xs:enumeration value="boolean"/>

                                                 </xs:restriction>

                                         </xs:simpleType>

                                 </xs:attribute>

                         </xs:complexType>

                 </xs:element>

         </xs:sequence>

         <xs:attribute name="name" type="xs:string" use="required" />

         <xs:attribute name="value" type="xs:string" />

         <!--

                 <xs:attribute name="category">

                 <xs:simpleType>

                 <xs:restriction base="xs:string">

                 <xs:enumeration value="Advanced" />

                 <xs:enumeration value="Data" />

                 <xs:enumeration value="General" />

                 <xs:enumeration value="Layout" />

                 <xs:enumeration value="Presentation" />

                 <xs:enumeration value="Rules" />

                 <xs:enumeration value="Script" />

                 <xs:enumeration value="Specification" />

                 <xs:enumeration value="Validation" />

                 </xs:restriction>

                 </xs:simpleType>

                 </xs:attribute>

         -->

         <xs:attribute name="visibility">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="advanced" />

                                 <xs:enumeration value="normal" />

                                 <xs:enumeration value="hidden" />

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

         <xs:attribute name="key" type="xs:string" />

                         <xs:attribute name="accesslevel">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="default" />

                                 <xs:enumeration value="protected" />

                                 <xs:enumeration value="final" />

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

 </xs:complexType>

 <xs:complexType name="styleType">

         <xs:sequence>

                 <xs:element name="setproperty" type="setpropertyType" minOccurs="0" maxOccurs="unbounded"/>

         </xs:sequence>

         <xs:attribute name="name" type="xs:string"/>

         <xs:attribute name="description" type="xs:string"/>

         <xs:attribute name="fortypes" type="xs:string"/>

         <xs:attribute name="parenttype" type="xs:string"/>

         <xs:attribute name="type" type="xs:string"/>

 </xs:complexType>

 <xs:complexType name="stylesetType">

         <xs:sequence>

                 <xs:element name="styleref" minOccurs="0" maxOccurs="unbounded">

                         <xs:complexType>

                                 <xs:attribute name="name" type="xs:string"/>

                                 <xs:attribute name="label" type="xs:string"/>

                                 <xs:attribute name="default" type="xs:boolean"/>

                         </xs:complexType>

                 </xs:element>

         </xs:sequence>

         <xs:attribute name="name" type="xs:string"/>

         <xs:attribute name="label" type="xs:string"/>

         <xs:attribute name="fortypes" type="xs:string"/>

 </xs:complexType>

 <xs:complexType name="technologiesTypes">

         <xs:sequence>

                 <xs:element name="technology" maxOccurs="unbounded">

                         <xs:complexType>

                                 <xs:attribute name="flavour" type="xs:string" use="required"/>

                                 <xs:attribute name="image" type="xs:string" use="required"/>

                                 <xs:attribute name="label" type="xs:string" use="required"/>

                                 <xs:attribute name="name" type="xs:string" use="required"/>

                                 <xs:attribute name="output-file" type="xs:string" use="required"/>

                                 <xs:attribute name="skin" type="xs:string" use="required"/>

                                 <xs:attribute name="target" type="xs:string" use="required"/>

                                 <xs:attribute name="template-archive" type="xs:string" use="required"/>

                                 <xs:attribute name="template-file" type="xs:string" use="required"/>

                         </xs:complexType>

                 </xs:element>

         </xs:sequence>

 </xs:complexType>

 <xs:complexType name="variantsTypes">

         <xs:sequence>

                 <xs:element name="variant" maxOccurs="unbounded">

                         <xs:complexType>

                                 <xs:sequence>

                                         <xs:element name="stylesheet" minOccurs="0">

                                                 <xs:complexType>

                                                         <xs:attribute name="name" type="xs:string"/>

                                                         <xs:attribute name="category" type="xs:string"/>

                                                 </xs:complexType>

                                         </xs:element>

                                 </xs:sequence>

                                 <xs:attribute name="default" type="xs:string"/>

                                 <xs:attribute name="label" type="xs:string" use="required"/>

                                 <xs:attribute name="name" type="xs:string" use="required"/>

                                 <xs:attribute name="technologies" type="xs:string" use="required"/>

                         </xs:complexType>

                 </xs:element>

         </xs:sequence>

 </xs:complexType>

 <xs:complexType name="typesTrigger">

         <xs:attribute name="value" type="xs:string" use="required"/>

         <xs:attribute name="display" type="xs:string" use="required"/>

         <xs:attribute name="isdefault" type="xs:boolean"/>

 </xs:complexType>

 <xs:complexType name="xdp-elementType">

         <xs:sequence>

                 <xs:element name="property" type="propertyType" maxOccurs="unbounded"/>

         </xs:sequence>

         <xs:attribute name="tag" use="required">

                 <xs:simpleType>

                         <xs:restriction base="xs:string">

                                 <xs:enumeration value="dd:dataDescription"/>

                                 <xs:enumeration value="draw"/>

                                 <xs:enumeration value="exclGroup"/>

                                 <xs:enumeration value="field"/>

                                 <xs:enumeration value="script"/>

                                 <xs:enumeration value="subform"/>

                                 <xs:enumeration value="text"/>

                                 <xs:enumeration value="wsdlConnection"/>

                                 <xs:enumeration value="xsdConnection"/>

                         </xs:restriction>

                 </xs:simpleType>

         </xs:attribute>

 </xs:complexType>

 

 <xs:complexType name="booleanValueAttribute">

         <xs:attribute name="value" type="xs:boolean" use="required"/>

 </xs:complexType>

 <xs:complexType name="stringValueAttribute">

         <xs:attribute name="value" type="xs:string" use="required"/>

 </xs:complexType>

 <xs:complexType name="intValueAttribute">

         <xs:attribute name="value" type="xs:int" use="required"/>

 </xs:complexType>

 
</xs:schema>

Help URL: https://composer.business.gov.au/composer/doc/index.html?template_schema.htm