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