Update xsd to support CSP & allow-navigation
[platform/framework/web/wrt-installer.git] / configuration / config.tizen.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Widget Configuration Document Extensions XSD For TIZEN -->
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tizen="http://tizen.org/ns/widgets" targetNamespace="http://tizen.org/ns/widgets">
4     <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
5     <xs:simpleType name="data.boolean">
6         <xs:restriction base="xs:string">
7             <xs:enumeration value="true"/>
8             <xs:enumeration value="false"/>
9         </xs:restriction>
10     </xs:simpleType>
11
12     <xs:simpleType name="appserviceOperationType">
13         <xs:restriction base="xs:anyURI"/>
14     </xs:simpleType>
15
16     <xs:simpleType name="PackageType">
17         <xs:restriction base="xs:string">
18             <xs:pattern value="[0-9a-zA-Z]{10}"/>
19         </xs:restriction>
20     </xs:simpleType>
21
22     <xs:simpleType name="applicationIdType">
23         <xs:restriction base="xs:string">
24             <xs:pattern value="[0-9a-zA-Z]{10}[.][0-9a-zA-Z]{1,}"/>
25         </xs:restriction>
26     </xs:simpleType>
27
28     <xs:simpleType name="screenOrientationType">
29         <xs:restriction base="xs:token">
30             <xs:enumeration value="portrait"/>
31             <xs:enumeration value="landscape"/>
32         </xs:restriction>
33     </xs:simpleType>
34
35     <xs:simpleType name="activationType">
36         <xs:restriction base="xs:token">
37             <xs:enumeration value="enable"/>
38             <xs:enumeration value="disable"/>
39         </xs:restriction>
40     </xs:simpleType>
41
42     <xs:simpleType name="appWidgetIdType">
43         <xs:restriction base="xs:string">
44             <xs:pattern value="[0-9a-zA-Z]{10}.[0-9a-zA-Z]{1,}.[0-9a-zA-Z]{1,}"/>
45         </xs:restriction>
46     </xs:simpleType>
47
48     <xs:simpleType name="updatePeriodType">
49         <xs:restriction base="xs:float">
50             <xs:minInclusive value="60"/>
51         </xs:restriction>
52     </xs:simpleType>
53
54     <xs:element name="content">
55         <xs:complexType>
56             <xs:attribute name="src" use="required" type="xs:anyURI"/>
57         </xs:complexType>
58     </xs:element>
59
60     <xs:element name="application">
61         <xs:complexType>
62             <xs:attribute name="id" type="tizen:applicationIdType" use="required"/>
63             <xs:attribute name="package" type="tizen:PackageType" use="required"/>
64             <xs:attribute name="required_version" type="xs:float" use="required"/>
65         </xs:complexType>
66     </xs:element>
67
68     <xs:element name="setting">
69         <xs:complexType>
70             <xs:attribute name="screen-orientation" type="tizen:screenOrientationType" use="optional"/> <!-- default: portrait -->
71             <xs:attribute name="context-menu" type="tizen:activationType" use="optional"/> <!-- default: enable -->
72             <xs:attribute name="background-support" type="tizen:activationType" use="optional"/> <!-- default: enable -->
73             <xs:attribute name="encryption" type="tizen:activationType" use="optional"/> <!-- default: disable -->
74             <xs:attribute name="install-location" type="tizen:InstallLocationType" use="optional"/>
75             <xs:attribute name="nodisplay" type="tizen:data.boolean" use="optional"/> <!-- default: false -->
76         </xs:complexType>
77     </xs:element>
78
79     <xs:element name="app-control">
80       <xs:complexType>
81         <xs:sequence>
82           <xs:choice maxOccurs="unbounded">
83             <xs:element ref="tizen:src"/>
84             <xs:element ref="tizen:operation"/>
85             <xs:element ref="tizen:uri"/>
86             <xs:element ref="tizen:mime"/>
87           </xs:choice>
88         </xs:sequence>
89       </xs:complexType>
90     </xs:element>
91
92     <xs:element name="category">
93       <xs:complexType>
94         <xs:anyAttribute processContents="lax"/>
95       </xs:complexType>
96     </xs:element>
97
98     <xs:element name="src">
99         <xs:complexType>
100             <xs:attribute name="name" use="required"/>
101         </xs:complexType>
102     </xs:element>
103
104     <xs:element name="operation">
105         <xs:complexType>
106             <xs:attribute name="name" type="tizen:appserviceOperationType" use="required"/>
107         </xs:complexType>
108     </xs:element>
109
110     <xs:element name="uri">
111         <xs:complexType>
112             <xs:attribute name="name" use="required"/>
113         </xs:complexType>
114     </xs:element>
115
116     <xs:element name="mime">
117       <xs:complexType>
118         <xs:attribute name="name" use="required"/>
119       </xs:complexType>
120     </xs:element>
121
122     <xs:element name="privilege">
123         <xs:complexType>
124             <xs:attribute name="name" use="required" type="xs:anyURI"/>
125         </xs:complexType>
126     </xs:element>
127
128     <xs:element name="content-security-policy" type="xs:string"/>
129     <xs:element name="content-security-policy-report-only" type="xs:string"/>
130     <xs:element name="allow-navigation" type="xs:string"/>
131
132     <xs:element name="app-widget">
133         <xs:complexType mixed="true">
134             <xs:all>
135                 <xs:element ref="tizen:box-label"/>
136                 <xs:element ref="tizen:box-icon"/>
137                 <xs:element ref="tizen:box-content"/>
138             </xs:all>
139             <xs:attribute name="id" type="tizen:appWidgetIdType" use="required"/>
140             <xs:attribute name="primary" type="tizen:data.boolean" use="required"/>
141             <xs:attribute name="auto-launch" type="tizen:data.boolean" use="optional"/>
142             <xs:attribute name="update-period" type="tizen:updatePeriodType" use="optional"/>
143             <xs:attribute name="type" type="xs:string" use="optional"/>
144         </xs:complexType>
145     </xs:element>
146
147     <xs:element name="box-label">
148         <xs:complexType mixed="true">
149         </xs:complexType>
150     </xs:element>
151
152     <xs:element name="box-icon">
153         <xs:complexType>
154         <xs:attribute name="src" use="required" type="xs:anyURI"/>
155         </xs:complexType>
156     </xs:element>
157
158     <xs:element name="box-content">
159         <xs:complexType mixed="true">
160             <xs:sequence>
161                 <xs:element ref="tizen:box-size" minOccurs="1" maxOccurs="5"/>
162                 <xs:element ref="tizen:pd" minOccurs="0" maxOccurs="1"/>
163             </xs:sequence>
164             <xs:attribute name="src" use="required" type="xs:anyURI"/>
165             <xs:attribute name="mouse-event" use="optional" type="tizen:data.boolean"/>
166             <xs:attribute name="touch-effect" use="optional" type="tizen:data.boolean"/>
167         </xs:complexType>
168     </xs:element>
169
170     <xs:element name="pd">
171         <xs:complexType>
172             <xs:attribute name="src" use="required" type="xs:anyURI"/>
173             <xs:attribute name="width" use="required" type="xs:int"/>
174             <xs:attribute name="height" use="required" type="xs:int"/>
175             <xs:attribute name="fast-open" use="optional" type="tizen:data.boolean"/>
176         </xs:complexType>
177     </xs:element>
178
179     <xs:element name="box-size">
180         <xs:complexType mixed="true">
181         <xs:attribute name="preview" use="optional" type="xs:anyURI"/>
182         </xs:complexType>
183     </xs:element>
184
185     <xs:simpleType name="InstallLocationType">
186         <xs:restriction base="xs:string">
187             <xs:enumeration value="auto"/>
188             <xs:enumeration value="internal-only"/>
189             <xs:enumeration value="prefer-external"/>
190         </xs:restriction>
191     </xs:simpleType>
192
193     <xs:element name="capability">
194         <xs:complexType mixed="true">
195         </xs:complexType>
196     </xs:element>
197
198     <xs:element name="account">
199         <xs:complexType mixed="true">
200             <xs:sequence>
201                 <xs:choice maxOccurs="unbounded">
202                     <xs:element ref="tizen:icon" />
203                     <xs:element ref="tizen:display-name" />
204                     <xs:element ref="tizen:capability" />
205                 </xs:choice>
206             </xs:sequence>
207         <xs:attribute name="multiple-account-support" use="required" type="tizen:data.boolean"/>
208         </xs:complexType>
209     </xs:element>
210
211     <xs:element name="icon">
212       <xs:complexType mixed="true">
213         <xs:attribute name="section" use="required" type="xs:string"/>
214       </xs:complexType>
215     </xs:element>
216
217     <xs:element name="display-name">
218       <xs:complexType mixed="true">
219         <xs:attribute ref="xml:lang"/>
220       </xs:complexType>
221     </xs:element>
222 </xs:schema>