Revise manifest.xsd.in
[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:choice>
26       </xs:sequence>
27       <xs:attribute name="storeclient-id" type="xs:string"/>
28       <xs:attribute name="install-location" type="packages:InstallLocationType"/>
29       <xs:attribute name="package" use="required" type="xs:string"/>
30       <xs:attribute name="main_package" 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" use="required" type="xs:boolean"/>
133       <xs:attribute name="exec" use="required"/>
134       <xs:attribute name="on-boot" use="required" 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" use="required" type="xs:boolean"/>
181     </xs:complexType>
182   </xs:element>
183   <xs:element name="ime-application">
184     <xs:complexType>
185       <xs:sequence>
186         <xs:choice maxOccurs="unbounded">
187           <xs:element ref="packages:label"/>
188           <xs:element ref="packages:icon"/>
189         </xs:choice>
190       </xs:sequence>
191       <xs:attribute name="appid" use="required" type="xs:string"/>
192       <xs:attribute name="exec" use="required" type="xs:NCName"/>
193       <xs:attribute name="multiple" type="xs:boolean"/>
194       <xs:attribute name="nodisplay" type="xs:boolean"/>
195       <xs:attribute name="type" use="required" type="packages:TypeType"/>
196     </xs:complexType>
197   </xs:element>
198   <xs:element name="shortcut-list">
199   </xs:element>
200   <xs:element name="livebox">
201   </xs:element>
202   <xs:element name="account">
203   </xs:element>
204   <xs:element name="notifications">
205   </xs:element>
206   <xs:element name="ime">
207   </xs:element>
208   <xs:element name="privileges">
209     <xs:complexType>
210       <xs:sequence>
211         <xs:choice maxOccurs="unbounded" minOccurs="0">
212           <xs:element ref="packages:privilege"/>
213         </xs:choice>
214       </xs:sequence>
215     </xs:complexType>
216   </xs:element>
217   <xs:element name="privilege">
218   </xs:element>
219   <xs:element name="font">
220   </xs:element>
221   <xs:element name="label">
222     <xs:complexType mixed="true">
223       <xs:attribute ref="xml:lang"/>
224     </xs:complexType>
225   </xs:element>
226   <xs:element name="icon">
227   <xs:complexType mixed="true">
228     <xs:attribute ref="xml:lang"/>
229     <xs:attribute name="section" type="xs:string"/>
230     <xs:attribute name="resolution" type="packages:ResolutionType"/>
231   </xs:complexType>
232   </xs:element>
233   <xs:element name="image">
234   <xs:complexType mixed="true">
235     <xs:attribute ref="xml:lang"/>
236     <xs:attribute name="section" type="xs:string"/>
237   </xs:complexType>
238   </xs:element>
239   <xs:simpleType name="SectionType">
240   <xs:restriction base="xs:string">
241     <xs:enumeration value="notification"/>
242     <xs:enumeration value="setting"/>
243    </xs:restriction>
244   </xs:simpleType>
245   <xs:simpleType name="LaunchType">
246   <xs:restriction base="xs:string">
247     <xs:enumeration value="caller"/>
248     <xs:enumeration value="single"/>
249     <xs:enumeration value="group"/>
250    </xs:restriction>
251   </xs:simpleType>
252   <xs:simpleType name="ResolutionType">
253   <xs:restriction base="xs:string">
254     <xs:enumeration value="xhigh"/>
255     <xs:enumeration value="high"/>
256    </xs:restriction>
257   </xs:simpleType>
258   <xs:element name="application-service">
259     <xs:complexType>
260       <xs:sequence>
261         <xs:choice maxOccurs="unbounded">
262           <xs:element ref="packages:operation"/>
263           <xs:element ref="packages:uri"/>
264           <xs:element ref="packages:mime"/>
265           <xs:element ref="packages:subapp"/>
266         </xs:choice>
267       </xs:sequence>
268     </xs:complexType>
269   </xs:element>
270   <xs:element name="app-control">
271     <xs:complexType>
272       <xs:sequence>
273         <xs:choice maxOccurs="unbounded">
274           <xs:element ref="packages:operation"/>
275           <xs:element ref="packages:uri"/>
276           <xs:element ref="packages:mime"/>
277           <xs:element ref="packages:subapp"/>
278         </xs:choice>
279       </xs:sequence>
280     </xs:complexType>
281   </xs:element>
282   <xs:element name="category">
283     <xs:complexType>
284       <xs:sequence>
285         <xs:choice maxOccurs="unbounded">
286           <xs:any minOccurs="0" processContents="lax"/>
287         </xs:choice>
288       </xs:sequence>
289       <xs:anyAttribute processContents="lax"/>
290     </xs:complexType>
291   </xs:element>
292   <xs:element name="metadata">
293     <xs:complexType>
294       <xs:attribute name="key" use="required" type="xs:string"/>
295       <xs:attribute name="value" type="xs:string"/>
296     </xs:complexType>
297   </xs:element>
298   <xs:element name="permission">
299   <xs:complexType>
300     <xs:attribute name="type" type="xs:string"/>
301   </xs:complexType>
302   </xs:element>
303   <xs:element name="datacontrol">
304   <xs:complexType>
305     <xs:attribute name="providerid" type="xs:string"/>
306     <xs:attribute name="access" type="xs:string"/>
307     <xs:attribute name="type" type="xs:string"/>
308   </xs:complexType>
309   </xs:element>
310   <xs:element name="operation">
311     <xs:complexType>
312       <xs:attribute name="name" use="required"/>
313     </xs:complexType>
314   </xs:element>
315   <xs:element name="uri">
316     <xs:complexType>
317       <xs:attribute name="name" use="required"/>
318     </xs:complexType>
319   </xs:element>
320   <xs:element name="mime">
321     <xs:complexType>
322       <xs:attribute name="name" use="required"/>
323     </xs:complexType>
324   </xs:element>
325   <xs:element name="subapp">
326     <xs:complexType>
327       <xs:attribute name="name" use="required"/>
328     </xs:complexType>
329   </xs:element>
330 </xs:schema>