|
||
<?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