configurationengine/doc/xsd/hcrml.xsd
changeset 0 2e8eeb919028
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/configurationengine/doc/xsd/hcrml.xsd	Thu Mar 11 17:04:37 2010 +0200
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://www.symbianfoundation.org/xml/hcrml/1"
+    xmlns:hcr="http://www.symbianfoundation.org/xml/hcrml/1"
+    elementFormDefault="qualified">
+ 
+    <xs:simpleType name="uidType">
+        <xs:union>
+            <xs:simpleType>
+                <xs:restriction base="xs:nonNegativeInteger"/>
+            </xs:simpleType>
+            <xs:simpleType>
+                <xs:restriction base="xs:string">
+                    <xs:pattern value="0x[0-9a-fA-F]{1,8}"/>
+                </xs:restriction>
+            </xs:simpleType>
+        </xs:union>
+    </xs:simpleType>
+    
+    <xs:simpleType name="flagValueType">
+        <xs:restriction base="xs:string">
+            <xs:pattern value="[0-1]{1}"/>
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="settingTypeType">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="int32"/>
+            <xs:enumeration value="int16"/>
+            <xs:enumeration value="int8"/>
+            <xs:enumeration value="bool"/>
+            <xs:enumeration value="uint32"/>
+            <xs:enumeration value="uint16"/>
+            <xs:enumeration value="uint8"/>
+            <xs:enumeration value="linaddr"/>
+            <xs:enumeration value="bindata"/>
+            <xs:enumeration value="text8"/>
+            <xs:enumeration value="arrayint32"/>
+            <xs:enumeration value="arrayuint32"/>
+            <xs:enumeration value="int64"/>
+            <xs:enumeration value="uint64"/>
+        </xs:restriction>
+    </xs:simpleType>
+    
+    <xs:simpleType name="outputTypeType">
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="hcr"/>
+            <xs:enumeration value="header"/>
+        </xs:restriction>
+    </xs:simpleType>
+ 
+    <xs:complexType name="settingFlagsType">
+        <xs:attribute name="Uninitialised"  type="hcr:flagValueType"/>
+        <xs:attribute name="Modifiable"     type="hcr:flagValueType"/>
+        <xs:attribute name="Persistent"     type="hcr:flagValueType"/>
+    </xs:complexType>
+ 
+    <xs:complexType name="settingType">
+        <xs:sequence>
+            <xs:element name="flags" type="hcr:settingFlagsType" minOccurs="0" maxOccurs="1"/>
+        </xs:sequence>
+        <xs:attribute name="ref"        type="xs:string"            use="required"/>
+        <xs:attribute name="name"       type="xs:string"            use="required"/>
+        <xs:attribute name="type"       type="hcr:settingTypeType"  use="required"/>
+        <xs:attribute name="id"         type="hcr:uidType"          use="required"/>
+        <xs:attribute name="comment"    type="xs:string"/>
+    </xs:complexType>
+    
+    <xs:complexType name="categoryType">
+        <xs:sequence>
+            <xs:element name="setting" type="hcr:settingType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:sequence>
+        <xs:attribute name="name"   type="xs:string"    use="required"/>
+        <xs:attribute name="uid"    type="hcr:uidType"  use="required"/>
+    </xs:complexType>
+    
+    <xs:complexType name="includetype">
+        <xs:attribute name="ref" type="xs:string" use="required"/>
+    </xs:complexType>
+    
+    <xs:complexType name="outputType">
+        <xs:choice>
+            <xs:element name="category" type="hcr:categoryType" minOccurs="0" maxOccurs="unbounded"/>
+            <xs:element name="include" type="hcr:includetype" minOccurs="1" maxOccurs="unbounded"/>
+        </xs:choice>
+        <xs:attribute name="file" type="xs:string" use="required"/>
+        <xs:attribute name="type" type="hcr:outputTypeType" use="required"/>
+        <xs:attribute name="version" type="xs:nonNegativeInteger"/>
+        <xs:attribute name="readOnly" type="hcr:flagValueType"/>
+    </xs:complexType>
+    
+    <xs:complexType name="hcrRootType">
+        <xs:choice>
+            <xs:element name="output" type="hcr:outputType" minOccurs="1" maxOccurs="1"/>
+            <xs:element name="category" type="hcr:categoryType" minOccurs="0" maxOccurs="unbounded"/>
+        </xs:choice>
+    </xs:complexType>
+    
+    <xs:element name="hcr" type="hcr:hcrRootType"/>
+
+</xs:schema>