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