JezK
Edit File: option.xsd
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:include schemaLocation="types.xsd" /> <xsd:simpleType name="optionTypes"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="enum" /> <xsd:enumeration value="bool" /> <xsd:enumeration value="int" /> <xsd:enumeration value="float" /> <xsd:enumeration value="string" /> <xsd:enumeration value="password" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="optionID"> <xsd:restriction base="xsd:string"> <xsd:pattern value="opt/[a-zA-Z0-9]([a-zA-Z0-9_\.-])*" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="evalID"> <xsd:restriction base="xsd:string"> <xsd:pattern value="ev/[a-zA-Z0-9]([a-zA-Z0-9_\.-])*"> </xsd:pattern> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="constraintData"> <xsd:all> <xsd:element name="make" type="xsd:string" minOccurs="0" /> <xsd:element name="model" type="xsd:string" minOccurs="0" /> <xsd:element name="driver" type="xsd:string" minOccurs="0" /> <xsd:element name="printer" type="xsd:string" minOccurs="0" /> <xsd:element name="arg_defval" type="xsd:string" minOccurs="0" /> </xsd:all> <xsd:attribute name="sense" type="xsd:boolean" /> </xsd:complexType> <xsd:element name="option"> <xsd:complexType> <xsd:all> <xsd:element name="arg_longname" type="i18nString" /> <xsd:element name="arg_shortname" type="i18nString" /> <xsd:element name="arg_execution"> <xsd:complexType> <xsd:all> <xsd:element name="arg_group" type="xsd:string" minOccurs="0" /> <xsd:element name="arg_order" type="xsd:int" minOccurs="0" /> <xsd:element name="arg_section" type="xsd:string" minOccurs="0" /> <xsd:element name="arg_spot" minOccurs="0"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:pattern value="[a-zA-Z]" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="arg_required" minOccurs="0"> <xsd:complexType /> </xsd:element> <xsd:element name="arg_substitution" minOccurs="0"> <xsd:complexType /> </xsd:element> <xsd:element name="arg_postscript" minOccurs="0"> <xsd:complexType /> </xsd:element> <xsd:element name="arg_pjl" minOccurs="0"> <xsd:complexType /> </xsd:element> <xsd:element name="arg_composite" minOccurs="0"> <xsd:complexType /> </xsd:element> <xsd:element name="arg_forced_composite" minOccurs="0"> <xsd:complexType /> </xsd:element> <xsd:element name="arg_proto" type="xsd:string" minOccurs="0"/> </xsd:all> </xsd:complexType> </xsd:element> <xsd:element name="constraints" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="constraint" type="constraintData" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="comments" type="i18nString" minOccurs="0" /> <xsd:element name="arg_max" type="xsd:float" minOccurs="0" /> <xsd:element name="arg_min" type="xsd:float" minOccurs="0" /> <xsd:element name="arg_shortname_false" type="i18nString" minOccurs="0" /> <xsd:element name="arg_maxlength" type="xsd:int" minOccurs="0" /> <xsd:element name="arg_allowedchars" type="xsd:string" minOccurs="0" /> <xsd:element name="arg_allowedregexp" type="xsd:string" minOccurs="0" /> <xsd:element name="enum_vals" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="enum_val" maxOccurs="unbounded"> <xsd:complexType> <xsd:all> <xsd:element name="ev_longname" type="i18nString" /> <xsd:element name="ev_shortname" type="i18nString" /> <xsd:element name="ev_driverval" type="xsd:string" /> <xsd:element name="comments" type="i18nString" minOccurs="0" /> <xsd:element name="constraints" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="constraint" type="constraintData" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="id" type="evalID" use="required" /> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:all> <xsd:attribute name="type" type="optionTypes" use="required" /> <xsd:attribute name="id" type="optionID" use="required" /> </xsd:complexType> </xsd:element> </xsd:schema>