configurationengine/source/cone/validation/confml_xsd/confml2.xsd
changeset 3 e7e0ae78773e
child 5 d2c80f5cab53
equal deleted inserted replaced
2:87cfa131b535 3:e7e0ae78773e
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 	<!--
       
     3 		Scheme according to 0.84 2.6.2008 Draft s60configurationml.doc 11.08.
       
     4 		2008 initial version hajduivo 2008-08-14 hajduivo update: xlink
       
     5 		added,but generated xml files contains wrong prefix at xlink
       
     6 		attributes 2008-08-15 hajduivo update: XInclude added
       
     7 	-->
       
     8 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
       
     9 	xmlns:tns="http://www.s60.com/xml/confml/2" xmlns:xlink="http://www.w3.org/1999/xlink"
       
    10 	xmlns:xi="http://www.w3.org/2001/XInclude" targetNamespace="http://www.s60.com/xml/confml/2"
       
    11 	elementFormDefault="qualified" attributeFormDefault="unqualified">
       
    12 	<xs:import id="xlink" namespace="http://www.w3.org/1999/xlink"
       
    13 		schemaLocation="xlink.xsd" />
       
    14 	<xs:import id="xs" namespace="http://www.w3.org/2001/XMLSchema"
       
    15 		schemaLocation="XMLSchema.xsd" />
       
    16 	<xs:import namespace="http://www.w3.org/2001/XInclude"
       
    17 		schemaLocation="XInclude.xsd" />
       
    18 		
       
    19 	<!-- Fixed Elements -->
       
    20 	<xs:element name="configuration" type="tns:configurationType" />
       
    21 	<xs:element name="meta" type="tns:metaType" />
       
    22 	<xs:element name="desc" type="tns:descType" />
       
    23 	<xs:element name="icon" type="tns:iconType" />
       
    24 	<xs:element name="view" type="tns:viewType" />
       
    25 	<xs:element name="group" type="tns:groupType" />
       
    26 	<xs:element name="feature" type="tns:featureType" />
       
    27 	<xs:element name="setting" type="tns:settingType" />
       
    28 	<xs:element name="data" type="tns:dataType" />
       
    29 	<xs:element name="rfs" type="tns:rfsType" />
       
    30 	<xs:element name="link" type="tns:linkType" />
       
    31 	<xs:element name="option" type="tns:optionType" />
       
    32 	<xs:element name="property" type="tns:propertyType" />
       
    33 	<xs:element name="localPath" type="tns:localTargetPathType"/>
       
    34 	<xs:element name="targetPath" type="tns:localTargetPathType"/>
       
    35 	<xs:complexType name="configurationType">
       
    36 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
    37 			<xs:element ref="tns:meta" />
       
    38 			<xs:element ref="tns:desc" />
       
    39 			<xs:element ref="tns:icon" />
       
    40 			<xs:element ref="tns:view" />
       
    41 			<xs:element ref="tns:feature" />
       
    42 			<xs:element ref="tns:link" />
       
    43 			<xs:element ref="tns:data" />
       
    44 			<xs:element ref="tns:rfs" />
       
    45 			<xs:element	ref="tns:configuration" />
       
    46 			<xs:element ref="xi:include"/>
       
    47 		</xs:choice>
       
    48 		<xs:attribute name="version" type="xs:NMTOKEN" />
       
    49 		<xs:attribute name="name" type="xs:string" />
       
    50 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
    51 	</xs:complexType>
       
    52 	<xs:complexType name="metaType">
       
    53 		<xs:all>
       
    54 			<xs:element name="id" type="tns:idType" minOccurs="0" />
       
    55 			<xs:element name="date" type="tns:dateType" maxOccurs="1"
       
    56 				minOccurs="0" />
       
    57 			<xs:element name="owner" type="tns:ownerType" maxOccurs="1"
       
    58 				minOccurs="0" />
       
    59 			<xs:element name="editor" type="tns:editorType" maxOccurs="1"
       
    60 				minOccurs="0" />
       
    61 			<xs:element name="status" type="tns:statusType" maxOccurs="1"
       
    62 				minOccurs="0" />
       
    63 			<xs:element name="version" minOccurs="0" type="tns:versionType" />
       
    64 			<xs:element name="platform" type="tns:platformType"
       
    65 				maxOccurs="1" minOccurs="0" />
       
    66 			<xs:element name="product" type="tns:productType"
       
    67 				maxOccurs="1" minOccurs="0" />
       
    68 			<xs:element name="release" minOccurs="0" type="tns:releaseType" />
       
    69 			<xs:element name="customer" minOccurs="0" type="tns:customerType" />
       
    70 			<xs:element name="origin" minOccurs="0" type="tns:customerType" />
       
    71 			<xs:element name="target" minOccurs="0" type="tns:customerType" />
       
    72 			<xs:element name="desc" minOccurs="0" type="tns:descType" />
       
    73 			<xs:element name="icon" minOccurs="0" type="tns:iconType" />
       
    74 			<xs:element ref="tns:link" maxOccurs="1" minOccurs="0"></xs:element>
       
    75 		</xs:all>
       
    76 	</xs:complexType>
       
    77 	<xs:complexType name="descType" mixed="true">
       
    78 		<xs:attribute ref="xlink:href" />
       
    79 		<xs:attribute ref="xlink:title" />
       
    80 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
    81 	</xs:complexType>
       
    82 	<xs:complexType name="iconType">
       
    83 		<xs:attribute ref="xlink:href" use="optional" />
       
    84 		<xs:attribute ref="xlink:title" />
       
    85 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
    86 	</xs:complexType>
       
    87 	<xs:complexType name="linkType">
       
    88 		<xs:attribute ref="xlink:href" use="optional" />
       
    89 		<xs:attribute ref="xlink:title" />
       
    90 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
    91 	</xs:complexType>
       
    92 	<xs:complexType name="propertyType">
       
    93 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
    94 			<xs:element ref="tns:desc" />
       
    95 			<xs:element ref="tns:icon" />
       
    96 			<xs:element ref="tns:link" />
       
    97 		</xs:choice>
       
    98 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
    99 		<xs:attribute name="name" type="xs:NMTOKEN" use="optional"></xs:attribute>
       
   100 		<xs:attribute name="value" type="xs:string"></xs:attribute>
       
   101 		<xs:attribute name="unit" type="xs:token"></xs:attribute>
       
   102 	</xs:complexType>
       
   103 	<xs:complexType name="settingType">
       
   104 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   105 			<xs:element ref="tns:desc" />
       
   106 			<xs:element ref="tns:icon" />
       
   107 			<xs:element ref="tns:link" />
       
   108 			<xs:element ref="tns:option" />
       
   109 			<xs:element ref="tns:property" />
       
   110 			<xs:element ref="tns:setting" />
       
   111 			<xs:element ref="tns:localPath" />
       
   112 			<xs:element ref="tns:targetPath" />
       
   113 			<xs:element ref="xs:minInclusive"></xs:element>
       
   114 			<xs:element ref="xs:maxInclusive"></xs:element>
       
   115 			<xs:element ref="xs:minExclusive"></xs:element>
       
   116 			<xs:element ref="xs:maxExclusive"></xs:element>
       
   117 			<xs:element ref="xs:pattern"></xs:element>
       
   118 			<xs:element ref="xs:length"></xs:element>
       
   119 			<xs:element ref="xs:minLength"></xs:element>
       
   120 			<xs:element ref="xs:maxLength"></xs:element>
       
   121 			<xs:element ref="xs:totalDigits"></xs:element>
       
   122 		</xs:choice>
       
   123 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
   124 		<xs:attribute name="relevant" type="xs:token" default="true"/>
       
   125 		<xs:attribute name="constraint" type="xs:token" default="true"/>
       
   126 		<xs:attribute name="readOnly" type="xs:NMTOKEN" default="true"/>
       
   127 		<xs:attribute name="name" type="xs:string"></xs:attribute>
       
   128 		<xs:attribute name="type" type="tns:typeType" use="optional"></xs:attribute>
       
   129 		<xs:attribute name="ref" type="xs:string" use="optional"></xs:attribute>
       
   130 		<!--
       
   131 			TODO inconsistent defaults: for generic settings this does not have a
       
   132 			sense
       
   133 		-->
       
   134 		<xs:attribute name="minOccurs" type="xs:nonNegativeInteger"
       
   135 			default="0"></xs:attribute>
       
   136 		<xs:attribute name="maxOccurs" type="xs:allNNI" default="unbounded"></xs:attribute>
       
   137 		<xs:attribute name="mapKey" type="xs:string"></xs:attribute>
       
   138 		<xs:attribute name="mapValue" type="xs:string"></xs:attribute>
       
   139 		<xs:attribute name="required" type="xs:boolean" default="false"></xs:attribute>
       
   140 	</xs:complexType>
       
   141 	<xs:complexType name="featureType">
       
   142 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   143 			<xs:element ref="tns:desc" />
       
   144 			<xs:element ref="tns:icon" />
       
   145 			<xs:element ref="tns:link" />
       
   146 			<xs:element ref="tns:setting"></xs:element>
       
   147 		</xs:choice>
       
   148 		<xs:attribute name="name" type="xs:string" />
       
   149 		<xs:attribute name="relevant" type="xs:string"></xs:attribute>
       
   150 		<xs:attribute name="ref" type="xs:NMTOKEN" use="required" />
       
   151 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
   152 	</xs:complexType>
       
   153 	<xs:complexType name="optionType">
       
   154 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   155 			<xs:element ref="tns:desc" />
       
   156 			<xs:element ref="tns:icon" />
       
   157 			<xs:element ref="tns:link" />
       
   158 		</xs:choice>
       
   159 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
   160 		<xs:attribute name="name" type="xs:token" use="optional"></xs:attribute>
       
   161 		<xs:attribute name="value" type="xs:string" use="optional"></xs:attribute>
       
   162 		<xs:attribute name="relevant" type="xs:token" default="true"></xs:attribute>
       
   163 		<xs:attribute name="map" type="xs:string"></xs:attribute>
       
   164 	</xs:complexType>
       
   165 	<xs:complexType name="groupType">
       
   166 		<xs:choice minOccurs="0" 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:group" />
       
   171 			<xs:element ref="tns:setting" />
       
   172 		</xs:choice>
       
   173 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
   174 		<xs:attribute name="name" type="xs:string" use="required"></xs:attribute>
       
   175 	</xs:complexType>
       
   176 	<xs:complexType name="viewType">
       
   177 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   178 			<xs:element ref="tns:meta" />
       
   179 			<xs:element ref="tns:desc" />
       
   180 			<xs:element ref="tns:icon" />
       
   181 			<xs:element ref="tns:link" />
       
   182 			<xs:element ref="tns:group"></xs:element>
       
   183 		</xs:choice>
       
   184 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
   185 		<xs:attribute name="name" type="xs:token" use="optional"></xs:attribute>
       
   186 	</xs:complexType>
       
   187 	<xs:complexType name="localTargetPathType">
       
   188 		<xs:choice minOccurs="0" maxOccurs="unbounded">
       
   189 			<xs:element ref="tns:desc" />
       
   190 			<xs:element ref="tns:icon" />
       
   191 			<xs:element ref="tns:link" />
       
   192 		</xs:choice>
       
   193 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
   194 		<xs:attribute name="constraint" type="xs:token"/>
       
   195 		<xs:attribute name="readOnly" type="xs:NMTOKEN"/>
       
   196 		<xs:attribute name="required" type="xs:NMTOKEN"/>
       
   197 		<xs:attribute name="map" type="xs:string"></xs:attribute>
       
   198 	</xs:complexType>
       
   199 	<xs:simpleType name="idType">
       
   200 		<xs:restriction base="xs:NMTOKEN"></xs:restriction>
       
   201 	</xs:simpleType>
       
   202 	<xs:simpleType name="dateType">
       
   203 		<xs:restriction base="xs:date"></xs:restriction>
       
   204 	</xs:simpleType>
       
   205 	<xs:simpleType name="ownerType">
       
   206 		<xs:restriction base="xs:string"></xs:restriction>
       
   207 	</xs:simpleType>
       
   208 	<xs:simpleType name="editorType">
       
   209 		<xs:restriction base="xs:string"></xs:restriction>
       
   210 	</xs:simpleType>
       
   211 	<xs:simpleType name="productType">
       
   212 		<xs:restriction base="xs:string"></xs:restriction>
       
   213 	</xs:simpleType>
       
   214 	<xs:simpleType name="statusType">
       
   215 		<xs:restriction base="xs:string"></xs:restriction>
       
   216 	</xs:simpleType>
       
   217 	<xs:simpleType name="platformType">
       
   218 		<xs:restriction base="xs:string"></xs:restriction>
       
   219 	</xs:simpleType>
       
   220 	<xs:simpleType name="versionType">
       
   221 		<xs:restriction base="xs:string"></xs:restriction>
       
   222 	</xs:simpleType>
       
   223 	<xs:simpleType name="releaseType">
       
   224 		<xs:restriction base="xs:string"></xs:restriction>
       
   225 	</xs:simpleType>
       
   226 	<xs:simpleType name="customerType">
       
   227 		<xs:restriction base="xs:string"></xs:restriction>
       
   228 	</xs:simpleType>
       
   229 <!-- <xs:attribute name="id" type="xs:NMTOKEN" />-->
       
   230 	<!--
       
   231 		<xs:attribute name="href" type="xs:anyURI" /> <xs:attribute
       
   232 		name="title" type="xs:string" />
       
   233 	-->
       
   234 	<xs:attributeGroup name="CommonAttrs">
       
   235 		<xs:attribute name="id" type="xs:ID"></xs:attribute>
       
   236 	</xs:attributeGroup>
       
   237 	<xs:complexType name="dataType">
       
   238 		<xs:sequence>
       
   239 			<xs:any namespace="##any" processContents="skip" minOccurs="0"
       
   240 				maxOccurs="unbounded"></xs:any>
       
   241 		</xs:sequence>
       
   242 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
   243 		<xs:attribute name="extensionPolicy" type="xs:NMTOKEN"
       
   244 			default="replace">
       
   245 		</xs:attribute>
       
   246 		<xs:attribute name="template" type="xs:NMTOKEN" default="false"></xs:attribute>
       
   247 	</xs:complexType>
       
   248 	<xs:complexType name="rfsType">
       
   249 		<xs:sequence>
       
   250 			<xs:any namespace="##any" processContents="skip" minOccurs="0"
       
   251 				maxOccurs="unbounded"></xs:any>
       
   252 		</xs:sequence>
       
   253 		<xs:attributeGroup ref="tns:CommonAttrs"></xs:attributeGroup>
       
   254 	</xs:complexType>
       
   255 	<xs:simpleType name="typeType">
       
   256 		<xs:restriction base="xs:string">
       
   257 			<xs:enumeration id="int" value="int"></xs:enumeration>
       
   258 			<xs:enumeration value="boolean"></xs:enumeration>
       
   259 			<xs:enumeration value="real"></xs:enumeration>
       
   260 			<xs:enumeration value="string"></xs:enumeration>
       
   261 			<xs:enumeration value="file"></xs:enumeration>
       
   262 			<xs:enumeration value="folder"></xs:enumeration>
       
   263 			<xs:enumeration value="sequence"></xs:enumeration>
       
   264 			<xs:enumeration value="selection"></xs:enumeration>
       
   265 			<xs:enumeration value="multiSelection"></xs:enumeration>
       
   266 			<xs:enumeration value="date"></xs:enumeration>
       
   267 			<xs:enumeration value="time"></xs:enumeration>
       
   268 			<xs:enumeration value="dateTime"></xs:enumeration>
       
   269 			<xs:enumeration value="duration"></xs:enumeration>
       
   270 		</xs:restriction>
       
   271 	</xs:simpleType>
       
   272 </xs:schema>