Tizen 2.4.0 rev3 SDK Public Release
[framework/web/wrt-installer.git] / configuration_mobile / packaging-configuration.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/ns/widgets" xmlns:widgets="http://www.w3.org/ns/widgets">
3   <xs:include schemaLocation="common.xsd"/>
4   <xs:include schemaLocation="access.xsd"/>
5   <xs:include schemaLocation="updates.xsd"/>
6   <xs:import namespace="http://tizen.org/ns/widgets" schemaLocation="widgets.tizen.xsd"/>
7   <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
8   <!--
9     Widget Packaging and Configuration <http://www.w3.org/TR/widgets/>
10     requires common.rnc
11   -->
12   <xs:element name="widget">
13     <xs:complexType>
14       <xs:complexContent>
15         <xs:extension base="widgets:group.widgetContent">
16           <xs:attributeGroup ref="widgets:global.attrs"/>
17           <xs:attributeGroup ref="widgets:global.xml"/>
18           <xs:attributeGroup ref="widgets:extension"/>
19           <xs:attribute name="id" type="xs:anyURI"/>
20           <xs:attribute name="defaultlocale"/>
21           <xs:attribute name="version" type="widgets:data.versionNumber"/>
22           <xs:attribute name="min-version" type="widgets:data.versionNumber"/>
23           <xs:attribute name="height" type="widgets:data.positiveNumber"/>
24           <xs:attribute name="width" type="widgets:data.positiveNumber"/>
25           <xs:attribute name="viewmodes">
26             <xs:simpleType>
27               <xs:list>
28                 <xs:simpleType>
29                   <xs:restriction base="xs:token">
30                     <xs:enumeration value="windowed"/>
31                     <xs:enumeration value="floating"/>
32                     <xs:enumeration value="fullscreen"/>
33                     <xs:enumeration value="maximized"/>
34                     <xs:enumeration value="minimized"/>
35                   </xs:restriction>
36                 </xs:simpleType>
37               </xs:list>
38             </xs:simpleType>
39           </xs:attribute>
40           <!-- Requirment from IDE UX -->
41           <xs:attribute ref="xml:lang"/>
42         </xs:extension>
43       </xs:complexContent>
44     </xs:complexType>
45   </xs:element>
46   <xs:complexType name="group.widgetContent" mixed="true">
47     <xs:choice minOccurs="0" maxOccurs="unbounded">
48       <xs:choice>
49         <xs:element ref="widgets:name"/>
50         <xs:element ref="widgets:description"/>
51         <xs:element ref="widgets:icon"/>
52         <xs:element ref="widgets:author"/>
53         <xs:element ref="widgets:license"/>
54         <xs:element ref="widgets:content"/>
55         <xs:element ref="widgets:feature"/>
56         <xs:element ref="widgets:preference"/>
57
58         <xs:element ref="tizen:app-control"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
59         <xs:element ref="tizen:setting"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
60         <xs:element ref="tizen:ime" minOccurs="0" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
61         <xs:element ref="tizen:service" minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
62         <xs:element ref="tizen:application" minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
63         <xs:element ref="tizen:content"  minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
64         <xs:element ref="tizen:privilege"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
65         <xs:element ref="tizen:content-security-policy" minOccurs="0" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
66         <xs:element ref="tizen:content-security-policy-report-only" minOccurs="0" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
67         <xs:element ref="tizen:allow-navigation" minOccurs="0" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
68         <xs:element ref="tizen:app-widget"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
69         <xs:element ref="tizen:account"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
70         <xs:element ref="tizen:metadata"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
71         <xs:element ref="tizen:splash"  minOccurs="0" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
72         <xs:element ref="tizen:category"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
73         <xs:element ref="tizen:profile"  minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
74         <!-- W3C testcases fail - should accept any element -->
75         <!--  <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:foreignElement"/> -->
76       </xs:choice>
77       <xs:element ref="widgets:access"/>
78       <!--   <xs:element ref="widgets:update-description"/> -->
79     </xs:choice>
80   </xs:complexType>
81   <xs:element name="name">
82     <xs:complexType mixed="true">
83       <xs:choice minOccurs="0" maxOccurs="unbounded">
84         <xs:element ref="widgets:span"/>
85         <xs:group ref="widgets:foreignElement"/>
86       </xs:choice>
87       <!-- Requirment from IDE UX -->
88       <xs:attribute ref="xml:lang"/>
89       <xs:attributeGroup ref="widgets:global.attrs"/>
90       <xs:attributeGroup ref="widgets:global.xml"/>
91       <xs:attributeGroup ref="widgets:extension"/>
92       <xs:attribute name="short"/>
93     </xs:complexType>
94   </xs:element>
95   <xs:element name="description">
96     <xs:complexType mixed="true">
97       <xs:choice minOccurs="0" maxOccurs="unbounded">
98         <xs:element ref="widgets:span"/>
99         <xs:group ref="widgets:foreignElement"/>
100       </xs:choice>
101       <!-- Requirment from IDE UX -->
102       <xs:attribute ref="xml:lang"/>
103       <xs:attributeGroup ref="widgets:global.attrs"/>
104       <xs:attributeGroup ref="widgets:global.xml"/>
105       <xs:attributeGroup ref="widgets:extension"/>
106     </xs:complexType>
107   </xs:element>
108   <xs:element name="icon">
109     <xs:complexType>
110       <xs:attributeGroup ref="widgets:global.attrs"/>
111       <xs:attributeGroup ref="widgets:foreignAttribute"/>
112       <!-- w3c testcase - must ignore
113       <xs:attribute name="src" use="required" type="xs:anyURI"/>
114       -->
115       <xs:attribute name="src" type="xs:anyURI"/>
116       <xs:attribute name="height" type="widgets:data.positiveNumber"/>
117       <xs:attribute name="width" type="widgets:data.positiveNumber"/>
118     </xs:complexType>
119   </xs:element>
120   <xs:element name="author">
121     <xs:complexType mixed="true">
122       <xs:choice minOccurs="0" maxOccurs="unbounded">
123         <xs:element ref="widgets:span"/>
124         <xs:group ref="widgets:foreignElement"/>
125         <!-- W3C testcases fail - should accept any element -->
126       </xs:choice>
127       <xs:attributeGroup ref="widgets:global.attrs"/>
128       <xs:attributeGroup ref="widgets:global.xml"/>
129       <xs:attributeGroup ref="widgets:extension"/>
130       <xs:attribute name="href" type="xs:anyURI"/>
131       <xs:attribute name="email" type="xs:string"/>
132       <!-- fails W3C testcases
133       <xs:attribute name="email">
134         <xs:simpleType>
135           <xs:restriction base="xs:string">
136             <xs:pattern value=".+@.+"/>
137           </xs:restriction>
138         </xs:simpleType>
139       </xs:attribute>
140        -->
141     </xs:complexType>
142   </xs:element>
143   <xs:element name="license">
144     <xs:complexType mixed="true">
145       <xs:choice minOccurs="0" maxOccurs="unbounded">
146         <xs:element ref="widgets:span"/>
147         <xs:group ref="widgets:foreignElement"/>
148       </xs:choice>
149       <!-- Requirment from IDE UX -->
150       <xs:attribute ref="xml:lang"/>
151       <xs:attributeGroup ref="widgets:global.attrs"/>
152       <xs:attributeGroup ref="widgets:global.xml"/>
153       <xs:attributeGroup ref="widgets:extension"/>
154       <xs:attribute name="href" type="xs:anyURI"/>
155     </xs:complexType>
156   </xs:element>
157   <xs:element name="content">
158     <xs:complexType>
159       <xs:attributeGroup ref="widgets:global.attrs"/>
160       <xs:attributeGroup ref="widgets:foreignAttribute"/>
161       <!-- w3c testcase - ignore not valid
162       <xs:attribute name="src" use="required" type="xs:anyURI"/>
163       -->
164       <xs:attribute name="src" type="xs:string"/>
165       <xs:attribute name="type"/>
166       <xs:attribute name="encoding"/>
167     </xs:complexType>
168   </xs:element>
169   <xs:element name="feature">
170     <xs:complexType mixed="true">
171       <xs:choice minOccurs="0" maxOccurs="unbounded">
172         <xs:element ref="widgets:param"/>
173         <xs:group ref="widgets:foreignElement"/>
174       </xs:choice>
175       <xs:attributeGroup ref="widgets:global.attrs"/>
176       <xs:attributeGroup ref="widgets:global.xml"/>
177       <xs:attributeGroup ref="widgets:extension"/>
178       <!-- w3c tescase - must ignore
179       <xs:attribute name="name" use="required" type="xs:anyURI"/>
180       -->
181       <xs:attribute name="name" type="xs:anyURI"/>
182       <xs:attribute name="required" type="widgets:data.boolean"/>
183     </xs:complexType>
184   </xs:element>
185   <xs:element name="param">
186     <xs:complexType mixed="true">
187       <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:foreignElement"/>
188       <xs:attributeGroup ref="widgets:global.attrs"/>
189       <xs:attributeGroup ref="widgets:global.xml"/>
190       <xs:attributeGroup ref="widgets:extension"/>
191       <xs:attribute name="name"/>
192       <xs:attribute name="value"/>
193       <!-- w3c testcase - must ignore
194       <xs:attribute name="name" use="required"/>
195       <xs:attribute name="value" use="required"/>
196       -->
197     </xs:complexType>
198   </xs:element>
199   <xs:element name="span">
200     <xs:complexType mixed="true">
201       <xs:choice minOccurs="0" maxOccurs="unbounded">
202         <xs:element ref="widgets:span"/>
203         <xs:group ref="widgets:foreignElement"/>
204       </xs:choice>
205       <xs:attributeGroup ref="widgets:global.attrs"/>
206       <xs:attributeGroup ref="widgets:global.xml"/>
207     </xs:complexType>
208   </xs:element>
209   <xs:element name="preference">
210     <xs:complexType mixed="true">
211       <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:foreignElement"/>
212       <xs:attributeGroup ref="widgets:global.attrs"/>
213       <xs:attributeGroup ref="widgets:global.xml"/>
214       <xs:attributeGroup ref="widgets:extension"/>
215       <!-- w3c testcase -required but missing
216       <xs:attribute name="name" use="required"/>
217       -->
218       <xs:attribute name="name"/>
219       <xs:attribute name="value"/>
220       <xs:attribute name="readonly" type="widgets:data.boolean"/>
221     </xs:complexType>
222   </xs:element>
223 </xs:schema>