[Release] wrt-installer_0.1.16
[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]{2}.[0-9]{2}.[0-9]{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:appservice"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
74                 <xs:element ref="tizen:app-control"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
75                 <xs:element ref="tizen:setting"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
76                 <xs:element ref="tizen:application" minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
77                 <xs:element ref="tizen:content"  minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
78                 <xs:element ref="tizen:app-widget"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
79                 <xs:element ref="tizen:privilege"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
80                 <xs:element ref="tizen:account"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
81                 </xs:choice>\r
82             <xs:attribute ref="xml:lang"/>\r
83             <xs:attribute name="id" type="xs:anyURI"/>\r
84             <xs:attribute name="version" type="widgets:data.versionNumber"/>\r
85             <xs:attribute name="height" type="widgets:data.positiveNumber"/>\r
86             <xs:attribute name="width" type="widgets:data.positiveNumber"/>\r
87             <xs:attribute name="viewmodes">\r
88                 <xs:simpleType>\r
89                     <xs:list>\r
90                         <xs:simpleType>\r
91                             <xs:restriction base="xs:token">\r
92                                 <xs:enumeration value="maximized"/>\r
93                                 <xs:enumeration value="fullscreen"/>\r
94                             </xs:restriction>\r
95                         </xs:simpleType>\r
96                     </xs:list>\r
97                 </xs:simpleType>\r
98             </xs:attribute>\r
99             <xs:attributeGroup ref="widgets:extension"/>\r
100         </xs:complexType>\r
101     </xs:element>\r
102     <xs:element name="name">\r
103         <xs:complexType mixed="true">\r
104             <xs:attribute ref="xml:lang"/>\r
105             <xs:attribute ref="its:dir"/>\r
106             <xs:attribute name="short"/>\r
107             <xs:attributeGroup ref="widgets:extension"/>\r
108         </xs:complexType>\r
109     </xs:element>\r
110     <xs:element name="description">\r
111         <xs:complexType mixed="true">\r
112             <xs:attribute ref="xml:lang"/>\r
113             <xs:attribute ref="its:dir"/>\r
114             <xs:attributeGroup ref="widgets:extension"/>\r
115         </xs:complexType>\r
116     </xs:element>\r
117     <xs:element name="icon">\r
118         <xs:complexType>\r
119             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
120             <xs:attribute name="src" use="required" type="xs:anyURI"/>\r
121             <xs:attribute name="height" type="widgets:data.positiveNumber"/>\r
122             <xs:attribute name="width" type="widgets:data.positiveNumber"/>\r
123         </xs:complexType>\r
124     </xs:element>\r
125     <xs:element name="access">\r
126         <xs:complexType>\r
127             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
128             <xs:attribute name="origin" use="required" type="xs:anyURI"/>\r
129             <xs:attribute name="subdomains" use="optional" type="widgets:data.boolean"/>\r
130         </xs:complexType>\r
131     </xs:element>\r
132     <xs:element name="author">\r
133         <xs:complexType mixed="true">\r
134             <xs:attribute ref="xml:lang"/>\r
135             <xs:attribute ref="its:dir"/>\r
136             <xs:attribute name="href" type="xs:anyURI"/>\r
137             <xs:attribute name="email">\r
138                 <xs:simpleType>\r
139                     <xs:restriction base="xs:string">\r
140                     </xs:restriction>\r
141                 </xs:simpleType>\r
142             </xs:attribute>\r
143             <xs:attributeGroup ref="widgets:extension"/>\r
144         </xs:complexType>\r
145     </xs:element>\r
146     <xs:element name="license">\r
147         <xs:complexType mixed="true">\r
148             <xs:attribute ref="xml:lang"/>\r
149             <xs:attribute ref="its:dir"/>\r
150             <xs:attribute name="href" type="xs:anyURI"/>\r
151             <xs:attributeGroup ref="widgets:extension"/>\r
152         </xs:complexType>\r
153     </xs:element>\r
154     <xs:element name="content">\r
155         <xs:complexType>\r
156             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
157             <xs:attribute name="src" use="required" type="xs:anyURI"/>\r
158             <xs:attribute name="type"/>\r
159             <xs:attribute name="charset"/>\r
160         </xs:complexType>\r
161     </xs:element>\r
162     <xs:element name="feature">\r
163         <xs:complexType mixed="true">\r
164             <xs:choice minOccurs="0" maxOccurs="unbounded">\r
165                 <xs:element ref="widgets:param"/>\r
166             </xs:choice>\r
167             <xs:attribute name="name" use="required" type="xs:anyURI"/>\r
168             <xs:attributeGroup ref="widgets:extension"/>\r
169         </xs:complexType>\r
170     </xs:element>\r
171     <xs:element name="param">\r
172         <xs:complexType mixed="true">\r
173             <xs:attribute name="name" use="required"/>\r
174             <xs:attribute name="value" use="required"/>\r
175             <xs:attributeGroup ref="widgets:extension"/>\r
176         </xs:complexType>\r
177     </xs:element>\r
178     <xs:element name="preference">\r
179         <xs:complexType mixed="true">\r
180             <xs:attribute ref="xml:lang"/>\r
181             <xs:attribute name="name" use="required"/>\r
182             <xs:attribute name="value"/>\r
183             <xs:attribute name="readonly" type="widgets:data.boolean"/>\r
184             <xs:attributeGroup ref="widgets:extension"/>\r
185         </xs:complexType>\r
186     </xs:element>\r
187 </xs:schema>\r