Merge "packaging: spec cleanup" into tizen
[apps/core/preloaded/settings.git] / manifest.xsd
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:font"/>
19         </xs:choice>
20       </xs:sequence>
21       <xs:attribute name="install-location" type="packages:InstallLocationType"/>
22       <xs:attribute name="package" use="required" type="xs:NCName"/>
23       <xs:attribute name="type" type="packages:PackageType"/>
24       <xs:attribute name="version" use="required" type="xs:NMTOKEN"/>
25       <xs:attribute name="size" type="xs:NMTOKEN"/>
26     </xs:complexType>
27   </xs:element>
28
29     <xs:simpleType name="InstallLocationType">
30       <xs:restriction base="xs:string">
31         <xs:enumeration value="auto"/>
32         <xs:enumeration value="internal-only"/>
33         <xs:enumeration value="prefer-external"/>
34       </xs:restriction>
35     </xs:simpleType>
36     <xs:simpleType name="PackageType">
37       <xs:restriction base="xs:string">
38         <xs:enumeration value="rpm"/>
39         <xs:enumeration value="tpk"/>
40         <xs:enumeration value="wgt"/>
41         <xs:enumeration value="apk"/>
42       </xs:restriction>
43     </xs:simpleType>
44     <xs:simpleType name="TypeType">
45       <xs:restriction base="xs:string">
46         <xs:enumeration value="capp"/>
47         <xs:enumeration value="c++app"/>
48         <xs:enumeration value="webapp"/>
49        </xs:restriction>
50     </xs:simpleType>
51
52   <xs:element name="author">
53     <xs:complexType mixed="true">
54       <xs:attribute name="email"/>
55       <xs:attribute name="href" type="xs:NCName"/>
56       <xs:attribute ref="xml:lang"/>
57     </xs:complexType>
58   </xs:element>
59   <xs:element name="description">
60     <xs:complexType mixed="true">
61       <xs:attribute ref="xml:lang"/>
62     </xs:complexType>
63   </xs:element>
64   <xs:element name="compatibility">
65     <xs:complexType/>
66   </xs:element>
67   <xs:element name="device-profile">
68     <xs:complexType/>
69   </xs:element>
70   <xs:element name="service-application">
71     <xs:complexType>
72       <xs:sequence>
73         <xs:choice maxOccurs="unbounded">
74           <xs:element ref="packages:label"/>
75           <xs:element ref="packages:icon"/>
76           <xs:element ref="packages:application-service"/>
77         </xs:choice>
78       </xs:sequence>
79       <xs:attribute name="appid" use="required" type="xs:NCName"/>
80       <xs:attribute name="auto-restart" use="required" type="xs:boolean"/>
81       <xs:attribute name="exec" use="required"/>
82       <xs:attribute name="on-boot" use="required" type="xs:boolean"/>
83       <xs:attribute name="type" use="required" type="packages:TypeType"/>
84     </xs:complexType>
85   </xs:element>
86   <xs:element name="ui-application">
87     <xs:complexType>
88       <xs:sequence>
89         <xs:choice maxOccurs="unbounded">
90           <xs:element ref="packages:label"/>
91           <xs:element ref="packages:icon"/>
92           <xs:element ref="packages:application-service"/>
93         </xs:choice>
94       </xs:sequence>
95       <xs:attribute name="appid" use="required" type="xs:NCName"/>
96       <xs:attribute name="exec" use="required"/>
97       <xs:attribute name="multiple" type="xs:boolean"/>
98       <xs:attribute name="nodisplay" type="xs:boolean"/>
99       <xs:attribute name="taskmanage" type="xs:boolean"/>
100       <xs:attribute name="type" use="required" type="packages:TypeType"/>
101       <xs:attribute name="categories" type="xs:NCName"/>
102       <xs:attribute name="extraid"/>
103     </xs:complexType>
104   </xs:element>
105   <xs:element name="ime-application">
106     <xs:complexType>
107       <xs:sequence>
108         <xs:choice maxOccurs="unbounded">
109           <xs:element ref="packages:label"/>
110           <xs:element ref="packages:icon"/>
111         </xs:choice>
112       </xs:sequence>
113       <xs:attribute name="appid" use="required" type="xs:NCName"/>
114       <xs:attribute name="exec" use="required" type="xs:NCName"/>
115       <xs:attribute name="multiple" type="xs:boolean"/>
116       <xs:attribute name="nodisplay" type="xs:boolean"/>
117       <xs:attribute name="type" use="required" type="packages:TypeType"/>
118     </xs:complexType>
119   </xs:element>
120   <xs:element name="font">
121     <xs:complexType>
122       <xs:sequence>
123         <xs:element ref="packages:label"/>
124         <xs:element ref="packages:icon"/>
125       </xs:sequence>
126     </xs:complexType>
127   </xs:element>
128   <xs:element name="label">
129     <xs:complexType mixed="true">
130       <xs:attribute ref="xml:lang"/>
131     </xs:complexType>
132   </xs:element>
133   <xs:element name="icon">
134     <xs:complexType>
135       <xs:simpleContent>
136         <xs:extension base="xs:NCName">
137           <xs:attribute ref="xml:lang"/>
138         </xs:extension>
139       </xs:simpleContent>
140     </xs:complexType>
141   </xs:element>
142   <xs:element name="application-service">
143     <xs:complexType>
144       <xs:sequence>
145         <xs:choice maxOccurs="unbounded">
146           <xs:element ref="packages:operation"/>
147           <xs:element ref="packages:uri"/>
148           <xs:element ref="packages:mime"/>
149         </xs:choice>
150       </xs:sequence>
151     </xs:complexType>
152   </xs:element>
153   <xs:element name="operation">
154     <xs:complexType>
155       <xs:attribute name="name" use="required"/>
156     </xs:complexType>
157   </xs:element>
158   <xs:element name="uri">
159     <xs:complexType>
160       <xs:attribute name="name" use="required"/>
161     </xs:complexType>
162   </xs:element>
163   <xs:element name="mime">
164     <xs:complexType>
165       <xs:attribute name="name" use="required"/>
166     </xs:complexType>
167   </xs:element>
168 </xs:schema>