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