Add type-check for 'type' attr in XSD
[platform/core/appfw/vconf-internal-keys.git] / check.xsd
1 <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
2
3         <xs:element name="vconfkeylists">
4                 <xs:complexType>
5                         <xs:sequence>
6                                 <xs:element ref="filedef" minOccurs='1' maxOccurs='1'/>
7                                 <xs:element ref="vconfkey" minOccurs='0' maxOccurs='unbounded'/>
8                         </xs:sequence>
9                 </xs:complexType>
10         </xs:element>
11
12         <xs:attribute name="type">
13                 <xs:simpleType>
14                         <xs:restriction base="xs:string">
15                                 <xs:enumeration value="string"/>
16                                 <xs:enumeration value="int32"/>
17                                 <xs:enumeration value="uint32"/>
18                                 <xs:enumeration value="int64"/>
19                                 <xs:enumeration value="uint64"/>
20                                 <xs:enumeration value="double"/>
21                                 <xs:enumeration value="bool"/>
22                         </xs:restriction>
23                 </xs:simpleType>
24         </xs:attribute>
25
26
27         <xs:element name="vconfkey">
28                 <xs:complexType>
29                         <xs:sequence>
30                                 <xs:element ref="header" minOccurs='1' maxOccurs='1'/>
31                                 <xs:element name="val" type="Value" minOccurs='1' maxOccurs='unbounded'/>
32                                 <xs:element ref="creator" minOccurs='0' maxOccurs='1'/>
33                                 <xs:element ref="email" minOccurs='0' maxOccurs='1'/>
34                                 <xs:element ref="comment" minOccurs='0' maxOccurs='1'/>
35                                 <xs:element name="script" type="Value" minOccurs='0' maxOccurs='unbounded'/>
36                                 <xs:element ref="enumlist" minOccurs='0' maxOccurs='unbounded'/>
37                         </xs:sequence>
38                         <xs:attribute name="name" type='xs:string'/>
39                         <xs:attribute ref="type"/>
40
41                         <xs:attribute name="headeronly" type='xs:string'/>
42
43                         <xs:attribute name="readPriv" type='xs:string'/>
44                         <xs:attribute name="writePriv" type='xs:string'/>
45                         <xs:attribute name="label" type='xs:string'/>
46                 </xs:complexType>
47         </xs:element>
48
49         <xs:element name="enumlist">
50                 <xs:complexType>
51                         <xs:sequence>
52                                 <xs:element ref="enumdata" minOccurs='1' maxOccurs='unbounded'/>
53                         </xs:sequence>
54                         <xs:attribute name="name" type='xs:string'/>
55                 </xs:complexType>
56         </xs:element>
57
58         <xs:element name="enumdata">
59                 <xs:complexType>
60                         <xs:simpleContent>
61                                 <xs:extension base="xs:string">
62                                         <xs:attribute name="value" type="xs:string"/>
63                                 </xs:extension>
64                         </xs:simpleContent>
65                 </xs:complexType>
66         </xs:element>
67
68         <xs:element name="filedef">
69                 <xs:complexType>
70                         <xs:simpleContent>
71                                 <xs:extension base="xs:string">
72                                         <xs:attribute name="name" type="xs:string"/>
73                                 </xs:extension>
74                         </xs:simpleContent>
75                 </xs:complexType>
76         </xs:element>
77
78         <xs:element name="header" type='xs:string'/>
79
80         <xs:element name="val">
81                 <xs:complexType>
82                         <xs:attribute name="model" type='xs:string'/>
83                 </xs:complexType>
84         </xs:element>
85
86         <xs:element name="creator" type='xs:string'/>
87         <xs:element name="email" type='xs:string'/>
88         <xs:element name="comment" type='xs:string'/>
89         <xs:element name="script">
90                 <xs:complexType>
91                         <xs:attribute name="model" type='xs:string'/>
92                 </xs:complexType>
93         </xs:element>
94
95
96         <xs:complexType name="Value">
97                 <xs:simpleContent>
98                         <xs:extension base="xs:string">
99                                 <xs:attribute name="model" type="xs:string"/>
100                         </xs:extension>
101                 </xs:simpleContent>
102         </xs:complexType>
103
104 </xs:schema>