Add manifest scheme of package dependency
[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:choice maxOccurs="unbounded">
8         <xs:element ref="packages:label"/>
9         <xs:element ref="packages:icon"/>
10         <xs:element ref="packages:author"/>
11         <xs:element ref="packages:description"/>
12         <xs:element ref="packages:compatibility"/>
13         <xs:element ref="packages:profile"/>
14         <xs:element ref="packages:watch-application"/>
15         <xs:element ref="packages:watchface"/>
16         <xs:element ref="packages:service-application"/>
17         <xs:element ref="packages:ui-application"/>
18         <xs:element ref="packages:ime-application"/>
19         <xs:element ref="packages:shortcut-list"/>
20         <xs:element ref="packages:widget"/>
21         <xs:element ref="packages:widget-application"/>
22         <xs:element ref="packages:account"/>
23         <xs:element ref="packages:notifications"/>
24         <xs:element ref="packages:privileges"/>
25         <xs:element ref="packages:font"/>
26         <xs:element ref="packages:ime"/>
27         <xs:element ref="packages:feature"/>
28         <xs:element ref="packages:trust-anchor"/>
29         <xs:element ref="packages:component-based-application"/>
30         <xs:element ref="packages:dependencies"/>
31         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
32       </xs:choice>
33       <xs:attribute name="storeclient-id" type="xs:string"/>
34       <xs:attribute name="install-location" type="xs:string"/>
35       <xs:attribute name="package" use="required" type="xs:string"/>
36       <xs:attribute name="type" type="xs:string"/>
37       <xs:attribute name="version" use="required" type="xs:string"/>
38       <xs:attribute name="size" type="xs:NMTOKEN"/>
39       <xs:attribute name="root_path" type="xs:string"/>
40       <xs:attribute name="csc_path" type="xs:string"/>
41       <xs:attribute name="appsetting" type="xs:boolean"/>
42       <xs:attribute name="nodisplay-setting" type="xs:boolean"/>
43       <xs:attribute name="url" type="xs:string"/>
44       <xs:attribute name="support-disable" type="xs:boolean"/>
45       <xs:attribute name="api-version" type="xs:string"/>
46       <xs:attribute name="backend-installer" type="xs:string"/>
47       <xs:attribute name="preload" type="xs:boolean"/>
48       <xs:anyAttribute namespace="##any" processContents="lax"/>
49     </xs:complexType>
50   </xs:element>
51
52   <xs:element name="author">
53     <xs:complexType mixed="true">
54       <xs:attribute name="email"/>
55       <xs:attribute name="href"/>
56       <xs:attribute ref="xml:lang"/>
57       <xs:anyAttribute namespace="##any" processContents="lax"/>
58     </xs:complexType>
59   </xs:element>
60   <xs:element name="description">
61     <xs:complexType mixed="true">
62       <xs:attribute ref="xml:lang"/>
63       <xs:anyAttribute namespace="##any" processContents="lax"/>
64     </xs:complexType>
65   </xs:element>
66   <xs:element name="compatibility">
67     <xs:complexType>
68       <xs:anyAttribute namespace="##any" processContents="lax"/>
69     </xs:complexType>
70   </xs:element>
71   <xs:element name="profile">
72     <xs:complexType>
73       <xs:attribute name="name" use="required" type="xs:string"/>
74       <xs:anyAttribute namespace="##any" processContents="lax"/>
75     </xs:complexType>
76   </xs:element>
77   <xs:element name="watch-application">
78     <xs:complexType>
79       <xs:choice maxOccurs="unbounded" minOccurs="0">
80         <xs:element ref="packages:label"/>
81         <xs:element ref="packages:icon"/>
82         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
83       </xs:choice>
84       <xs:attribute name="appid" use="required" type="xs:string"/>
85       <xs:attribute name="exec" use="required"/>
86       <xs:attribute name="ambient-support" type="xs:boolean"/>
87       <xs:anyAttribute namespace="##any" processContents="lax"/>
88     </xs:complexType>
89   </xs:element>
90   <xs:element name="watchface">
91   </xs:element>
92   <xs:element name="service-application">
93     <xs:complexType>
94       <xs:choice maxOccurs="unbounded" minOccurs="0">
95         <xs:element ref="packages:label"/>
96         <xs:element ref="packages:icon"/>
97         <xs:element ref="packages:application-service"/>
98         <xs:element ref="packages:app-control"/>
99         <xs:element ref="packages:category"/>
100         <xs:element ref="packages:metadata"/>
101         <xs:element ref="packages:permission"/>
102         <xs:element ref="packages:datacontrol"/>
103         <xs:element ref="packages:background-category"/>
104         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
105       </xs:choice>
106       <xs:attribute name="appid" use="required" type="xs:string"/>
107       <xs:attribute name="auto-restart" type="xs:boolean"/>
108       <xs:attribute name="exec" use="required"/>
109       <xs:attribute name="on-boot" type="xs:boolean"/>
110       <xs:attribute name="type" use="required" type="xs:string"/>
111       <xs:attribute name="multiple" type="xs:boolean"/>
112       <xs:attribute name="taskmanage" type="xs:boolean"/>
113       <xs:attribute name="permission-type" type="xs:string"/>
114       <xs:attribute name="component-type" type="xs:string"/>
115       <xs:attribute name="nodisplay" type="xs:boolean"/>
116       <xs:anyAttribute namespace="##any" processContents="lax"/>
117     </xs:complexType>
118   </xs:element>
119   <xs:element name="ui-application">
120     <xs:complexType>
121       <xs:choice maxOccurs="unbounded" minOccurs="0">
122         <xs:element ref="packages:label"/>
123         <xs:element ref="packages:icon"/>
124         <xs:element ref="packages:image"/>
125         <xs:element ref="packages:application-service"/>
126         <xs:element ref="packages:app-control"/>
127         <xs:element ref="packages:category"/>
128         <xs:element ref="packages:metadata"/>
129         <xs:element ref="packages:permission"/>
130         <xs:element ref="packages:datacontrol"/>
131         <xs:element ref="packages:background-category"/>
132         <xs:element ref="packages:splash-screens"/>
133         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
134       </xs:choice>
135       <xs:attribute name="appid" use="required" type="xs:string"/>
136       <xs:attribute name="exec" use="required"/>
137       <xs:attribute name="multiple" type="xs:boolean"/>
138       <xs:attribute name="nodisplay" type="xs:boolean"/>
139       <xs:attribute name="taskmanage" type="xs:boolean"/>
140       <xs:attribute name="enabled" type="xs:boolean"/>
141       <xs:attribute name="type" use="required" type="xs:string"/>
142       <xs:attribute name="categories" type="xs:NCName"/>
143       <xs:attribute name="extraid"/>
144       <xs:attribute name="hw-acceleration" type="xs:string"/>
145       <xs:attribute name="screen-reader" type="xs:string"/>
146       <xs:attribute name="recentimage" type="xs:string"/>
147       <xs:attribute name="mainapp" type="xs:boolean"/>
148       <xs:attribute name="indicatordisplay" type="xs:boolean"/>
149       <xs:attribute name="portrait-effectimage" type="xs:string"/>
150       <xs:attribute name="landscape-effectimage" type="xs:string"/>
151       <xs:attribute name="effectimage-type" type="xs:string"/>
152       <xs:attribute name="guestmode-visibility" type="xs:string"/>
153       <xs:attribute name="launchcondition" type="xs:boolean"/>
154       <xs:attribute name="permission-type" type="xs:string"/>
155       <xs:attribute name="component-type" type="xs:string"/>
156       <xs:attribute name="submode" type="xs:boolean"/>
157       <xs:attribute name="submode-mainid" type="xs:string"/>
158       <xs:attribute name="process-pool" type="xs:boolean"/>
159       <xs:attribute name="auto-restart" type="xs:boolean"/>
160       <xs:attribute name="on-boot" type="xs:boolean"/>
161       <xs:attribute name="multi-instance" type="xs:boolean"/>
162       <xs:attribute name="multi-instance-mainid" type="xs:string"/>
163       <xs:attribute name="ui-gadget" type="xs:boolean"/>
164       <xs:attribute name="launch_mode" type="xs:string"/>
165       <xs:attribute name="splash-screen-display" type="xs:boolean"/>
166       <xs:anyAttribute namespace="##any" processContents="lax"/>
167     </xs:complexType>
168   </xs:element>
169   <xs:element name="ime-application">
170     <xs:complexType>
171       <xs:choice maxOccurs="unbounded">
172         <xs:element ref="packages:label"/>
173         <xs:element ref="packages:icon"/>
174         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
175       </xs:choice>
176       <xs:attribute name="appid" use="required" type="xs:string"/>
177       <xs:attribute name="exec" use="required" type="xs:NCName"/>
178       <xs:attribute name="multiple" type="xs:boolean"/>
179       <xs:attribute name="nodisplay" type="xs:boolean"/>
180       <xs:attribute name="type" use="required" type="xs:string"/>
181       <xs:anyAttribute namespace="##any" processContents="lax"/>
182     </xs:complexType>
183   </xs:element>
184   <xs:element name="shortcut-list">
185   </xs:element>
186   <xs:element name="widget">
187   </xs:element>
188   <xs:element name="widget-application">
189     <xs:complexType>
190       <xs:choice maxOccurs="unbounded" minOccurs="0">
191         <xs:element ref="packages:label"/>
192         <xs:element ref="packages:icon"/>
193         <xs:element ref="packages:metadata"/>
194         <xs:element ref="packages:support-size"/>
195         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
196       </xs:choice>
197       <xs:attribute name="appid" use="required" type="xs:string"/>
198       <xs:attribute name="exec" use="required"/>
199       <xs:attribute name="main" type="xs:boolean"/>
200       <xs:attribute name="update-period" type="xs:nonNegativeInteger"/>
201       <xs:attribute name="max-instance" type="xs:nonNegativeInteger"/>
202       <xs:attribute name="preview" type="xs:string"/>
203       <xs:anyAttribute namespace="##any" processContents="lax"/>
204     </xs:complexType>
205   </xs:element>
206   <xs:element name="account">
207   </xs:element>
208   <xs:element name="notifications">
209   </xs:element>
210   <xs:element name="ime">
211   </xs:element>
212   <xs:element name="feature">
213   </xs:element>
214   <xs:element name="trust-anchor">
215     <xs:complexType>
216       <xs:attribute name="use-system-certs" type="xs:string"/>
217     </xs:complexType>
218   </xs:element>
219   <xs:element name="privileges">
220     <xs:complexType>
221       <xs:choice maxOccurs="unbounded" minOccurs="0">
222         <xs:element ref="packages:privilege"/>
223         <xs:element ref="packages:appdefined-privilege"/>
224       </xs:choice>
225     </xs:complexType>
226   </xs:element>
227   <xs:element name="privilege">
228     <xs:complexType mixed="true">
229       <xs:attribute name="type" type="xs:string"/>
230     </xs:complexType>
231   </xs:element>
232   <xs:element name="provides-appdefined-privileges">
233     <xs:complexType>
234       <xs:choice maxOccurs="unbounded" minOccurs="0">
235         <xs:element ref="packages:appdefined-privilege"/>
236       </xs:choice>
237     </xs:complexType>
238   </xs:element>
239   <xs:element name="appdefined-privilege">
240     <xs:complexType mixed="true">
241       <xs:attribute name="type" type="xs:string"/>
242       <xs:attribute name="license" type="xs:string"/>
243     </xs:complexType>
244   </xs:element>
245   <xs:element name="font">
246   </xs:element>
247   <xs:element name="label">
248     <xs:complexType mixed="true">
249       <xs:attribute ref="xml:lang"/>
250       <xs:anyAttribute namespace="##any" processContents="lax"/>
251     </xs:complexType>
252   </xs:element>
253   <xs:element name="icon">
254   <xs:complexType mixed="true">
255     <xs:attribute ref="xml:lang"/>
256     <xs:attribute name="section" type="xs:string"/>
257     <xs:attribute name="resolution" type="xs:string"/>
258     <xs:attribute name="dpi" type="xs:string"/>
259     <xs:anyAttribute namespace="##any" processContents="lax"/>
260   </xs:complexType>
261   </xs:element>
262   <xs:element name="image">
263   <xs:complexType mixed="true">
264     <xs:attribute ref="xml:lang"/>
265     <xs:attribute name="section" type="xs:string"/>
266       <xs:anyAttribute namespace="##any" processContents="lax"/>
267   </xs:complexType>
268   </xs:element>
269   <xs:element name="application-service">
270     <xs:complexType>
271       <xs:choice maxOccurs="unbounded">
272         <xs:element ref="packages:operation"/>
273         <xs:element ref="packages:uri"/>
274         <xs:element ref="packages:mime"/>
275         <xs:element ref="packages:subapp"/>
276         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
277       </xs:choice>
278     </xs:complexType>
279   </xs:element>
280   <xs:element name="app-control">
281     <xs:complexType>
282       <xs:choice maxOccurs="unbounded">
283         <xs:element ref="packages:operation"/>
284         <xs:element ref="packages:uri"/>
285         <xs:element ref="packages:mime"/>
286         <xs:element ref="packages:subapp"/>
287         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
288       </xs:choice>
289       <xs:attribute name="id" type="xs:string"/>
290       <xs:attribute name="visibility" type="xs:string"/>
291       <xs:anyAttribute namespace="##any" processContents="lax"/>
292     </xs:complexType>
293   </xs:element>
294   <xs:element name="category">
295     <xs:complexType>
296       <xs:choice maxOccurs="unbounded">
297         <xs:any minOccurs="0" processContents="lax"/>
298       </xs:choice>
299       <xs:attribute name="name" use="required"/>
300       <xs:anyAttribute processContents="lax"/>
301     </xs:complexType>
302   </xs:element>
303   <xs:element name="metadata">
304     <xs:complexType>
305       <xs:attribute name="key" use="required" type="xs:string"/>
306       <xs:attribute name="value" type="xs:string"/>
307       <xs:anyAttribute processContents="lax"/>
308     </xs:complexType>
309   </xs:element>
310   <xs:element name="permission">
311   <xs:complexType>
312     <xs:attribute name="type" type="xs:string"/>
313     <xs:anyAttribute processContents="lax"/>
314   </xs:complexType>
315   </xs:element>
316   <xs:element name="datacontrol">
317   <xs:complexType>
318     <xs:choice maxOccurs="unbounded" minOccurs="0">
319       <xs:element ref="packages:privilege"/>
320     </xs:choice>
321     <xs:attribute name="providerid" type="xs:string"/>
322     <xs:attribute name="access" type="xs:string"/>
323     <xs:attribute name="type" type="xs:string"/>
324     <xs:attribute name="trusted" type="xs:boolean"/>
325     <xs:anyAttribute processContents="lax"/>
326   </xs:complexType>
327   </xs:element>
328   <xs:element name="operation">
329     <xs:complexType>
330       <xs:attribute name="name" use="required"/>
331       <xs:anyAttribute processContents="lax"/>
332     </xs:complexType>
333   </xs:element>
334   <xs:element name="uri">
335     <xs:complexType>
336       <xs:attribute name="name" use="required"/>
337       <xs:anyAttribute processContents="lax"/>
338     </xs:complexType>
339   </xs:element>
340   <xs:element name="mime">
341     <xs:complexType>
342       <xs:attribute name="name" use="required"/>
343       <xs:anyAttribute processContents="lax"/>
344     </xs:complexType>
345   </xs:element>
346   <xs:element name="subapp">
347     <xs:complexType>
348       <xs:attribute name="name" use="required"/>
349       <xs:anyAttribute namespace="##any" processContents="lax"/>
350     </xs:complexType>
351   </xs:element>
352   <xs:element name="background-category">
353     <xs:complexType mixed="true">
354       <xs:attribute name="value" type="xs:string"/>
355       <xs:anyAttribute namespace="##any" processContents="lax"/>
356     </xs:complexType>
357   </xs:element>
358   <xs:element name="support-size">
359   </xs:element>
360   <xs:element name="splash-screens">
361     <xs:complexType>
362       <xs:choice maxOccurs="unbounded" minOccurs="0">
363         <xs:element ref="packages:splash-screen"/>
364         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
365       </xs:choice>
366     </xs:complexType>
367   </xs:element>
368   <xs:element name="splash-screen">
369     <xs:complexType>
370       <xs:attribute name="src" use="required" type="xs:string"/>
371       <xs:attribute name="type" use="required" type="xs:string"/>
372       <xs:attribute name="dpi" type="xs:string"/>
373       <xs:attribute name="orientation" use="required" type="xs:string"/>
374       <xs:attribute name="indicator-display" type="xs:string"/>
375       <xs:attribute name="app-control-operation" type="xs:string"/>
376       <xs:attribute name="color-depth" type="xs:string"/>
377       <xs:anyAttribute namespace="##any" processContents="lax"/>
378     </xs:complexType>
379   </xs:element>
380   <xs:element name="component-based-application">
381     <xs:complexType>
382       <xs:choice maxOccurs="unbounded" minOccurs="0">
383         <xs:element ref="packages:icon"/>
384         <xs:element ref="packages:label"/>
385         <xs:element ref="packages:metadata"/>
386         <xs:element ref="packages:background-category"/>
387         <xs:element ref="packages:frame-component"/>
388         <xs:element ref="packages:service-component"/>
389         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
390       </xs:choice>
391       <xs:attribute name="appid" use="required" type="xs:string"/>
392       <xs:attribute name="exec" use="required"/>
393       <xs:attribute name="type" use="required" type="xs:string"/>
394       <xs:anyAttribute namespace="##any" processContents="lax"/>
395     </xs:complexType>
396   </xs:element>
397   <xs:element name="frame-component">
398     <xs:complexType>
399       <xs:choice maxOccurs="unbounded" minOccurs="0">
400         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
401       </xs:choice>
402       <xs:attribute name="id" use="required" type="xs:string"/>
403       <xs:attribute name="launch_mode" type="xs:string"/>
404     </xs:complexType>
405   </xs:element>
406   <xs:element name="service-component">
407     <xs:complexType>
408       <xs:choice maxOccurs="unbounded" minOccurs="0">
409         <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax"/>
410       </xs:choice>
411       <xs:attribute name="id" use="required" type="xs:string"/>
412     </xs:complexType>
413   </xs:element>
414   <xs:element name="dependencies">
415     <xs:complexType>
416       <xs:choice maxOccurs="unbounded" minOccurs="0">
417         <xs:element ref="packages:dependency"/>
418       </xs:choice>
419     </xs:complexType>
420   </xs:element>
421   <xs:element name="dependency">
422     <xs:complexType mixed="true">
423       <xs:attribute name="type" use="required" type="xs:string"/>
424       <xs:attribute name="required-version" type="xs:string"/>
425     </xs:complexType>
426   </xs:element>
427 </xs:schema>