configurationengine/doc/xsd/hcrml.xsd
changeset 0 2e8eeb919028
equal deleted inserted replaced
-1:000000000000 0:2e8eeb919028
       
     1 <?xml version="1.0" encoding="UTF-8"?>
       
     2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
       
     3     targetNamespace="http://www.symbianfoundation.org/xml/hcrml/1"
       
     4     xmlns:hcr="http://www.symbianfoundation.org/xml/hcrml/1"
       
     5     elementFormDefault="qualified">
       
     6  
       
     7     <xs:simpleType name="uidType">
       
     8         <xs:union>
       
     9             <xs:simpleType>
       
    10                 <xs:restriction base="xs:nonNegativeInteger"/>
       
    11             </xs:simpleType>
       
    12             <xs:simpleType>
       
    13                 <xs:restriction base="xs:string">
       
    14                     <xs:pattern value="0x[0-9a-fA-F]{1,8}"/>
       
    15                 </xs:restriction>
       
    16             </xs:simpleType>
       
    17         </xs:union>
       
    18     </xs:simpleType>
       
    19     
       
    20     <xs:simpleType name="flagValueType">
       
    21         <xs:restriction base="xs:string">
       
    22             <xs:pattern value="[0-1]{1}"/>
       
    23         </xs:restriction>
       
    24     </xs:simpleType>
       
    25     
       
    26     <xs:simpleType name="settingTypeType">
       
    27         <xs:restriction base="xs:string">
       
    28             <xs:enumeration value="int32"/>
       
    29             <xs:enumeration value="int16"/>
       
    30             <xs:enumeration value="int8"/>
       
    31             <xs:enumeration value="bool"/>
       
    32             <xs:enumeration value="uint32"/>
       
    33             <xs:enumeration value="uint16"/>
       
    34             <xs:enumeration value="uint8"/>
       
    35             <xs:enumeration value="linaddr"/>
       
    36             <xs:enumeration value="bindata"/>
       
    37             <xs:enumeration value="text8"/>
       
    38             <xs:enumeration value="arrayint32"/>
       
    39             <xs:enumeration value="arrayuint32"/>
       
    40             <xs:enumeration value="int64"/>
       
    41             <xs:enumeration value="uint64"/>
       
    42         </xs:restriction>
       
    43     </xs:simpleType>
       
    44     
       
    45     <xs:simpleType name="outputTypeType">
       
    46         <xs:restriction base="xs:string">
       
    47             <xs:enumeration value="hcr"/>
       
    48             <xs:enumeration value="header"/>
       
    49         </xs:restriction>
       
    50     </xs:simpleType>
       
    51  
       
    52     <xs:complexType name="settingFlagsType">
       
    53         <xs:attribute name="Uninitialised"  type="hcr:flagValueType"/>
       
    54         <xs:attribute name="Modifiable"     type="hcr:flagValueType"/>
       
    55         <xs:attribute name="Persistent"     type="hcr:flagValueType"/>
       
    56     </xs:complexType>
       
    57  
       
    58     <xs:complexType name="settingType">
       
    59         <xs:sequence>
       
    60             <xs:element name="flags" type="hcr:settingFlagsType" minOccurs="0" maxOccurs="1"/>
       
    61         </xs:sequence>
       
    62         <xs:attribute name="ref"        type="xs:string"            use="required"/>
       
    63         <xs:attribute name="name"       type="xs:string"            use="required"/>
       
    64         <xs:attribute name="type"       type="hcr:settingTypeType"  use="required"/>
       
    65         <xs:attribute name="id"         type="hcr:uidType"          use="required"/>
       
    66         <xs:attribute name="comment"    type="xs:string"/>
       
    67     </xs:complexType>
       
    68     
       
    69     <xs:complexType name="categoryType">
       
    70         <xs:sequence>
       
    71             <xs:element name="setting" type="hcr:settingType" minOccurs="0" maxOccurs="unbounded"/>
       
    72         </xs:sequence>
       
    73         <xs:attribute name="name"   type="xs:string"    use="required"/>
       
    74         <xs:attribute name="uid"    type="hcr:uidType"  use="required"/>
       
    75     </xs:complexType>
       
    76     
       
    77     <xs:complexType name="includetype">
       
    78         <xs:attribute name="ref" type="xs:string" use="required"/>
       
    79     </xs:complexType>
       
    80     
       
    81     <xs:complexType name="outputType">
       
    82         <xs:choice>
       
    83             <xs:element name="category" type="hcr:categoryType" minOccurs="0" maxOccurs="unbounded"/>
       
    84             <xs:element name="include" type="hcr:includetype" minOccurs="1" maxOccurs="unbounded"/>
       
    85         </xs:choice>
       
    86         <xs:attribute name="file" type="xs:string" use="required"/>
       
    87         <xs:attribute name="type" type="hcr:outputTypeType" use="required"/>
       
    88         <xs:attribute name="version" type="xs:nonNegativeInteger"/>
       
    89         <xs:attribute name="readOnly" type="hcr:flagValueType"/>
       
    90     </xs:complexType>
       
    91     
       
    92     <xs:complexType name="hcrRootType">
       
    93         <xs:choice>
       
    94             <xs:element name="output" type="hcr:outputType" minOccurs="1" maxOccurs="1"/>
       
    95             <xs:element name="category" type="hcr:categoryType" minOccurs="0" maxOccurs="unbounded"/>
       
    96         </xs:choice>
       
    97     </xs:complexType>
       
    98     
       
    99     <xs:element name="hcr" type="hcr:hcrRootType"/>
       
   100 
       
   101 </xs:schema>