configurationengine/doc/xsd/confml2.xsd
changeset 5 d2c80f5cab53
parent 3 e7e0ae78773e
equal deleted inserted replaced
4:0951727b8815 5:d2c80f5cab53
     1 <?xml version="1.0" encoding="utf-8"?>
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.s60.com/xml/confml/2" 
     2 <xs:schema xmlns:tns="http://www.s60.com/xml/confml/2"
     3     xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" 
     3            xmlns:xs="http://www.w3.org/2001/XMLSchema"
     4     targetNamespace="http://www.s60.com/xml/confml/2" elementFormDefault="qualified" 
     4            xmlns:xlink="http://www.w3.org/1999/xlink"
     5     attributeFormDefault="unqualified">
     5            xmlns:xi="http://www.w3.org/2001/XInclude"
     6     <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd" id="xlink"/>
     6            xmlns:xml="http://www.w3.org/XML/1998/namespace"
     7     <xs:import namespace="http://www.w3.org/2001/XMLSchema" schemaLocation="XMLSchema.xsd" id="xs"/>
     7            targetNamespace="http://www.s60.com/xml/confml/2"
     8     <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" id="xml"/>
     8            elementFormDefault="qualified"
     9     <xs:element name="configuration" type="tns:configurationType"/>
     9            attributeFormDefault="unqualified">
    10     <xs:element name="meta" type="tns:metaType"/>
    10   <xs:import namespace="http://www.w3.org/2001/XMLSchema"
    11     <xs:element name="desc" type="tns:descType"/>
    11              id="xs" />
    12     <xs:element name="icon" type="tns:iconType"/>
    12   <xs:import namespace="http://www.w3.org/1999/xlink"
    13     <xs:element name="view" type="tns:viewType"/>
    13              id="xlink" />
    14     <xs:element name="group" type="tns:groupType"/>
    14   <xs:import namespace="http://www.w3.org/2001/XInclude"
    15     <xs:element name="feature" type="tns:featureType"/>
    15              id="xi" />
    16     <xs:element name="setting" type="tns:settingType"/>
    16   <xs:import namespace="http://www.w3.org/XML/1998/namespace"
    17     <xs:element name="data" type="tns:dataType"/>
    17              id="xml" />
    18     <xs:element name="rfs" type="tns:rfsType"/>
    18   <xs:element name="configuration"
    19     <xs:element name="link" type="tns:linkType"/>
    19               type="tns:configurationType" />
    20     <xs:element name="option" type="tns:optionType"/>
    20   <xs:element name="meta"
    21     <xs:element name="property" type="tns:propertyType"/>
    21               type="tns:metaType" />
    22     <xs:element name="localPath" type="tns:pathType"/>
    22   <xs:element name="desc"
    23     <xs:element name="targetPath" type="tns:pathType"/>
    23               type="tns:descType" />
    24     <xs:complexType name="configurationType">
    24   <xs:element name="icon"
    25         <xs:choice minOccurs="0" maxOccurs="unbounded">
    25               type="tns:iconType" />
    26 			<xs:element ref="tns:meta" maxOccurs="1"/>
    26   <xs:element name="view"
    27 			<xs:element ref="tns:desc"/>
    27               type="tns:viewType" />
    28 			<xs:element ref="tns:icon"/>
    28   <xs:element name="group"
    29 			<xs:element ref="tns:view"/>
    29               type="tns:groupType" />
    30 			<xs:element ref="tns:feature"/>
    30   <xs:element name="feature"
    31 			<xs:element ref="tns:link"/>
    31               type="tns:featureType" />
    32 			<xs:element ref="tns:data" maxOccurs="1"/>
    32   <xs:element name="setting"
    33 			<xs:element ref="tns:rfs" maxOccurs="1"/>
    33               type="tns:settingType" />
    34 			<xs:element ref="tns:configuration"/>
    34   <xs:element name="data"
    35 			<!-- !!!TBD check if including xs:include as an element is right thing to do 
    35               type="tns:dataType" />
    36 				If so, add also note that e.g. xpointer is not supported (by most of the tools)
    36   <xs:element name="rfs"
    37 			-->
    37               type="tns:rfsType" />
    38 			<xs:element ref="xs:include" minOccurs="0" maxOccurs="unbounded"/>
    38   <xs:element name="link"
    39 		</xs:choice>
    39               type="tns:linkType" />
    40         <xs:attribute name="version" use="required">
    40   <xs:element name="option"
    41             <xs:simpleType>
    41               type="tns:optionType" />
    42                 <xs:restriction base="xs:token">
    42   <xs:element name="property"
    43                     <!-- This regexp matches versions declared as x.y[.z] --> 
    43               type="tns:propertyType" />
    44 					<xs:pattern value="[0-9]{1,3}\.[0-9]{1,3}(\.[0-9]{0,3})?"/>
    44   <xs:element name="localPath"
    45                 </xs:restriction>
    45               type="tns:pathType" />
    46             </xs:simpleType>
    46   <xs:element name="targetPath"
    47         </xs:attribute>
    47               type="tns:pathType" />
    48         <xs:attribute name="name" type="xs:token"/>
    48   <xs:element name="extensions"
    49         <xs:attributeGroup ref="tns:CommonAttrs"/>
    49               type="tns:extensionsType" />
    50         <!-- allow xml:base for xinclude -->
    50   <xs:complexType name="extensionsType">
    51         <xs:attribute ref="xml:base"/>
    51     <xs:choice minOccurs="0"
    52     </xs:complexType>
    52                maxOccurs="unbounded">
    53     <xs:complexType name="metaType">
    53       <xs:any namespace="##other"
    54         <xs:all>
    54               processContents="skip"
    55 			<xs:element name="id" type="tns:idType" minOccurs="0"/>
    55               minOccurs="0"
    56             <xs:element name="date" type="tns:dateType" minOccurs="0"/>
    56               maxOccurs="unbounded" />
    57             <xs:element name="owner" type="tns:ownerType" minOccurs="0"/>
    57     </xs:choice>
    58             <xs:element name="editor" type="tns:editorType" minOccurs="0"/>
    58     <xs:attributeGroup ref="tns:CommonAttrs" />
    59             <xs:element name="status" type="tns:statusType" minOccurs="0"/>
    59   </xs:complexType>
    60             <xs:element name="version" type="tns:versionType" minOccurs="0"/>
    60   <xs:complexType name="configurationType">
    61             <xs:element name="platform" type="tns:platformType" minOccurs="0"/>
    61     <xs:choice minOccurs="0"
    62             <xs:element name="product" type="tns:productType" minOccurs="0"/>
    62                maxOccurs="unbounded">
    63             <xs:element name="release" type="tns:releaseType" minOccurs="0"/>
    63       <xs:element ref="tns:meta"
    64             <xs:element name="customer" type="tns:customerType" minOccurs="0"/>
    64                   maxOccurs="1" />
    65             <xs:element name="origin" type="tns:originType" minOccurs="0"/>
    65       <xs:element ref="tns:desc" />
    66             <xs:element name="target" type="tns:targetType" minOccurs="0"/>
    66       <xs:element ref="tns:icon" />
    67             <xs:element name="desc" type="tns:descType" minOccurs="0"/>
    67       <xs:element ref="tns:view" />
    68             <xs:element name="icon" type="tns:iconType" minOccurs="0"/>
    68       <xs:element ref="tns:feature" />
    69             <xs:element ref="tns:link" minOccurs="0"/>
    69       <xs:element ref="tns:link" />
    70         </xs:all>
    70       <xs:element ref="tns:data"
    71     </xs:complexType>
    71                   maxOccurs="1" />
    72     <xs:complexType name="descType" mixed="true">
    72       <xs:element ref="tns:rfs"
    73         <xs:attribute ref="xlink:href"/>
    73                   maxOccurs="1" />
    74         <xs:attribute ref="xlink:title"/>
    74       <xs:element ref="tns:configuration" />
    75         <xs:attributeGroup ref="tns:CommonAttrs"/>
    75       <xs:element ref="xi:include" />
    76     </xs:complexType>
    76       <xs:element ref="tns:extensions" />
    77     <xs:complexType name="iconType">
    77     </xs:choice>
    78         <xs:attribute ref="xlink:href" use="optional"/>
    78     <xs:attribute name="version"
    79         <xs:attribute ref="xlink:title"/>
    79                   use="required">
    80         <xs:attributeGroup ref="tns:CommonAttrs"/>
    80       <xs:simpleType>
    81     </xs:complexType>
    81         <xs:restriction base="xs:token">
    82     <xs:complexType name="linkType">
    82           <xs:pattern value="[0-9]{1,3}\.[0-9]{1,3}(\.[0-9]{1,3})?" />
    83         <xs:attribute ref="xlink:href" use="optional"/>
    83           <!-- This regexp matches versions declared as x.y[.z] -->
    84         <xs:attribute ref="xlink:title"/>
       
    85         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
    86     </xs:complexType>
       
    87     <xs:complexType name="propertyType">
       
    88 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
    89 			<xs:element ref="tns:desc"/>
       
    90 			<xs:element ref="tns:icon"/>
       
    91 			<xs:element ref="tns:link"/>
       
    92 		</xs:choice>
       
    93         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
    94         <xs:attribute name="name" type="xs:token" use="optional"/>
       
    95         <xs:attribute name="value" type="xs:string" use="optional"/>
       
    96         <xs:attribute name="unit" type="xs:token"/>
       
    97     </xs:complexType>
       
    98     <xs:complexType name="settingType">
       
    99 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   100 			<xs:element ref="tns:desc"/>
       
   101 			<xs:element ref="tns:icon"/>
       
   102 			<xs:element ref="tns:link"/>
       
   103 			<xs:element ref="tns:option"/>
       
   104 			<xs:element ref="tns:property"/>
       
   105 			<xs:element ref="tns:setting"/>
       
   106 			<xs:element ref="tns:localPath"/>
       
   107 			<xs:element ref="tns:targetPath"/>
       
   108 			<xs:element ref="xs:pattern"/>
       
   109 			<xs:element ref="xs:minInclusive"/>
       
   110 			<xs:element ref="xs:maxInclusive"/>
       
   111 			<xs:element ref="xs:minExclusive"/>
       
   112 			<xs:element ref="xs:maxExclusive"/>
       
   113 			<xs:element ref="xs:length"/>
       
   114 			<xs:element ref="xs:minLength"/>
       
   115 			<xs:element ref="xs:maxLength"/>
       
   116 			<xs:element ref="xs:totalDigits"/>
       
   117 		</xs:choice>
       
   118         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
   119         <xs:attribute name="relevant" type="xs:token" default="true"/>
       
   120         <xs:attribute name="constraint" type="xs:token" default="true"/>
       
   121         <xs:attribute name="readOnly" type="xs:boolean" default="false"/>
       
   122         <xs:attribute name="name" type="xs:string"/>
       
   123         <xs:attribute name="type" type="tns:typeType"/>
       
   124         <xs:attribute name="ref" type="xs:NCName"/>
       
   125         <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" default="0"/>
       
   126         <xs:attribute name="maxOccurs" type="xs:NMTOKEN" default="unbounded"/>
       
   127         <xs:attribute name="displayName" type="xs:string"/>
       
   128         <xs:attribute name="mapKey" type="xs:string"/>
       
   129         <xs:attribute name="mapValue" type="xs:string"/>
       
   130         <xs:attribute name="required" type="xs:boolean" default="false"/>
       
   131         <!--
       
   132             !!!TBD inconsistent defaults: for generic settings this does not have a
       
   133             sense
       
   134         -->
       
   135     </xs:complexType>
       
   136     <xs:complexType name="featureType">
       
   137 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   138 			<xs:element ref="tns:desc"/>
       
   139 			<xs:element ref="tns:icon"/>
       
   140 			<xs:element ref="tns:link"/>
       
   141 			<xs:element ref="tns:setting"/>
       
   142 		</xs:choice>
       
   143         <xs:attribute name="name" type="xs:token"/>
       
   144         <xs:attribute name="relevant" type="xs:token"/>
       
   145         <xs:attribute name="ref" type="xs:NCName" use="required"/>
       
   146         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
   147     </xs:complexType>
       
   148     <xs:complexType name="optionType">
       
   149 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   150 			<xs:element ref="tns:desc"/>
       
   151 			<xs:element ref="tns:icon"/>
       
   152 			<xs:element ref="tns:link"/>
       
   153 		</xs:choice>
       
   154         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
   155         <xs:attribute name="name" type="xs:token"/>
       
   156         <xs:attribute name="value" type="xs:string"/>
       
   157         <xs:attribute name="relevant" type="xs:token" default="true"/>
       
   158         <xs:attribute name="map" type="xs:string"/>
       
   159         <xs:attribute name="mapValue" type="xs:string"/>
       
   160         <xs:attribute name="displayName" type="xs:string"/>
       
   161     </xs:complexType>
       
   162     <xs:complexType name="groupType">
       
   163 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   164 			<xs:element ref="tns:desc"/>
       
   165 			<xs:element ref="tns:icon"/>
       
   166 			<xs:element ref="tns:link"/>
       
   167 			<xs:element ref="tns:group"/>
       
   168 			<xs:element ref="tns:setting"/>
       
   169 		</xs:choice>
       
   170         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
   171         <xs:attribute name="name" type="xs:token"/>
       
   172     </xs:complexType>
       
   173     <xs:complexType name="viewType">
       
   174 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   175 			<xs:element ref="tns:meta" maxOccurs="1"/>
       
   176 			<xs:element ref="tns:desc"/>
       
   177 			<xs:element ref="tns:icon"/>
       
   178 			<xs:element ref="tns:link"/>
       
   179 			<xs:element ref="tns:group"/>
       
   180 		</xs:choice>
       
   181         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
   182         <xs:attribute name="name" type="xs:token"/>
       
   183     </xs:complexType>
       
   184     <xs:simpleType name="idType">
       
   185         <xs:restriction base="xs:NMTOKEN"/>
       
   186     </xs:simpleType>
       
   187     <xs:simpleType name="dateType">
       
   188         <xs:restriction base="xs:date"/>
       
   189     </xs:simpleType>
       
   190     <xs:simpleType name="ownerType">
       
   191         <xs:restriction base="xs:string"/>
       
   192     </xs:simpleType>
       
   193     <xs:simpleType name="editorType">
       
   194         <xs:restriction base="xs:string"/>
       
   195     </xs:simpleType>
       
   196     <xs:simpleType name="productType">
       
   197         <xs:restriction base="xs:string"/>
       
   198     </xs:simpleType>
       
   199     <xs:simpleType name="statusType">
       
   200         <xs:restriction base="xs:string"/>
       
   201     </xs:simpleType>
       
   202     <xs:simpleType name="platformType">
       
   203         <xs:restriction base="xs:string"/>
       
   204     </xs:simpleType>
       
   205     <xs:simpleType name="versionType">
       
   206         <xs:restriction base="xs:string"/>
       
   207     </xs:simpleType>
       
   208     <xs:simpleType name="releaseType">
       
   209         <xs:restriction base="xs:string"/>
       
   210     </xs:simpleType>
       
   211     <xs:simpleType name="customerType">
       
   212         <xs:restriction base="xs:string"/>
       
   213     </xs:simpleType>
       
   214     <xs:simpleType name="originType">
       
   215         <xs:restriction base="xs:string"/>
       
   216     </xs:simpleType>
       
   217     <xs:simpleType name="targetType">
       
   218         <xs:restriction base="xs:string"/>
       
   219     </xs:simpleType>
       
   220     <xs:attributeGroup name="CommonAttrs">
       
   221         <xs:attribute name="id" type="xs:NMTOKEN"/>
       
   222     </xs:attributeGroup>
       
   223     <xs:complexType name="dataType">
       
   224         <xs:sequence>
       
   225             <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
       
   226         </xs:sequence>
       
   227         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
   228         <xs:attribute name="extensionPolicy" type="xs:NMTOKEN" default="replace"/>
       
   229         <xs:attribute name="template" type="xs:NMTOKEN" default="false"/>
       
   230         <xs:attribute name="map" type="xs:string"/>
       
   231         <xs:attribute name="empty" type="xs:NMTOKEN" default="false"/>
       
   232     </xs:complexType>
       
   233     <xs:complexType name="rfsType">
       
   234         <xs:sequence>
       
   235             <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
       
   236         </xs:sequence>
       
   237         <xs:attributeGroup ref="tns:CommonAttrs"/>
       
   238     </xs:complexType>
       
   239     <xs:simpleType name="typeType">
       
   240         <xs:restriction base="xs:string">
       
   241             <xs:enumeration value="int"/>
       
   242             <xs:enumeration value="boolean"/>
       
   243             <xs:enumeration value="real"/>
       
   244             <xs:enumeration value="string"/>
       
   245             <xs:enumeration value="file"/>
       
   246             <xs:enumeration value="folder"/>
       
   247             <xs:enumeration value="sequence"/>
       
   248             <xs:enumeration value="selection"/>
       
   249             <xs:enumeration value="multiSelection"/>
       
   250             <xs:enumeration value="date"/>
       
   251             <xs:enumeration value="time"/>
       
   252             <xs:enumeration value="dateTime"/>
       
   253             <xs:enumeration value="duration"/>
       
   254             <xs:enumeration value="hexBinary"/>
       
   255         </xs:restriction>
    84         </xs:restriction>
   256     </xs:simpleType>
    85       </xs:simpleType>
   257     <xs:complexType name="pathType" mixed="true">
    86     </xs:attribute>
   258 		<xs:choice minOccurs="0" maxOccurs="unbounded">
    87     <xs:attribute name="name"
   259 			<xs:element ref="tns:desc"/>
    88                   type="xs:token" />
   260 			<xs:element ref="tns:icon"/>
    89     <xs:attributeGroup ref="tns:CommonAttrs" />
   261 			<xs:element ref="tns:link"/>
    90     <xs:attribute ref="xml:base" />
   262 			<xs:element ref="xs:pattern" />
    91     <xs:anyAttribute namespace="##other"
   263 			<xs:element ref="xs:length" />
    92                      processContents="skip" />
   264 			<xs:element ref="xs:minLength" />
    93   </xs:complexType>
   265 			<xs:element ref="xs:maxLength" />
    94   <xs:complexType name="metaType">
   266 			<xs:element ref="tns:property" />
    95     <xs:choice minOccurs="0"
   267 		</xs:choice>
    96                maxOccurs="unbounded">
   268         <xs:attributeGroup ref="tns:CommonAttrs"/>
    97       <xs:element name="id"
   269         <xs:attribute name="constraint" type="xs:token" default="true"/>
    98                   type="tns:idType" />
   270         <xs:attribute name="readOnly" type="xs:boolean" default="false"/>
    99       <xs:element name="date"
   271         <xs:attribute name="required" type="xs:boolean" default="false"/>
   100                   type="tns:dateType" />
   272         <xs:attribute name="map" type="xs:string"/>
   101       <xs:element name="owner"
   273     </xs:complexType>
   102                   type="tns:ownerType" />
       
   103       <xs:element name="editor"
       
   104                   type="tns:editorType" />
       
   105       <xs:element name="status"
       
   106                   type="tns:statusType" />
       
   107       <xs:element name="version"
       
   108                   type="tns:versionType" />
       
   109       <xs:element name="platform"
       
   110                   type="tns:platformType" />
       
   111       <xs:element name="product"
       
   112                   type="tns:productType" />
       
   113       <xs:element name="release"
       
   114                   type="tns:releaseType" />
       
   115       <xs:element name="customer"
       
   116                   type="tns:customerType" />
       
   117       <xs:element name="origin"
       
   118                   type="tns:originType" />
       
   119       <xs:element name="target"
       
   120                   type="tns:targetType" />
       
   121       <xs:element name="desc"
       
   122                   type="tns:descType" />
       
   123       <xs:element name="icon"
       
   124                   type="tns:iconType" />
       
   125       <xs:element ref="tns:link" />
       
   126       <xs:element ref="tns:extensions" />
       
   127     </xs:choice>
       
   128   </xs:complexType>
       
   129   <xs:complexType name="descType"
       
   130                   mixed="true">
       
   131     <xs:attribute ref="xlink:href" />
       
   132     <xs:attribute ref="xlink:title" />
       
   133     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   134   </xs:complexType>
       
   135   <xs:complexType name="iconType">
       
   136     <xs:attribute ref="xlink:href"
       
   137                   use="optional" />
       
   138     <xs:attribute ref="xlink:title" />
       
   139     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   140   </xs:complexType>
       
   141   <xs:complexType name="linkType">
       
   142     <xs:attribute ref="xlink:href"
       
   143                   use="optional" />
       
   144     <xs:attribute ref="xlink:title" />
       
   145     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   146   </xs:complexType>
       
   147   <xs:complexType name="propertyType">
       
   148     <xs:choice minOccurs="0"
       
   149                maxOccurs="unbounded">
       
   150       <xs:element ref="tns:desc" />
       
   151       <xs:element ref="tns:icon" />
       
   152       <xs:element ref="tns:link" />
       
   153     </xs:choice>
       
   154     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   155     <xs:attribute name="name"
       
   156                   type="xs:token"
       
   157                   use="optional" />
       
   158     <xs:attribute name="value"
       
   159                   type="xs:string"
       
   160                   use="optional" />
       
   161     <xs:attribute name="unit"
       
   162                   type="xs:token" />
       
   163   </xs:complexType>
       
   164   <xs:complexType name="settingType">
       
   165     <xs:choice minOccurs="0"
       
   166                maxOccurs="unbounded">
       
   167       <xs:element ref="tns:desc" />
       
   168       <xs:element ref="tns:icon" />
       
   169       <xs:element ref="tns:link" />
       
   170       <xs:element ref="tns:option" />
       
   171       <xs:element ref="tns:property" />
       
   172       <xs:element ref="tns:setting" />
       
   173       <xs:element ref="tns:localPath" />
       
   174       <xs:element ref="tns:targetPath" />
       
   175       <xs:element ref="xs:pattern" />
       
   176       <xs:element ref="xs:minInclusive" />
       
   177       <xs:element ref="xs:maxInclusive" />
       
   178       <xs:element ref="xs:minExclusive" />
       
   179       <xs:element ref="xs:maxExclusive" />
       
   180       <xs:element ref="xs:length" />
       
   181       <xs:element ref="xs:minLength" />
       
   182       <xs:element ref="xs:maxLength" />
       
   183       <xs:element ref="xs:totalDigits" />
       
   184       <xs:element ref="tns:extensions" />
       
   185     </xs:choice>
       
   186     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   187     <xs:attribute name="relevant"
       
   188                   type="xs:token"
       
   189                   default="true" />
       
   190     <xs:attribute name="constraint"
       
   191                   type="xs:token"
       
   192                   default="true" />
       
   193     <xs:attribute name="readOnly"
       
   194                   type="xs:boolean"
       
   195                   default="false" />
       
   196     <xs:attribute name="name"
       
   197                   type="xs:string" />
       
   198     <xs:attribute name="type"
       
   199                   type="tns:typeType" />
       
   200     <xs:attribute name="ref"
       
   201                   type="xs:token" />
       
   202     <xs:attribute name="minOccurs"
       
   203                   type="xs:nonNegativeInteger"
       
   204                   default="0" />
       
   205     <xs:attribute name="maxOccurs"
       
   206                   type="xs:NMTOKEN"
       
   207                   default="unbounded" />
       
   208     <xs:attribute name="displayName"
       
   209                   type="xs:string" />
       
   210     <xs:attribute name="mapKey"
       
   211                   type="xs:string" />
       
   212     <xs:attribute name="mapValue"
       
   213                   type="xs:string" />
       
   214     <xs:attribute name="required"
       
   215                   type="xs:boolean"
       
   216                   default="false" />
       
   217     <xs:anyAttribute namespace="##other"
       
   218                      processContents="skip" />
       
   219   </xs:complexType>
       
   220   <xs:complexType name="featureType">
       
   221     <xs:choice minOccurs="0"
       
   222                maxOccurs="unbounded">
       
   223       <xs:element ref="tns:desc" />
       
   224       <xs:element ref="tns:icon" />
       
   225       <xs:element ref="tns:link" />
       
   226       <xs:element ref="tns:setting" />
       
   227       <xs:element ref="tns:extensions" />
       
   228     </xs:choice>
       
   229     <xs:attribute name="name"
       
   230                   type="xs:token" />
       
   231     <xs:attribute name="relevant"
       
   232                   type="xs:token"
       
   233                   default="true" />
       
   234     <xs:attribute name="ref"
       
   235                   type="xs:token"
       
   236                   use="required" />
       
   237     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   238     <xs:anyAttribute namespace="##other"
       
   239                      processContents="skip" />
       
   240   </xs:complexType>
       
   241   <xs:complexType name="optionType">
       
   242     <xs:choice minOccurs="0"
       
   243                maxOccurs="unbounded">
       
   244       <xs:element ref="tns:desc" />
       
   245       <xs:element ref="tns:icon" />
       
   246       <xs:element ref="tns:link" />
       
   247     </xs:choice>
       
   248     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   249     <xs:attribute name="name"
       
   250                   type="xs:token" />
       
   251     <xs:attribute name="value"
       
   252                   type="xs:string" />
       
   253     <xs:attribute name="relevant"
       
   254                   type="xs:token"
       
   255                   default="true" />
       
   256     <xs:attribute name="map"
       
   257                   type="xs:string" />
       
   258     <xs:attribute name="mapValue"
       
   259                   type="xs:string" />
       
   260     <xs:attribute name="displayName"
       
   261                   type="xs:string" />
       
   262     <xs:anyAttribute namespace="##other"
       
   263                      processContents="skip" />
       
   264   </xs:complexType>
       
   265   <xs:complexType name="groupType">
       
   266     <xs:choice minOccurs="0"
       
   267                maxOccurs="unbounded">
       
   268       <xs:element ref="tns:desc" />
       
   269       <xs:element ref="tns:icon" />
       
   270       <xs:element ref="tns:link" />
       
   271       <xs:element ref="tns:group" />
       
   272       <xs:element ref="tns:setting" />
       
   273     </xs:choice>
       
   274     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   275     <xs:attribute name="name"
       
   276                   type="xs:token" />
       
   277   </xs:complexType>
       
   278   <xs:complexType name="viewType">
       
   279     <xs:choice minOccurs="0"
       
   280                maxOccurs="unbounded">
       
   281       <xs:element ref="tns:meta"
       
   282                   maxOccurs="1" />
       
   283       <xs:element ref="tns:desc" />
       
   284       <xs:element ref="tns:icon" />
       
   285       <xs:element ref="tns:link" />
       
   286       <xs:element ref="tns:group" />
       
   287     </xs:choice>
       
   288     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   289     <xs:attribute name="name"
       
   290                   type="xs:token" />
       
   291   </xs:complexType>
       
   292   <xs:simpleType name="idType">
       
   293     <xs:restriction base="xs:NMTOKEN" />
       
   294   </xs:simpleType>
       
   295   <xs:simpleType name="dateType">
       
   296     <xs:restriction base="xs:date" />
       
   297   </xs:simpleType>
       
   298   <xs:simpleType name="ownerType">
       
   299     <xs:restriction base="xs:string" />
       
   300   </xs:simpleType>
       
   301   <xs:simpleType name="editorType">
       
   302     <xs:restriction base="xs:string" />
       
   303   </xs:simpleType>
       
   304   <xs:simpleType name="productType">
       
   305     <xs:restriction base="xs:string" />
       
   306   </xs:simpleType>
       
   307   <xs:simpleType name="statusType">
       
   308     <xs:restriction base="xs:string" />
       
   309   </xs:simpleType>
       
   310   <xs:simpleType name="platformType">
       
   311     <xs:restriction base="xs:string" />
       
   312   </xs:simpleType>
       
   313   <xs:simpleType name="versionType">
       
   314     <xs:restriction base="xs:string" />
       
   315   </xs:simpleType>
       
   316   <xs:simpleType name="releaseType">
       
   317     <xs:restriction base="xs:string" />
       
   318   </xs:simpleType>
       
   319   <xs:simpleType name="customerType">
       
   320     <xs:restriction base="xs:string" />
       
   321   </xs:simpleType>
       
   322   <xs:simpleType name="originType">
       
   323     <xs:restriction base="xs:string" />
       
   324   </xs:simpleType>
       
   325   <xs:simpleType name="targetType">
       
   326     <xs:restriction base="xs:string" />
       
   327   </xs:simpleType>
       
   328   <xs:attributeGroup name="CommonAttrs">
       
   329     <xs:attribute name="id"
       
   330                   type="xs:NMTOKEN" />
       
   331   </xs:attributeGroup>
       
   332   <xs:complexType name="dataType">
       
   333     <xs:sequence>
       
   334       <xs:any namespace="##any"
       
   335               processContents="skip"
       
   336               minOccurs="0"
       
   337               maxOccurs="unbounded" />
       
   338     </xs:sequence>
       
   339     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   340     <xs:attribute name="extensionPolicy"
       
   341                   type="xs:NMTOKEN"
       
   342                   default="replace" />
       
   343     <xs:attribute name="template"
       
   344                   type="xs:NMTOKEN"
       
   345                   default="false" />
       
   346     <xs:attribute name="map"
       
   347                   type="xs:string" />
       
   348     <xs:attribute name="empty"
       
   349                   type="xs:NMTOKEN"
       
   350                   default="false" />
       
   351   </xs:complexType>
       
   352   <xs:complexType name="rfsType">
       
   353     <xs:sequence>
       
   354       <xs:any namespace="##any"
       
   355               processContents="skip"
       
   356               minOccurs="0"
       
   357               maxOccurs="unbounded" />
       
   358     </xs:sequence>
       
   359     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   360   </xs:complexType>
       
   361   <xs:simpleType name="typeType">
       
   362     <xs:restriction base="xs:string">
       
   363       <xs:enumeration value="int" />
       
   364       <xs:enumeration value="boolean" />
       
   365       <xs:enumeration value="real" />
       
   366       <xs:enumeration value="string" />
       
   367       <xs:enumeration value="file" />
       
   368       <xs:enumeration value="folder" />
       
   369       <xs:enumeration value="sequence" />
       
   370       <xs:enumeration value="selection" />
       
   371       <xs:enumeration value="multiSelection" />
       
   372       <xs:enumeration value="date" />
       
   373       <xs:enumeration value="time" />
       
   374       <xs:enumeration value="dateTime" />
       
   375       <xs:enumeration value="duration" />
       
   376       <xs:enumeration value="hexBinary" />
       
   377     </xs:restriction>
       
   378   </xs:simpleType>
       
   379   <xs:complexType name="pathType"
       
   380                   mixed="true">
       
   381     <xs:choice minOccurs="0"
       
   382                maxOccurs="unbounded">
       
   383       <xs:element ref="tns:desc" />
       
   384       <xs:element ref="tns:icon" />
       
   385       <xs:element ref="tns:link" />
       
   386       <xs:element ref="xs:pattern" />
       
   387       <xs:element ref="xs:length" />
       
   388       <xs:element ref="xs:minLength" />
       
   389       <xs:element ref="xs:maxLength" />
       
   390       <xs:element ref="tns:property" />
       
   391     </xs:choice>
       
   392     <xs:attributeGroup ref="tns:CommonAttrs" />
       
   393     <xs:attribute name="constraint"
       
   394                   type="xs:token"
       
   395                   default="true" />
       
   396     <xs:attribute name="readOnly"
       
   397                   type="xs:boolean"
       
   398                   default="false" />
       
   399     <xs:attribute name="required"
       
   400                   type="xs:boolean"
       
   401                   default="false" />
       
   402     <xs:attribute name="map"
       
   403                   type="xs:string" />
       
   404   </xs:complexType>
   274 </xs:schema>
   405 </xs:schema>