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