Revise parser, insert db
[platform/core/appfw/pkgmgr-info.git] / parser / manifest.xsd.in
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://tizen.org/ns/packages" xmlns:packages="http://tizen.org/ns/packages">
3   <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
4
5   <xs:element name="manifest">
6     <xs:complexType>
7       <xs:sequence>
8         <xs:choice maxOccurs="unbounded">
9           <xs:element ref="packages:label"/>
10           <xs:element ref="packages:icon"/>
11           <xs:element ref="packages:author"/>
12           <xs:element ref="packages:description"/>
13           <xs:element ref="packages:compatibility"/>
14           <xs:element ref="packages:profile"/>
15           <xs:element ref="packages:service-application"/>
16           <xs:element ref="packages:ui-application"/>
17           <xs:element ref="packages:ime-application"/>
18           <xs:element ref="packages:shortcut-list"/>
19           <xs:element ref="packages:livebox"/>
20           <xs:element ref="packages:account"/>
21           <xs:element ref="packages:notifications"/>
22           <xs:element ref="packages:privileges"/>
23           <xs:element ref="packages:font"/>
24           <xs:element ref="packages:ime"/>
25           <xs:element ref="packages:feature"/>
26         </xs:choice>
27       </xs:sequence>
28       <xs:attribute name="storeclient-id" type="xs:string"/>
29       <xs:attribute name="install-location" type="packages:InstallLocationType"/>
30       <xs:attribute name="package" use="required" type="xs:string"/>
31       <xs:attribute name="type" type="packages:PackageType"/>
32       <xs:attribute name="version" use="required" type="xs:string"/>
33       <xs:attribute name="size" type="xs:NMTOKEN"/>
34       <xs:attribute name="root_path" type="xs:string"/>
35       <xs:attribute name="csc_path" type="xs:string"/>
36       <xs:attribute name="appsetting" type="xs:boolean"/>
37       <xs:attribute name="nodisplay-setting" type="xs:boolean"/>
38       <xs:attribute name="url" type="xs:string"/>
39       <xs:attribute name="api-version" type="xs:string"/>
40     </xs:complexType>
41   </xs:element>
42
43   <xs:simpleType name="InstallLocationType">
44     <xs:restriction base="xs:string">
45       <xs:enumeration value="auto"/>
46       <xs:enumeration value="internal-only"/>
47       <xs:enumeration value="prefer-external"/>
48     </xs:restriction>
49   </xs:simpleType>
50   <xs:simpleType name="PackageType">
51     <xs:restriction base="xs:string">
52       <xs:enumeration value="rpm"/>
53       <xs:enumeration value="tpk"/>
54       <xs:enumeration value="wgt"/>
55       <xs:enumeration value="apk"/>
56       <xs:enumeration value="coretpk"/>
57     </xs:restriction>
58   </xs:simpleType>
59   <xs:simpleType name="ProfileType">
60     <xs:restriction base="xs:string">
61       <xs:enumeration value="mobile"/>
62       <xs:enumeration value="wearable"/>
63       <xs:enumeration value="TV"/>
64     </xs:restriction>
65   </xs:simpleType>
66   <xs:simpleType name="TypeType">
67     <xs:restriction base="xs:string">
68       <xs:enumeration value="capp"/>
69       <xs:enumeration value="c++app"/>
70       <xs:enumeration value="webapp"/>
71     </xs:restriction>
72   </xs:simpleType>
73   <xs:simpleType name="HwAccelerationType">
74     <xs:restriction base="xs:string">
75       <xs:enumeration value="use-GL"/>
76       <xs:enumeration value="not-use-GL"/>
77       <xs:enumeration value="use-system-setting"/>
78     </xs:restriction>
79   </xs:simpleType>
80   <xs:simpleType name="ScreenReaderType">
81     <xs:restriction base="xs:string">
82       <xs:enumeration value="screenreader-off"/>
83       <xs:enumeration value="screenreader-on"/>
84       <xs:enumeration value="use-system-setting"/>
85     </xs:restriction>
86   </xs:simpleType>
87   <xs:simpleType name="RecentImage">
88     <xs:restriction base="xs:string">
89     <xs:enumeration value="icon"/>
90     <xs:enumeration value="capture"/>
91      </xs:restriction>
92   </xs:simpleType>
93
94   <xs:element name="author">
95     <xs:complexType mixed="true">
96       <xs:attribute name="email"/>
97       <xs:attribute name="href"/>
98       <xs:attribute ref="xml:lang"/>
99     </xs:complexType>
100   </xs:element>
101   <xs:element name="description">
102     <xs:complexType mixed="true">
103       <xs:attribute ref="xml:lang"/>
104     </xs:complexType>
105   </xs:element>
106   <xs:element name="compatibility">
107     <xs:complexType/>
108   </xs:element>
109   <xs:element name="device-profile">
110     <xs:complexType/>
111   </xs:element>
112   <xs:element name="profile">
113     <xs:complexType>
114       <xs:attribute name="name" type="packages:ProfileType"/>
115     </xs:complexType>
116   </xs:element>
117   <xs:element name="service-application">
118     <xs:complexType>
119       <xs:sequence>
120         <xs:choice maxOccurs="unbounded" minOccurs="0">
121           <xs:element ref="packages:label"/>
122           <xs:element ref="packages:icon"/>
123           <xs:element ref="packages:application-service"/>
124           <xs:element ref="packages:app-control"/>
125           <xs:element ref="packages:category"/>
126           <xs:element ref="packages:metadata"/>
127           <xs:element ref="packages:permission"/>
128           <xs:element ref="packages:datacontrol"/>
129         </xs:choice>
130       </xs:sequence>
131       <xs:attribute name="appid" use="required" type="xs:string"/>
132       <xs:attribute name="auto-restart" type="xs:boolean"/>
133       <xs:attribute name="exec" use="required"/>
134       <xs:attribute name="on-boot" type="xs:boolean"/>
135       <xs:attribute name="type" use="required" type="packages:TypeType"/>
136       <xs:attribute name="multiple" type="xs:boolean"/>
137       <xs:attribute name="taskmanage" type="xs:boolean"/>
138       <xs:attribute name="permission-type" type="xs:string"/>
139     </xs:complexType>
140   </xs:element>
141   <xs:element name="ui-application">
142     <xs:complexType>
143       <xs:sequence>
144         <xs:choice maxOccurs="unbounded" minOccurs="0">
145           <xs:element ref="packages:label"/>
146           <xs:element ref="packages:icon"/>
147           <xs:element ref="packages:image"/>
148           <xs:element ref="packages:application-service"/>
149           <xs:element ref="packages:app-control"/>
150           <xs:element ref="packages:category"/>
151           <xs:element ref="packages:metadata"/>
152           <xs:element ref="packages:permission"/>
153           <xs:element ref="packages:datacontrol"/>
154         </xs:choice>
155       </xs:sequence>
156       <xs:attribute name="appid" use="required" type="xs:string"/>
157       <xs:attribute name="exec" use="required"/>
158       <xs:attribute name="multiple" type="xs:boolean"/>
159       <xs:attribute name="nodisplay" type="xs:boolean"/>
160       <xs:attribute name="taskmanage" type="xs:boolean"/>
161       <xs:attribute name="enabled" type="xs:boolean"/>
162       <xs:attribute name="type" use="required" type="packages:TypeType"/>
163       <xs:attribute name="categories" type="xs:NCName"/>
164       <xs:attribute name="extraid"/>
165       <xs:attribute name="hw-acceleration" type="packages:HwAccelerationType"/>
166       <xs:attribute name="screen-reader" type="packages:ScreenReaderType"/>
167       <xs:attribute name="recentimage" type="packages:RecentImage"/>
168       <xs:attribute name="mainapp" type="xs:boolean"/>
169       <xs:attribute name="indicatordisplay" type="xs:boolean"/>
170       <xs:attribute name="portrait-effectimage" type="xs:string"/>
171       <xs:attribute name="landscape-effectimage" type="xs:string"/>
172       <xs:attribute name="guestmode-visibility" type="xs:string"/>
173       <xs:attribute name="launchcondition" type="xs:boolean"/>
174       <xs:attribute name="permission-type" type="xs:string"/>
175       <xs:attribute name="component-type" type="xs:string"/>
176       <xs:attribute name="submode" type="xs:boolean"/>
177       <xs:attribute name="submode-mainid" type="xs:string"/>
178       <xs:attribute name="launch_mode" type="packages:LaunchType"/>
179       <xs:attribute name="on-boot" type="xs:boolean"/>
180       <xs:attribute name="auto-restart" type="xs:boolean"/>
181       <xs:attribute name="process-pool" type="xs:boolean"/>
182       <xs:attribute name="ui-gadget" type="xs:boolean"/>
183     </xs:complexType>
184   </xs:element>
185   <xs:element name="ime-application">
186     <xs:complexType>
187       <xs:sequence>
188         <xs:choice maxOccurs="unbounded">
189           <xs:element ref="packages:label"/>
190           <xs:element ref="packages:icon"/>
191         </xs:choice>
192       </xs:sequence>
193       <xs:attribute name="appid" use="required" type="xs:string"/>
194       <xs:attribute name="exec" use="required" type="xs:NCName"/>
195       <xs:attribute name="multiple" type="xs:boolean"/>
196       <xs:attribute name="nodisplay" type="xs:boolean"/>
197       <xs:attribute name="type" use="required" type="packages:TypeType"/>
198     </xs:complexType>
199   </xs:element>
200   <xs:element name="shortcut-list">
201   </xs:element>
202   <xs:element name="livebox">
203   </xs:element>
204   <xs:element name="account">
205   </xs:element>
206   <xs:element name="notifications">
207   </xs:element>
208   <xs:element name="ime">
209   </xs:element>
210   <xs:element name="feature">
211   </xs:element>
212   <xs:element name="privileges">
213     <xs:complexType>
214       <xs:sequence>
215         <xs:choice maxOccurs="unbounded" minOccurs="0">
216           <xs:element ref="packages:privilege"/>
217         </xs:choice>
218       </xs:sequence>
219     </xs:complexType>
220   </xs:element>
221   <xs:element name="privilege">
222   </xs:element>
223   <xs:element name="font">
224   </xs:element>
225   <xs:element name="label">
226     <xs:complexType mixed="true">
227       <xs:attribute ref="xml:lang"/>
228     </xs:complexType>
229   </xs:element>
230   <xs:element name="icon">
231   <xs:complexType mixed="true">
232     <xs:attribute ref="xml:lang"/>
233     <xs:attribute name="section" type="xs:string"/>
234     <xs:attribute name="resolution" type="packages:ResolutionType"/>
235   </xs:complexType>
236   </xs:element>
237   <xs:element name="image">
238   <xs:complexType mixed="true">
239     <xs:attribute ref="xml:lang"/>
240     <xs:attribute name="section" type="xs:string"/>
241   </xs:complexType>
242   </xs:element>
243   <xs:simpleType name="SectionType">
244   <xs:restriction base="xs:string">
245     <xs:enumeration value="notification"/>
246     <xs:enumeration value="setting"/>
247    </xs:restriction>
248   </xs:simpleType>
249   <xs:simpleType name="LaunchType">
250   <xs:restriction base="xs:string">
251     <xs:enumeration value="caller"/>
252     <xs:enumeration value="single"/>
253     <xs:enumeration value="group"/>
254    </xs:restriction>
255   </xs:simpleType>
256   <xs:simpleType name="ResolutionType">
257   <xs:restriction base="xs:string">
258     <xs:enumeration value="xhigh"/>
259     <xs:enumeration value="high"/>
260    </xs:restriction>
261   </xs:simpleType>
262   <xs:element name="application-service">
263     <xs:complexType>
264       <xs:sequence>
265         <xs:choice maxOccurs="unbounded">
266           <xs:element ref="packages:operation"/>
267           <xs:element ref="packages:uri"/>
268           <xs:element ref="packages:mime"/>
269           <xs:element ref="packages:subapp"/>
270         </xs:choice>
271       </xs:sequence>
272     </xs:complexType>
273   </xs:element>
274   <xs:element name="app-control">
275     <xs:complexType>
276       <xs:sequence>
277         <xs:choice maxOccurs="unbounded">
278           <xs:element ref="packages:operation"/>
279           <xs:element ref="packages:uri"/>
280           <xs:element ref="packages:mime"/>
281           <xs:element ref="packages:subapp"/>
282         </xs:choice>
283       </xs:sequence>
284     </xs:complexType>
285   </xs:element>
286   <xs:element name="category">
287     <xs:complexType>
288       <xs:sequence>
289         <xs:choice maxOccurs="unbounded">
290           <xs:any minOccurs="0" processContents="lax"/>
291         </xs:choice>
292       </xs:sequence>
293       <xs:anyAttribute processContents="lax"/>
294     </xs:complexType>
295   </xs:element>
296   <xs:element name="metadata">
297     <xs:complexType>
298       <xs:attribute name="key" use="required" type="xs:string"/>
299       <xs:attribute name="value" type="xs:string"/>
300     </xs:complexType>
301   </xs:element>
302   <xs:element name="permission">
303   <xs:complexType>
304     <xs:attribute name="type" type="xs:string"/>
305   </xs:complexType>
306   </xs:element>
307   <xs:element name="datacontrol">
308   <xs:complexType>
309     <xs:attribute name="providerid" type="xs:string"/>
310     <xs:attribute name="access" type="xs:string"/>
311     <xs:attribute name="type" type="xs:string"/>
312   </xs:complexType>
313   </xs:element>
314   <xs:element name="operation">
315     <xs:complexType>
316       <xs:attribute name="name" use="required"/>
317     </xs:complexType>
318   </xs:element>
319   <xs:element name="uri">
320     <xs:complexType>
321       <xs:attribute name="name" use="required"/>
322     </xs:complexType>
323   </xs:element>
324   <xs:element name="mime">
325     <xs:complexType>
326       <xs:attribute name="name" use="required"/>
327     </xs:complexType>
328   </xs:element>
329   <xs:element name="subapp">
330     <xs:complexType>
331       <xs:attribute name="name" use="required"/>
332     </xs:complexType>
333   </xs:element>
334 </xs:schema>