implement app format tag
[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:device-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="type" type="packages:PackageType"/>
31       <xs:attribute name="version" use="required" type="xs:NMTOKEN"/>
32       <xs:attribute name="size" type="xs:NMTOKEN"/>
33           <xs:attribute name="root_path" type="xs:string"/>
34           <xs:attribute name="csc_path" type="xs:string"/>
35           <xs:attribute name="appsetting" type="xs:boolean"/>
36           <xs:attribute name="nodisplay-setting" type="xs:boolean"/>
37           <xs:attribute name="url" type="xs:string"/>
38     </xs:complexType>
39   </xs:element>
40
41     <xs:simpleType name="InstallLocationType">
42       <xs:restriction base="xs:string">
43         <xs:enumeration value="auto"/>
44         <xs:enumeration value="internal-only"/>
45         <xs:enumeration value="prefer-external"/>
46       </xs:restriction>
47     </xs:simpleType>
48     <xs:simpleType name="PackageType">
49       <xs:restriction base="xs:string">
50         <xs:enumeration value="rpm"/>
51         <xs:enumeration value="tpk"/>
52         <xs:enumeration value="wgt"/>
53         <xs:enumeration value="apk"/>
54       </xs:restriction>
55     </xs:simpleType>
56     <xs:simpleType name="TypeType">
57       <xs:restriction base="xs:string">
58         <xs:enumeration value="capp"/>
59         <xs:enumeration value="c++app"/>
60         <xs:enumeration value="webapp"/>
61        </xs:restriction>
62     </xs:simpleType>
63     <xs:simpleType name="HwAccelerationType">
64       <xs:restriction base="xs:string">
65         <xs:enumeration value="use-GL"/>
66         <xs:enumeration value="not-use-GL"/>
67         <xs:enumeration value="use-system-setting"/>
68        </xs:restriction>
69     </xs:simpleType>
70         <xs:simpleType name="RecentImage">
71           <xs:restriction base="xs:string">
72                 <xs:enumeration value="icon"/>
73                 <xs:enumeration value="capture"/>
74            </xs:restriction>
75         </xs:simpleType>
76
77   <xs:element name="author">
78     <xs:complexType mixed="true">
79       <xs:attribute name="email"/>
80       <xs:attribute name="href"/>
81       <xs:attribute ref="xml:lang"/>
82     </xs:complexType>
83   </xs:element>
84   <xs:element name="description">
85     <xs:complexType mixed="true">
86       <xs:attribute ref="xml:lang"/>
87     </xs:complexType>
88   </xs:element>
89   <xs:element name="compatibility">
90     <xs:complexType/>
91   </xs:element>
92   <xs:element name="device-profile">
93     <xs:complexType/>
94   </xs:element>
95   <xs:element name="service-application">
96     <xs:complexType>
97       <xs:sequence>
98         <xs:choice maxOccurs="unbounded" minOccurs="0">
99           <xs:element ref="packages:label"/>
100           <xs:element ref="packages:icon"/>
101           <xs:element ref="packages:application-service"/>
102           <xs:element ref="packages:app-control"/>
103           <xs:element ref="packages:category"/>
104           <xs:element ref="packages:metadata"/>
105                   <xs:element ref="packages:permission"/>
106         </xs:choice>
107       </xs:sequence>
108       <xs:attribute name="appid" use="required" type="xs:string"/>
109       <xs:attribute name="auto-restart" use="required" type="xs:boolean"/>
110       <xs:attribute name="exec" use="required"/>
111       <xs:attribute name="on-boot" use="required" type="xs:boolean"/>
112       <xs:attribute name="type" use="required" type="packages:TypeType"/>
113           <xs:attribute name="permission-type" type="xs:string"/>
114     </xs:complexType>
115   </xs:element>
116   <xs:element name="ui-application">
117     <xs:complexType>
118       <xs:sequence>
119         <xs:choice maxOccurs="unbounded" minOccurs="0">
120           <xs:element ref="packages:label"/>
121           <xs:element ref="packages:icon"/>
122                   <xs:element ref="packages:image"/>
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:choice>
129       </xs:sequence>
130       <xs:attribute name="appid" use="required" type="xs:string"/>
131       <xs:attribute name="exec" use="required"/>
132       <xs:attribute name="multiple" type="xs:boolean"/>
133       <xs:attribute name="nodisplay" type="xs:boolean"/>
134       <xs:attribute name="taskmanage" type="xs:boolean"/>
135       <xs:attribute name="enabled" type="xs:boolean"/>
136       <xs:attribute name="type" use="required" type="packages:TypeType"/>
137       <xs:attribute name="categories" type="xs:NCName"/>
138       <xs:attribute name="extraid"/>
139       <xs:attribute name="hw-acceleration" type="packages:HwAccelerationType"/>
140           <xs:attribute name="recentimage" type="packages:RecentImage"/>
141           <xs:attribute name="mainapp" type="xs:boolean"/>
142       <xs:attribute name="indicatordisplay" type="xs:boolean"/>
143       <xs:attribute name="portrait-effectimage" type="xs:string"/>
144       <xs:attribute name="landscape-effectimage" type="xs:string"/>
145       <xs:attribute name="guestmode-visibility" type="xs:string"/>
146           <xs:attribute name="launchcondition" type="xs:boolean"/>
147           <xs:attribute name="permission-type" type="xs:string"/>
148           <xs:attribute name="component-type" type="xs:string"/>
149     </xs:complexType>
150   </xs:element>
151   <xs:element name="ime-application">
152     <xs:complexType>
153       <xs:sequence>
154         <xs:choice maxOccurs="unbounded">
155           <xs:element ref="packages:label"/>
156           <xs:element ref="packages:icon"/>
157         </xs:choice>
158       </xs:sequence>
159       <xs:attribute name="appid" use="required" type="xs:string"/>
160       <xs:attribute name="exec" use="required" type="xs:NCName"/>
161       <xs:attribute name="multiple" type="xs:boolean"/>
162       <xs:attribute name="nodisplay" type="xs:boolean"/>
163       <xs:attribute name="type" use="required" type="packages:TypeType"/>
164     </xs:complexType>
165   </xs:element>
166   <xs:element name="shortcut-list">
167   </xs:element>
168   <xs:element name="livebox">
169   </xs:element>
170   <xs:element name="account">
171   </xs:element>
172   <xs:element name="notifications">
173   </xs:element>
174   <xs:element name="ime">
175   </xs:element>
176   <xs:element name="privileges">
177     <xs:complexType>
178       <xs:sequence>
179         <xs:choice maxOccurs="unbounded" minOccurs="0">
180           <xs:element ref="packages:privilege"/>
181         </xs:choice>
182       </xs:sequence>
183     </xs:complexType>
184   </xs:element>
185   <xs:element name="privilege">
186   </xs:element>
187   <xs:element name="font">
188   </xs:element>
189   <xs:element name="label">
190     <xs:complexType mixed="true">
191       <xs:attribute ref="xml:lang"/>
192     </xs:complexType>
193   </xs:element>
194   <xs:element name="icon">
195         <xs:complexType mixed="true">
196           <xs:attribute ref="xml:lang"/>
197           <xs:attribute name="section" type="xs:string"/>
198           <xs:attribute name="resolution" type="packages:ResolutionType"/>
199         </xs:complexType>
200   </xs:element>
201   <xs:element name="image">
202         <xs:complexType mixed="true">
203           <xs:attribute ref="xml:lang"/>
204           <xs:attribute name="section" type="xs:string"/>
205         </xs:complexType>
206   </xs:element>
207   <xs:simpleType name="SectionType">
208         <xs:restriction base="xs:string">
209           <xs:enumeration value="notification"/>
210           <xs:enumeration value="setting"/>
211          </xs:restriction>
212   </xs:simpleType>
213   <xs:simpleType name="ResolutionType">
214         <xs:restriction base="xs:string">
215           <xs:enumeration value="xhigh"/>
216           <xs:enumeration value="high"/>
217          </xs:restriction>
218   </xs:simpleType>
219   <xs:element name="application-service">
220     <xs:complexType>
221       <xs:sequence>
222         <xs:choice maxOccurs="unbounded">
223           <xs:element ref="packages:operation"/>
224           <xs:element ref="packages:uri"/>
225           <xs:element ref="packages:mime"/>
226           <xs:element ref="packages:subapp"/>
227         </xs:choice>
228       </xs:sequence>
229     </xs:complexType>
230   </xs:element>
231   <xs:element name="app-control">
232     <xs:complexType>
233       <xs:sequence>
234         <xs:choice maxOccurs="unbounded">
235           <xs:element ref="packages:operation"/>
236           <xs:element ref="packages:uri"/>
237           <xs:element ref="packages:mime"/>
238           <xs:element ref="packages:subapp"/>
239         </xs:choice>
240       </xs:sequence>
241     </xs:complexType>
242   </xs:element>
243   <xs:element name="category">
244     <xs:complexType>
245       <xs:sequence>
246         <xs:choice maxOccurs="unbounded">
247           <xs:any minOccurs="0" processContents="lax"/>
248         </xs:choice>
249       </xs:sequence>
250       <xs:anyAttribute processContents="lax"/>
251     </xs:complexType>
252   </xs:element>
253   <xs:element name="metadata">
254     <xs:complexType>
255       <xs:attribute name="key" use="required" type="xs:string"/>
256       <xs:attribute name="value" type="xs:string"/>
257     </xs:complexType>
258   </xs:element>
259   <xs:element name="permission">
260         <xs:complexType>
261           <xs:attribute name="type" type="xs:string"/>
262         </xs:complexType>
263   </xs:element>
264   <xs:element name="operation">
265     <xs:complexType>
266       <xs:attribute name="name" use="required"/>
267     </xs:complexType>
268   </xs:element>
269   <xs:element name="uri">
270     <xs:complexType>
271       <xs:attribute name="name" use="required"/>
272     </xs:complexType>
273   </xs:element>
274   <xs:element name="mime">
275     <xs:complexType>
276       <xs:attribute name="name" use="required"/>
277     </xs:complexType>
278   </xs:element>
279   <xs:element name="subapp">
280     <xs:complexType>
281       <xs:attribute name="name" use="required"/>
282     </xs:complexType>
283   </xs:element>
284 </xs:schema>