2 <!-- RELAX NG for RELAX NG -->
3 <!-- $Id: relaxng.rng,v 1.1 2004/03/17 19:27:34 atsushi Exp $ -->
4 <grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
5 ns="http://relaxng.org/ns/structure/1.0"
6 xmlns="http://relaxng.org/ns/structure/1.0">
11 <define name="pattern">
13 <element name="element">
15 <attribute name="name">
18 <ref name="open-name-class"/>
20 <ref name="common-atts"/>
21 <ref name="open-patterns"/>
23 <element name="attribute">
24 <ref name="common-atts"/>
26 <attribute name="name">
29 <ref name="open-name-class"/>
38 <element name="group">
39 <ref name="common-atts"/>
40 <ref name="open-patterns"/>
42 <element name="interleave">
43 <ref name="common-atts"/>
44 <ref name="open-patterns"/>
46 <element name="choice">
47 <ref name="common-atts"/>
48 <ref name="open-patterns"/>
50 <element name="optional">
51 <ref name="common-atts"/>
52 <ref name="open-patterns"/>
54 <element name="zeroOrMore">
55 <ref name="common-atts"/>
56 <ref name="open-patterns"/>
58 <element name="oneOrMore">
59 <ref name="common-atts"/>
60 <ref name="open-patterns"/>
63 <ref name="common-atts"/>
64 <ref name="open-patterns"/>
66 <element name="mixed">
67 <ref name="common-atts"/>
68 <ref name="open-patterns"/>
71 <attribute name="name">
74 <ref name="common-atts"/>
77 <element name="parentRef">
78 <attribute name="name">
81 <ref name="common-atts"/>
84 <element name="empty">
85 <ref name="common-atts"/>
89 <ref name="common-atts"/>
92 <element name="value">
94 <attribute name="type">
98 <ref name="common-atts"/>
101 <element name="data">
102 <attribute name="type">
103 <data type="NCName"/>
105 <ref name="common-atts"/>
110 <element name="param">
111 <attribute name="name">
112 <data type="NCName"/>
114 <ref name="common-atts"/>
119 <element name="except">
120 <ref name="common-atts"/>
121 <ref name="open-patterns"/>
127 <element name="notAllowed">
128 <ref name="common-atts"/>
131 <element name="externalRef">
132 <attribute name="href">
133 <data type="anyURI"/>
135 <ref name="common-atts"/>
138 <element name="grammar">
139 <ref name="common-atts"/>
140 <ref name="grammar-content"/>
145 <define name="grammar-content">
150 <ref name="start-element"/>
151 <ref name="define-element"/>
153 <ref name="common-atts"/>
154 <ref name="grammar-content"/>
156 <element name="include">
157 <attribute name="href">
158 <data type="anyURI"/>
160 <ref name="common-atts"/>
161 <ref name="include-content"/>
168 <define name="include-content">
173 <ref name="start-element"/>
174 <ref name="define-element"/>
176 <ref name="common-atts"/>
177 <ref name="include-content"/>
184 <define name="start-element">
185 <element name="start">
186 <ref name="combine-att"/>
187 <ref name="common-atts"/>
188 <ref name="open-pattern"/>
192 <define name="define-element">
193 <element name="define">
194 <attribute name="name">
195 <data type="NCName"/>
197 <ref name="combine-att"/>
198 <ref name="common-atts"/>
199 <ref name="open-patterns"/>
203 <define name="combine-att">
205 <attribute name="combine">
207 <value>choice</value>
208 <value>interleave</value>
214 <define name="open-patterns">
218 <ref name="pattern"/>
223 <define name="open-pattern">
226 <ref name="pattern"/>
230 <define name="name-class">
232 <element name="name">
233 <ref name="common-atts"/>
236 <element name="anyName">
237 <ref name="common-atts"/>
238 <ref name="except-name-class"/>
240 <element name="nsName">
241 <ref name="common-atts"/>
242 <ref name="except-name-class"/>
244 <element name="choice">
245 <ref name="common-atts"/>
246 <ref name="open-name-classes"/>
251 <define name="except-name-class">
255 <element name="except">
256 <ref name="open-name-classes"/>
262 <define name="open-name-classes">
266 <ref name="name-class"/>
271 <define name="open-name-class">
274 <ref name="name-class"/>
278 <define name="common-atts">
280 <attribute name="ns"/>
283 <attribute name="datatypeLibrary">
284 <data type="anyURI"/>
299 <define name="other">