84d734db7ad925814b61d75867cb21596771bed1
[framework/web/wrt-installer.git] / configuration / config.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!-- Widgets 1.0 (Working Draft) RELAX NG schema -->\r
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://www.w3.org/ns/widgets" xmlns:its="http://www.w3.org/2005/11/its" xmlns:widgets="http://www.w3.org/ns/widgets" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/ns/widgets config.xsd">\r
4     <xs:import schemaLocation="local.xsd"/>\r
5     <xs:import namespace="http://www.w3.org/2005/11/its" schemaLocation="its.xsd"/>\r
6     <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>\r
7     <xs:import namespace="http://tizen.org/ns/widgets" schemaLocation="config.tizen.xsd"/>\r
8     <xs:group name="extension">\r
9         <xs:sequence>\r
10             <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:anyElement"/>\r
11         </xs:sequence>\r
12     </xs:group>\r
13     <xs:attributeGroup name="extension">\r
14         <xs:attributeGroup ref="widgets:attr.allowed"/>\r
15     </xs:attributeGroup>\r
16     <xs:group name="anyElement">\r
17         <xs:sequence>\r
18             <xs:choice minOccurs="0" maxOccurs="unbounded">\r
19                 <xs:any namespace="##other" processContents="skip"/>\r
20                 <xs:any namespace="##local" processContents="skip"/>\r
21             </xs:choice>\r
22         </xs:sequence>\r
23     </xs:group>\r
24     <xs:group name="any">\r
25         <xs:sequence>\r
26             <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:anyElement"/>\r
27         </xs:sequence>\r
28     </xs:group>\r
29     <xs:attributeGroup name="any">\r
30         <xs:anyAttribute processContents="skip"/>\r
31     </xs:attributeGroup>\r
32     <xs:attributeGroup name="attr.allowed">\r
33         <xs:attributeGroup ref="local"/>\r
34     </xs:attributeGroup>\r
35     <xs:attributeGroup name="attr.xmllang">\r
36         <xs:attribute ref="xml:lang" use="required"/>\r
37     </xs:attributeGroup>\r
38     <xs:attributeGroup name="attr.itsdir">\r
39         <xs:attribute ref="its:dir" use="required"/>\r
40     </xs:attributeGroup>\r
41     <xs:simpleType name="data.positiveNumber">\r
42         <xs:restriction base="xs:string">\r
43             <xs:pattern value="[1-9]\d*"/>\r
44         </xs:restriction>\r
45     </xs:simpleType>\r
46     <xs:simpleType name="data.boolean">\r
47         <xs:restriction base="xs:string">\r
48             <xs:enumeration value="true"/>\r
49             <xs:enumeration value="false"/>\r
50         </xs:restriction>\r
51     </xs:simpleType>\r
52     <xs:element name="widget">\r
53         <xs:complexType mixed="true">\r
54             <xs:choice minOccurs="0" maxOccurs="unbounded">\r
55                 <xs:element ref="widgets:name"/>\r
56                 <xs:element ref="widgets:description"/>\r
57                 <xs:element ref="widgets:icon"/>\r
58                 <xs:element ref="widgets:author"/>\r
59                 <xs:element ref="widgets:license"/>\r
60                 <xs:element ref="widgets:content"/>\r
61                 <xs:element ref="widgets:feature"/>\r
62                 <xs:element ref="widgets:preference"/>\r
63                 <xs:element ref="widgets:access"/>\r
64                 <!-- "widgets:extension" group is commented. Otherwise, error: cos-nonambig: Content model violates the unique particle attribution rule. -->\r
65                 <!-- Allowing Any Elements or Attributes from a Particular Namespace -->\r
66                 <!-- The wildcards permitted within the list are ##local (a nonqualified element) and ##targetNamespace (the target namespace). Two wildcards can also be used instead of the list: ##any (any namespace) and ##other (any namespace other than the target namespace). -->\r
67                 <!--xs:group ref="widgets:extension"/-->\r
68                 <xs:element ref="tizen:appservice"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
69                 <xs:element ref="tizen:setting"  maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
70                 <xs:element ref="tizen:application" minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>\r
71                 </xs:choice>\r
72             <xs:attribute ref="xml:lang"/>\r
73             <xs:attribute name="id" type="xs:anyURI"/>\r
74             <xs:attribute name="version"/>\r
75             <xs:attribute name="height" type="widgets:data.positiveNumber"/>\r
76             <xs:attribute name="width" type="widgets:data.positiveNumber"/>\r
77             <xs:attribute name="viewmodes">\r
78                 <xs:simpleType>\r
79                     <xs:list>\r
80                         <xs:simpleType>\r
81                             <xs:restriction base="xs:token">\r
82                                 <xs:enumeration value="windowed"/>\r
83                                 <xs:enumeration value="fullscreen"/>\r
84                             </xs:restriction>\r
85                         </xs:simpleType>\r
86                     </xs:list>\r
87                 </xs:simpleType>\r
88             </xs:attribute>\r
89             <xs:attributeGroup ref="widgets:extension"/>\r
90         </xs:complexType>\r
91     </xs:element>\r
92     <xs:element name="name">\r
93         <xs:complexType mixed="true">\r
94             <xs:attribute ref="xml:lang"/>\r
95             <xs:attribute ref="its:dir"/>\r
96             <xs:attribute name="short"/>\r
97             <xs:attributeGroup ref="widgets:extension"/>\r
98         </xs:complexType>\r
99     </xs:element>\r
100     <xs:element name="description">\r
101         <xs:complexType mixed="true">\r
102             <xs:attribute ref="xml:lang"/>\r
103             <xs:attribute ref="its:dir"/>\r
104             <xs:attributeGroup ref="widgets:extension"/>\r
105         </xs:complexType>\r
106     </xs:element>\r
107     <xs:element name="icon">\r
108         <xs:complexType>\r
109             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
110             <xs:attribute name="src" use="required" type="xs:anyURI"/>\r
111             <xs:attribute name="height" type="widgets:data.positiveNumber"/>\r
112             <xs:attribute name="width" type="widgets:data.positiveNumber"/>\r
113         </xs:complexType>\r
114     </xs:element>\r
115     <xs:element name="access">\r
116         <xs:complexType>\r
117             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
118             <xs:attribute name="origin" use="required" type="xs:anyURI"/>\r
119             <xs:attribute name="subdomains" use="optional" type="widgets:data.boolean"/>\r
120         </xs:complexType>\r
121     </xs:element>\r
122     <xs:element name="author">\r
123         <xs:complexType mixed="true">\r
124             <xs:attribute ref="xml:lang"/>\r
125             <xs:attribute ref="its:dir"/>\r
126             <xs:attribute name="href" type="xs:anyURI"/>\r
127             <xs:attribute name="email">\r
128                 <xs:simpleType>\r
129                     <xs:restriction base="xs:string">\r
130                     </xs:restriction>\r
131                 </xs:simpleType>\r
132             </xs:attribute>\r
133             <xs:attributeGroup ref="widgets:extension"/>\r
134         </xs:complexType>\r
135     </xs:element>\r
136     <xs:element name="license">\r
137         <xs:complexType mixed="true">\r
138             <xs:attribute ref="xml:lang"/>\r
139             <xs:attribute ref="its:dir"/>\r
140             <xs:attribute name="href" type="xs:anyURI"/>\r
141             <xs:attributeGroup ref="widgets:extension"/>\r
142         </xs:complexType>\r
143     </xs:element>\r
144     <xs:element name="content">\r
145         <xs:complexType>\r
146             <xs:attributeGroup ref="widgets:attr.allowed"/>\r
147             <xs:attribute name="src" use="required" type="xs:anyURI"/>\r
148             <xs:attribute name="type"/>\r
149             <xs:attribute name="charset"/>\r
150         </xs:complexType>\r
151     </xs:element>\r
152     <xs:element name="feature">\r
153         <xs:complexType mixed="true">\r
154             <xs:choice minOccurs="0" maxOccurs="unbounded">\r
155                 <xs:element ref="widgets:param"/>\r
156             </xs:choice>\r
157             <xs:attribute name="name" use="required" type="xs:anyURI"/>\r
158             <xs:attribute name="required" type="widgets:data.boolean"/>\r
159             <xs:attributeGroup ref="widgets:extension"/>\r
160         </xs:complexType>\r
161     </xs:element>\r
162     <xs:element name="param">\r
163         <xs:complexType mixed="true">\r
164             <xs:attribute name="name" use="required"/>\r
165             <xs:attribute name="value" use="required"/>\r
166             <xs:attributeGroup ref="widgets:extension"/>\r
167         </xs:complexType>\r
168     </xs:element>\r
169     <xs:element name="preference">\r
170         <xs:complexType mixed="true">\r
171             <xs:attribute ref="xml:lang"/>\r
172             <xs:attribute name="name" use="required"/>\r
173             <xs:attribute name="value"/>\r
174             <xs:attribute name="readonly" type="widgets:data.boolean"/>\r
175             <xs:attributeGroup ref="widgets:extension"/>\r
176         </xs:complexType>\r
177     </xs:element>\r
178 </xs:schema>\r