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