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
10 <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:anyElement"/>
\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
18 <xs:choice minOccurs="0" maxOccurs="unbounded">
\r
19 <xs:any namespace="##other" processContents="skip"/>
\r
20 <xs:any namespace="##local" processContents="skip"/>
\r
24 <xs:group name="any">
\r
26 <xs:group minOccurs="0" maxOccurs="unbounded" ref="widgets:anyElement"/>
\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
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
52 <xs:simpleType name="data.versionNumber">
\r
53 <xs:restriction base="xs:string">
\r
54 <xs:pattern value="[0-9]{2}.[0-9]{2}.[0-9]{4}"/>
\r
57 <xs:element name="widget">
\r
58 <xs:complexType mixed="true">
\r
59 <xs:choice minOccurs="0" maxOccurs="unbounded">
\r
60 <xs:element ref="widgets:name"/>
\r
61 <xs:element ref="widgets:description"/>
\r
62 <xs:element ref="widgets:icon"/>
\r
63 <xs:element ref="widgets:author"/>
\r
64 <xs:element ref="widgets:license"/>
\r
65 <xs:element ref="widgets:content"/>
\r
66 <xs:element ref="widgets:feature"/>
\r
67 <xs:element ref="widgets:preference"/>
\r
68 <xs:element ref="widgets:access"/>
\r
69 <!-- "widgets:extension" group is commented. Otherwise, error: cos-nonambig: Content model violates the unique particle attribution rule. -->
\r
70 <!-- Allowing Any Elements or Attributes from a Particular Namespace -->
\r
71 <!-- 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
72 <!--xs:group ref="widgets:extension"/-->
\r
73 <xs:element ref="tizen:appservice" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
\r
74 <xs:element ref="tizen:app-control" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
\r
75 <xs:element ref="tizen:setting" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
\r
76 <xs:element ref="tizen:application" minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
\r
77 <xs:element ref="tizen:content" minOccurs="1" maxOccurs="1" xmlns:tizen="http://tizen.org/ns/widgets"/>
\r
78 <xs:element ref="tizen:app-widget" minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
\r
79 <xs:element ref="tizen:privilege" minOccurs="0" maxOccurs="unbounded" xmlns:tizen="http://tizen.org/ns/widgets"/>
\r
81 <xs:attribute ref="xml:lang"/>
\r
82 <xs:attribute name="id" type="xs:anyURI"/>
\r
83 <xs:attribute name="version" type="widgets:data.versionNumber"/>
\r
84 <xs:attribute name="height" type="widgets:data.positiveNumber"/>
\r
85 <xs:attribute name="width" type="widgets:data.positiveNumber"/>
\r
86 <xs:attribute name="viewmodes">
\r
90 <xs:restriction base="xs:token">
\r
91 <xs:enumeration value="maximized"/>
\r
92 <xs:enumeration value="fullscreen"/>
\r
98 <xs:attributeGroup ref="widgets:extension"/>
\r
101 <xs:element name="name">
\r
102 <xs:complexType mixed="true">
\r
103 <xs:attribute ref="xml:lang"/>
\r
104 <xs:attribute ref="its:dir"/>
\r
105 <xs:attribute name="short"/>
\r
106 <xs:attributeGroup ref="widgets:extension"/>
\r
109 <xs:element name="description">
\r
110 <xs:complexType mixed="true">
\r
111 <xs:attribute ref="xml:lang"/>
\r
112 <xs:attribute ref="its:dir"/>
\r
113 <xs:attributeGroup ref="widgets:extension"/>
\r
116 <xs:element name="icon">
\r
118 <xs:attributeGroup ref="widgets:attr.allowed"/>
\r
119 <xs:attribute name="src" use="required" type="xs:anyURI"/>
\r
120 <xs:attribute name="height" type="widgets:data.positiveNumber"/>
\r
121 <xs:attribute name="width" type="widgets:data.positiveNumber"/>
\r
124 <xs:element name="access">
\r
126 <xs:attributeGroup ref="widgets:attr.allowed"/>
\r
127 <xs:attribute name="origin" use="required" type="xs:anyURI"/>
\r
128 <xs:attribute name="subdomains" use="optional" type="widgets:data.boolean"/>
\r
131 <xs:element name="author">
\r
132 <xs:complexType mixed="true">
\r
133 <xs:attribute ref="xml:lang"/>
\r
134 <xs:attribute ref="its:dir"/>
\r
135 <xs:attribute name="href" type="xs:anyURI"/>
\r
136 <xs:attribute name="email">
\r
138 <xs:restriction base="xs:string">
\r
142 <xs:attributeGroup ref="widgets:extension"/>
\r
145 <xs:element name="license">
\r
146 <xs:complexType mixed="true">
\r
147 <xs:attribute ref="xml:lang"/>
\r
148 <xs:attribute ref="its:dir"/>
\r
149 <xs:attribute name="href" type="xs:anyURI"/>
\r
150 <xs:attributeGroup ref="widgets:extension"/>
\r
153 <xs:element name="content">
\r
155 <xs:attributeGroup ref="widgets:attr.allowed"/>
\r
156 <xs:attribute name="src" use="required" type="xs:anyURI"/>
\r
157 <xs:attribute name="type"/>
\r
158 <xs:attribute name="charset"/>
\r
161 <xs:element name="feature">
\r
162 <xs:complexType mixed="true">
\r
163 <xs:choice minOccurs="0" maxOccurs="unbounded">
\r
164 <xs:element ref="widgets:param"/>
\r
166 <xs:attribute name="name" use="required" type="xs:anyURI"/>
\r
167 <xs:attributeGroup ref="widgets:extension"/>
\r
170 <xs:element name="param">
\r
171 <xs:complexType mixed="true">
\r
172 <xs:attribute name="name" use="required"/>
\r
173 <xs:attribute name="value" use="required"/>
\r
174 <xs:attributeGroup ref="widgets:extension"/>
\r
177 <xs:element name="preference">
\r
178 <xs:complexType mixed="true">
\r
179 <xs:attribute ref="xml:lang"/>
\r
180 <xs:attribute name="name" use="required"/>
\r
181 <xs:attribute name="value"/>
\r
182 <xs:attribute name="readonly" type="widgets:data.boolean"/>
\r
183 <xs:attributeGroup ref="widgets:extension"/>
\r