4d7a82381dff39a5872232c7e3add293dc17ec74
[framework/web/wrt-installer.git] / configuration / config.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!-- Widgets 1.0 (Working Draft) RELAX NG schema -->\r
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/ns/widgets" xmlns:its="http://www.w3.org/2005/11/its" xmlns:widgets="http://www.w3.org/ns/widgets" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/ns/widgets config.xsd">\r
4     <xs:import schemaLocation="local.xsd"/>\r
5     <xs:import namespace="http://www.w3.org/2005/11/its" schemaLocation="its.xsd"/>\r
6     <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>\r
7     <xs:import namespace="http://tizen.org/ns/widgets" schemaLocation="config.tizen.xsd"/>\r
8     <xs:group name="extension">\r
9         <xs:sequence>\r
10             <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:anyElement"/>\r
11         </xs:sequence>\r
12     </xs:group>\r
13     <xs:attributeGroup name="extension">\r
14         <xs:attributeGroup ref="widgets:attr.allowed"/>\r
15     </xs:attributeGroup>\r
16     <xs:group name="anyElement">\r
17         <xs:sequence>\r
18             <xs:choice minOccurs="0" maxOccurs="unbounded">\r
19                 <xs:any namespace="##other" processContents="skip"/>\r
20                 <xs:any namespace="##local" processContents="skip"/>\r
21             </xs:choice>\r
22         </xs:sequence>\r
23     </xs:group>\r
24     <xs:group name="any">\r
25         <xs:sequence>\r
26             <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:anyElement"/>\r
27         </xs:sequence>\r
28     </xs:group>\r
29     <xs:attributeGroup name="any">\r
30         <xs:anyAttribute processContents="skip"/>\r
31     </xs:attributeGroup>\r
32     <xs:attributeGroup name="attr.allowed">\r
33         <xs:attributeGroup ref="local"/>\r
34     </xs:attributeGroup>\r
35     <xs:attributeGroup name="attr.xmllang">\r
36         <xs:attribute ref="xml:lang" use="required"/>\r
37     </xs:attributeGroup>\r
38     <xs:attributeGroup name="attr.itsdir">\r
39         <xs:attribute ref="its:dir" use="required"/>\r
40     </xs:attributeGroup>\r
41     <xs:simpleType name="data.positiveNumber">\r
42         <xs:restriction base="xs:string">\r
43             <xs:pattern value="[1-9]\d*"/>\r
44         </xs:restriction>\r
45     </xs:simpleType>\r
46     <xs:simpleType name="data.boolean">\r
47         <xs:restriction base="xs:string">\r
48             <xs:enumeration value="true"/>\r
49             <xs:enumeration value="false"/>\r
50         </xs:restriction>\r
51     </xs:simpleType>\r
52     <xs:simpleType name="data.versionNumber">\r
53         <xs:restriction base="xs:string">\r
54             <xs:pattern value="[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,4}"/>\r
55         </xs:restriction>\r
56     </xs:simpleType>\r
57     <xs:element name="widget">\r
58         <xs:complexType mixed="true">\r
59             <xs:choice minOccurs="0" maxOccurs="unbounded">\r
60                 <xs:element ref="widgets:name"/>\r
61                 <xs:element ref="widgets:description"/>\r
62                 <xs:element ref="widgets:icon"/>\r
63                 <xs:element ref="widgets:author"/>\r
64                 <xs:element ref="widgets:license"/>\r
65                 <xs:element ref="widgets:content"/>\r
66                 <xs:element ref="widgets:feature"/>\r
67                 <xs:element ref="widgets:preference"/>\r
68                 <xs:element ref="widgets:access"/>\r
69                 <!-- "widgets:extension" group is commented. Otherwise, error: cos-nonambig: Content model violates the unique particle attribution rule. -->\r
70                 <!-- Allowing Any Elements or Attributes from a Particular Namespace -->\r
71                 <!-- The wildcards permitted within the list are ##local (a nonqualified element) and ##targetNamespace (the target namespace). Two wildcards can also be used instead of the list: ##any (any namespace) and ##other (any namespace other than the target namespace). -->\r
72                 <!--xs:group ref="widgets:extension"/-->\r
73                 <xs:element ref="tizen:app-control"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
74                 <xs:element ref="tizen:setting"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
75                 <xs:element ref="tizen:application" minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
76                 <xs:element ref="tizen:content"  minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
77                 <xs:element ref="tizen:privilege"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
78                 <xs:element ref="tizen:content-security-policy" minOccurs="0" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
79                 <xs:element ref="tizen:content-security-policy-report-only" minOccurs="0" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
80                 <xs:element ref="tizen:allow-navigation" minOccurs="0" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
81                 <xs:element ref="tizen:app-widget"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
82                 <xs:element ref="tizen:account"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
83             </xs:choice>\r
84             <xs:attribute ref="xml:lang"/>\r
85             <xs:attribute name="id" type="xs:anyURI"/>\r
86             <xs:attribute name="version" type="widgets:data.versionNumber"/>\r
87             <xs:attribute name="height" type="widgets:data.positiveNumber"/>\r
88             <xs:attribute name="width" type="widgets:data.positiveNumber"/>\r
89             <xs:attribute name="viewmodes">\r
90                 <xs:simpleType>\r
91                     <xs:list>\r
92                         <xs:simpleType>\r
93                             <xs:restriction base="xs:token">\r
94                                 <xs:enumeration value="maximized"/>\r
95                                 <xs:enumeration value="fullscreen"/>\r
96                             </xs:restriction>\r
97                         </xs:simpleType>\r
98                     </xs:list>\r
99                 </xs:simpleType>\r
100             </xs:attribute>\r
101             <xs:attributeGroup ref="widgets:extension"/>\r
102         </xs:complexType>\r
103     </xs:element>\r
104     <xs:element name="name">\r
105         <xs:complexType mixed="true">\r
106             <xs:attribute ref="xml:lang"/>\r
107             <xs:attribute ref="its:dir"/>\r
108             <xs:attribute name="short"/>\r
109             <xs:attributeGroup ref="widgets:extension"/>\r
110         </xs:complexType>\r
111     </xs:element>\r
112     <xs:element name="description">\r
113         <xs:complexType mixed="true">\r
114             <xs:attribute ref="xml:lang"/>\r
115             <xs:attribute ref="its:dir"/>\r
116             <xs:attributeGroup ref="widgets:extension"/>\r
117         </xs:complexType>\r
118     </xs:element>\r
119     <xs:element name="icon">\r
120         <xs:complexType>\r
121             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
122             <xs:attribute name="src" use="required" type="xs:anyURI"/>\r
123             <xs:attribute name="height" type="widgets:data.positiveNumber"/>\r
124             <xs:attribute name="width" type="widgets:data.positiveNumber"/>\r
125         </xs:complexType>\r
126     </xs:element>\r
127     <xs:element name="access">\r
128         <xs:complexType>\r
129             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
130             <xs:attribute name="origin" use="required" type="xs:anyURI"/>\r
131             <xs:attribute name="subdomains" use="optional" type="widgets:data.boolean"/>\r
132         </xs:complexType>\r
133     </xs:element>\r
134     <xs:element name="author">\r
135         <xs:complexType mixed="true">\r
136             <xs:attribute ref="xml:lang"/>\r
137             <xs:attribute ref="its:dir"/>\r
138             <xs:attribute name="href" type="xs:anyURI"/>\r
139             <xs:attribute name="email">\r
140                 <xs:simpleType>\r
141                     <xs:restriction base="xs:string">\r
142                     </xs:restriction>\r
143                 </xs:simpleType>\r
144             </xs:attribute>\r
145             <xs:attributeGroup ref="widgets:extension"/>\r
146         </xs:complexType>\r
147     </xs:element>\r
148     <xs:element name="license">\r
149         <xs:complexType mixed="true">\r
150             <xs:attribute ref="xml:lang"/>\r
151             <xs:attribute ref="its:dir"/>\r
152             <xs:attribute name="href" type="xs:anyURI"/>\r
153             <xs:attributeGroup ref="widgets:extension"/>\r
154         </xs:complexType>\r
155     </xs:element>\r
156     <xs:element name="content">\r
157         <xs:complexType>\r
158             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
159             <xs:attribute name="src" use="required" type="xs:anyURI"/>\r
160             <xs:attribute name="type"/>\r
161             <xs:attribute name="charset"/>\r
162         </xs:complexType>\r
163     </xs:element>\r
164     <xs:element name="feature">\r
165         <xs:complexType mixed="true">\r
166             <xs:choice minOccurs="0" maxOccurs="unbounded">\r
167                 <xs:element ref="widgets:param"/>\r
168             </xs:choice>\r
169             <xs:attribute name="name" use="required" type="xs:anyURI"/>\r
170             <xs:attributeGroup ref="widgets:extension"/>\r
171         </xs:complexType>\r
172     </xs:element>\r
173     <xs:element name="param">\r
174         <xs:complexType mixed="true">\r
175             <xs:attribute name="name" use="required"/>\r
176             <xs:attribute name="value" use="required"/>\r
177             <xs:attributeGroup ref="widgets:extension"/>\r
178         </xs:complexType>\r
179     </xs:element>\r
180     <xs:element name="preference">\r
181         <xs:complexType mixed="true">\r
182             <xs:attribute ref="xml:lang"/>\r
183             <xs:attribute name="name" use="required"/>\r
184             <xs:attribute name="value"/>\r
185             <xs:attribute name="readonly" type="widgets:data.boolean"/>\r
186             <xs:attributeGroup ref="widgets:extension"/>\r
187         </xs:complexType>\r
188     </xs:element>\r
189 </xs:schema>\r