paramtemplates.xml 2.73 KB
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

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

  <xs:complexType name="ArgumentType">
    <xs:sequence>
      <xs:element name="item" type="ArgumentItemType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="key" type="xs:string" use="required"/>
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="type" use="required">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="list" />
          <xs:enumeration value="generated-list" />
          <xs:enumeration value="date" />
          <xs:enumeration value="float" />
          <xs:enumeration value="string" />
          <xs:enumeration value="int" />
          <xs:enumeration value="bool" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="subtype" use="optional">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="float" />
          <xs:enumeration value="string" />
          <xs:enumeration value="int" />
          <xs:enumeration value="bool" />
        </xs:restriction>
      </xs:simpleType>
    </xs:attribute>
    <xs:attribute name="default" type="xs:string" use="required"/>
    <xs:attribute name="minkey" type="xs:integer" use="optional"/>
    <xs:attribute name="maxkey" type="xs:integer" use="optional"/>
    <xs:attribute name="nametpl" type="xs:string" use="optional"/>
  </xs:complexType>

  <xs:complexType  name="ParamTemplateType">
    <xs:sequence>
      <xs:element name="arguments">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="argument" type="ArgumentType" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="predefined" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="param" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="paramId" type="xs:string" use="required"/>
    <xs:attribute name="fileName" type="xs:string" use="required"/>
  </xs:complexType>

  <xs:element name="paramTemplateList">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="paramTemplate" type="ParamTemplateType" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:ID" use="required"/>
    </xs:complexType>
  </xs:element>

</xs:schema>