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