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