1bf215546Sopenharmony_ci<?xml version="1.0" encoding="UTF-8"?>
2bf215546Sopenharmony_ci<schema xmlns="http://www.w3.org/2001/XMLSchema"
3bf215546Sopenharmony_ci	targetNamespace="http://nouveau.freedesktop.org/"
4bf215546Sopenharmony_ci	xmlns:rng="http://nouveau.freedesktop.org/"
5bf215546Sopenharmony_ci	elementFormDefault="qualified">
6bf215546Sopenharmony_ci
7bf215546Sopenharmony_ci	<annotation>
8bf215546Sopenharmony_ci		<documentation>
9bf215546Sopenharmony_ci			An updated version of the old rules.xml file from the
10bf215546Sopenharmony_ci			RivaTV project. Specifications by Pekka Paalanen,
11bf215546Sopenharmony_ci			preliminary attempt by KoalaBR,
12bf215546Sopenharmony_ci			first working version by Jakob Bornecrantz.
13bf215546Sopenharmony_ci			For specifications, see the file rules-ng-format.txt
14bf215546Sopenharmony_ci			in Nouveau CVS module 'rules-ng'.
15bf215546Sopenharmony_ci		</documentation>
16bf215546Sopenharmony_ci		<documentation>Version 0.1</documentation>
17bf215546Sopenharmony_ci	</annotation>
18bf215546Sopenharmony_ci
19bf215546Sopenharmony_ci
20bf215546Sopenharmony_ci	<!-- Elements -->
21bf215546Sopenharmony_ci
22bf215546Sopenharmony_ci	<element name="database"       type="rng:databaseType" />
23bf215546Sopenharmony_ci	<element name="import"         type="rng:importType" />
24bf215546Sopenharmony_ci	<element name="copyright"      type="rng:copyrightType" />
25bf215546Sopenharmony_ci	<element name="domain"         type="rng:domainType" />
26bf215546Sopenharmony_ci	<element name="group"          type="rng:groupType" />
27bf215546Sopenharmony_ci	<element name="use-group"      type="rng:refType" />
28bf215546Sopenharmony_ci	<element name="array"          type="rng:arrayType" />
29bf215546Sopenharmony_ci	<element name="stripe"         type="rng:stripeType" />
30bf215546Sopenharmony_ci	<element name="reg64"          type="rng:registerType" />
31bf215546Sopenharmony_ci	<element name="reg32"          type="rng:registerType" />
32bf215546Sopenharmony_ci	<element name="reg16"          type="rng:registerType" />
33bf215546Sopenharmony_ci	<element name="reg8"           type="rng:registerType" />
34bf215546Sopenharmony_ci	<element name="bitset"         type="rng:bitsetType" />
35bf215546Sopenharmony_ci	<element name="bitfield"       type="rng:bitfieldType" />
36bf215546Sopenharmony_ci	<element name="enum"           type="rng:enumType" />
37bf215546Sopenharmony_ci	<element name="value"          type="rng:valueType" />
38bf215546Sopenharmony_ci
39bf215546Sopenharmony_ci	<!-- Copyright elements -->
40bf215546Sopenharmony_ci	<element name="author"         type="rng:authorType" />
41bf215546Sopenharmony_ci	<element name="nick"           type="rng:nickType" />
42bf215546Sopenharmony_ci	<element name="license"        type="rng:docType" />
43bf215546Sopenharmony_ci
44bf215546Sopenharmony_ci	<!-- Documentation elements -->
45bf215546Sopenharmony_ci	
46bf215546Sopenharmony_ci	<!-- FIXME: allowed only one  per parent element -->
47bf215546Sopenharmony_ci	<element name="brief" type="rng:briefType" />
48bf215546Sopenharmony_ci	
49bf215546Sopenharmony_ci	<element name="doc"  type="rng:docType" />
50bf215546Sopenharmony_ci	<element name="b"    type="rng:textformatType" />
51bf215546Sopenharmony_ci	<element name="i"    type="rng:textformatType" />
52bf215546Sopenharmony_ci	<element name="u"    type="rng:textformatType" />
53bf215546Sopenharmony_ci	<element name="code" type="rng:textcodeType" />
54bf215546Sopenharmony_ci	<element name="ul"   type="rng:listType" />
55bf215546Sopenharmony_ci	<element name="ol"   type="rng:listType" />
56bf215546Sopenharmony_ci	<element name="li"   type="rng:listitemType" />
57bf215546Sopenharmony_ci
58bf215546Sopenharmony_ci	<!-- Copyright element types -->
59bf215546Sopenharmony_ci
60bf215546Sopenharmony_ci	<complexType name="authorType" mixed="true">
61bf215546Sopenharmony_ci		<annotation>
62bf215546Sopenharmony_ci			<documentation>
63bf215546Sopenharmony_ci				register database author
64bf215546Sopenharmony_ci			</documentation>
65bf215546Sopenharmony_ci		</annotation>
66bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
67bf215546Sopenharmony_ci			<element ref="rng:nick" />
68bf215546Sopenharmony_ci		</choice>
69bf215546Sopenharmony_ci		<attribute name="name" type="string" use="required" />
70bf215546Sopenharmony_ci		<attribute name="email" type="string" use="required" />
71bf215546Sopenharmony_ci	</complexType>
72bf215546Sopenharmony_ci
73bf215546Sopenharmony_ci	<complexType name="nickType">
74bf215546Sopenharmony_ci		<annotation>
75bf215546Sopenharmony_ci			<documentation>nickType</documentation>
76bf215546Sopenharmony_ci		</annotation>
77bf215546Sopenharmony_ci		<attribute name="name" type="string" use="required" />
78bf215546Sopenharmony_ci	</complexType>
79bf215546Sopenharmony_ci
80bf215546Sopenharmony_ci	<!-- Database element types -->
81bf215546Sopenharmony_ci
82bf215546Sopenharmony_ci	<complexType name="databaseType">
83bf215546Sopenharmony_ci		<annotation>
84bf215546Sopenharmony_ci			<documentation>databaseType</documentation>
85bf215546Sopenharmony_ci		</annotation>
86bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
87bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
88bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
89bf215546Sopenharmony_ci		</choice>
90bf215546Sopenharmony_ci	</complexType>
91bf215546Sopenharmony_ci
92bf215546Sopenharmony_ci	<complexType name="importType">
93bf215546Sopenharmony_ci		<annotation>
94bf215546Sopenharmony_ci			<documentation>importType</documentation>
95bf215546Sopenharmony_ci		</annotation>
96bf215546Sopenharmony_ci		<attribute name="file" type="string" use="required" />
97bf215546Sopenharmony_ci	</complexType>
98bf215546Sopenharmony_ci
99bf215546Sopenharmony_ci	<complexType name="copyrightType">
100bf215546Sopenharmony_ci		<annotation>
101bf215546Sopenharmony_ci			<documentation>copyrightType</documentation>
102bf215546Sopenharmony_ci		</annotation>
103bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
104bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
105bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
106bf215546Sopenharmony_ci			<element ref="rng:author" />
107bf215546Sopenharmony_ci			<element ref="rng:license" />
108bf215546Sopenharmony_ci		</choice>
109bf215546Sopenharmony_ci		<attribute name="year" type="nonNegativeInteger" use="optional" />
110bf215546Sopenharmony_ci	</complexType>
111bf215546Sopenharmony_ci
112bf215546Sopenharmony_ci	<complexType name="domainType">
113bf215546Sopenharmony_ci		<annotation>
114bf215546Sopenharmony_ci			<documentation>domainType</documentation>
115bf215546Sopenharmony_ci		</annotation>
116bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
117bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
118bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
119bf215546Sopenharmony_ci			<group ref="rng:regarrayGroup" />
120bf215546Sopenharmony_ci		</choice>
121bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="required" />
122bf215546Sopenharmony_ci		<attribute name="bare" type="rng:Boolean" use="optional" />
123bf215546Sopenharmony_ci		<attribute name="prefix" type="NMTOKENS" use="optional" />
124bf215546Sopenharmony_ci		<attribute name="width" type="rng:DomainWidth" use="optional" />
125bf215546Sopenharmony_ci		<attribute name="size" type="rng:HexOrNumber" use="optional" />
126bf215546Sopenharmony_ci		<attribute name="varset" type="NMTOKEN" use="optional" />
127bf215546Sopenharmony_ci		<attribute name="variants" type="string" use="optional" />
128bf215546Sopenharmony_ci	</complexType>
129bf215546Sopenharmony_ci
130bf215546Sopenharmony_ci	<complexType name="groupType">
131bf215546Sopenharmony_ci		<annotation>
132bf215546Sopenharmony_ci			<documentation>groupType</documentation>
133bf215546Sopenharmony_ci		</annotation>
134bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
135bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
136bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
137bf215546Sopenharmony_ci			<group ref="rng:regarrayGroup" />
138bf215546Sopenharmony_ci		</choice>
139bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="required" />
140bf215546Sopenharmony_ci	</complexType>
141bf215546Sopenharmony_ci
142bf215546Sopenharmony_ci	<complexType name="arrayType">
143bf215546Sopenharmony_ci		<annotation>
144bf215546Sopenharmony_ci			<documentation>arrayType</documentation>
145bf215546Sopenharmony_ci		</annotation>
146bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
147bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
148bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
149bf215546Sopenharmony_ci			<group ref="rng:regarrayGroup" />
150bf215546Sopenharmony_ci		</choice>
151bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="optional" />
152bf215546Sopenharmony_ci		<attribute name="offset" type="rng:HexOrNumber" use="optional" />
153bf215546Sopenharmony_ci		<attribute name="offsets" type="string" use="optional"/>
154bf215546Sopenharmony_ci		<attribute name="doffsets" type="string" use="optional"/>
155bf215546Sopenharmony_ci		<attribute name="index" type="NMTOKENS" use="optional"/>
156bf215546Sopenharmony_ci		<attribute name="stride" type="rng:HexOrNumber" use="required" />
157bf215546Sopenharmony_ci		<attribute name="length" type="rng:HexOrNumber" use="required" />
158bf215546Sopenharmony_ci		<attribute name="varset" type="NMTOKEN" use="optional" />
159bf215546Sopenharmony_ci		<attribute name="variants" type="string" use="optional" />
160bf215546Sopenharmony_ci	</complexType>
161bf215546Sopenharmony_ci
162bf215546Sopenharmony_ci	<complexType name="stripeType">
163bf215546Sopenharmony_ci		<annotation>
164bf215546Sopenharmony_ci			<documentation>stripeType</documentation>
165bf215546Sopenharmony_ci		</annotation>
166bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
167bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
168bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
169bf215546Sopenharmony_ci			<group ref="rng:regarrayGroup" minOccurs="0" />
170bf215546Sopenharmony_ci		</choice>
171bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="optional" />
172bf215546Sopenharmony_ci		<attribute name="offset" type="rng:HexOrNumber" use="optional" />
173bf215546Sopenharmony_ci		<attribute name="stride" type="rng:HexOrNumber" use="optional" />
174bf215546Sopenharmony_ci		<attribute name="length" type="rng:HexOrNumber" use="optional" />
175bf215546Sopenharmony_ci		<attribute name="varset" type="NMTOKEN" use="optional" />
176bf215546Sopenharmony_ci		<attribute name="variants" type="string" use="optional" />
177bf215546Sopenharmony_ci		<attribute name="prefix" type="NMTOKENS" use="optional" />
178bf215546Sopenharmony_ci	</complexType>
179bf215546Sopenharmony_ci
180bf215546Sopenharmony_ci	<complexType name="registerType">
181bf215546Sopenharmony_ci		<annotation>
182bf215546Sopenharmony_ci			<documentation>
183bf215546Sopenharmony_ci				registerType used by reg8, reg16, reg32, reg64
184bf215546Sopenharmony_ci			</documentation>
185bf215546Sopenharmony_ci		</annotation>
186bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
187bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
188bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
189bf215546Sopenharmony_ci			<element ref="rng:value" />
190bf215546Sopenharmony_ci			<element ref="rng:bitfield" />
191bf215546Sopenharmony_ci		</choice>
192bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="required" />
193bf215546Sopenharmony_ci		<attribute name="offset" type="rng:HexOrNumber" use="required" />
194bf215546Sopenharmony_ci		<attribute name="access" type="rng:Access" default="rw" use="optional" />
195bf215546Sopenharmony_ci		<attribute name="type" type="NMTOKENS" use="optional" />
196bf215546Sopenharmony_ci		<attribute name="shr" type="nonNegativeInteger" use="optional" />
197bf215546Sopenharmony_ci		<attribute name="varset" type="NMTOKEN" use="optional" />
198bf215546Sopenharmony_ci		<attribute name="variants" type="string" use="optional" />
199bf215546Sopenharmony_ci		<attribute name="stride" type="rng:HexOrNumber" use="optional" />
200bf215546Sopenharmony_ci		<attribute name="length" type="rng:HexOrNumber" use="optional" />
201bf215546Sopenharmony_ci		<attribute name="high" type="nonNegativeInteger" use="optional" />
202bf215546Sopenharmony_ci		<attribute name="low" type="nonNegativeInteger" use="optional" />
203bf215546Sopenharmony_ci		<attribute name="pos" type="nonNegativeInteger" use="optional" />
204bf215546Sopenharmony_ci		<attribute name="align" type="nonNegativeInteger" use="optional" />
205bf215546Sopenharmony_ci		<attribute name="radix" type="nonNegativeInteger" use="optional" />
206bf215546Sopenharmony_ci	</complexType>
207bf215546Sopenharmony_ci
208bf215546Sopenharmony_ci	<complexType name="bitsetType">
209bf215546Sopenharmony_ci		<annotation>
210bf215546Sopenharmony_ci			<documentation>bitsetType</documentation>
211bf215546Sopenharmony_ci		</annotation>
212bf215546Sopenharmony_ci		<choice maxOccurs="unbounded">
213bf215546Sopenharmony_ci			<element ref="rng:bitfield" />
214bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
215bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
216bf215546Sopenharmony_ci		</choice>
217bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="required" />
218bf215546Sopenharmony_ci		<attribute name="inline" type="rng:Boolean" use="optional" />
219bf215546Sopenharmony_ci		<attribute name="bare" type="rng:Boolean" use="optional" />
220bf215546Sopenharmony_ci		<attribute name="prefix" type="NMTOKENS" use="optional" />
221bf215546Sopenharmony_ci	</complexType>
222bf215546Sopenharmony_ci
223bf215546Sopenharmony_ci	<complexType name="bitfieldType">
224bf215546Sopenharmony_ci		<annotation>
225bf215546Sopenharmony_ci			<documentation>bitfieldType</documentation>
226bf215546Sopenharmony_ci		</annotation>
227bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
228bf215546Sopenharmony_ci			<element ref="rng:value" maxOccurs="unbounded" />
229bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
230bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
231bf215546Sopenharmony_ci		</choice>
232bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="required" />
233bf215546Sopenharmony_ci		<attribute name="high" type="nonNegativeInteger" use="optional" />
234bf215546Sopenharmony_ci		<attribute name="low" type="nonNegativeInteger" use="optional" />
235bf215546Sopenharmony_ci		<attribute name="pos" type="nonNegativeInteger" use="optional" />
236bf215546Sopenharmony_ci		<attribute name="radix" type="nonNegativeInteger" use="optional" />
237bf215546Sopenharmony_ci		<attribute name="align" type="nonNegativeInteger" use="optional" />
238bf215546Sopenharmony_ci		<attribute name="type" type="NMTOKENS" use="optional" />
239bf215546Sopenharmony_ci		<attribute name="varset" type="NMTOKEN" use="optional" />
240bf215546Sopenharmony_ci		<attribute name="variants" type="string" use="optional" />
241bf215546Sopenharmony_ci		<attribute name="addvariant" type="rng:Boolean" use="optional" />
242bf215546Sopenharmony_ci		<attribute name="shr" type="nonNegativeInteger" use="optional" />
243bf215546Sopenharmony_ci	</complexType>
244bf215546Sopenharmony_ci
245bf215546Sopenharmony_ci	<complexType name="enumType">
246bf215546Sopenharmony_ci		<annotation>
247bf215546Sopenharmony_ci			<documentation>enumType</documentation>
248bf215546Sopenharmony_ci		</annotation>
249bf215546Sopenharmony_ci		<choice maxOccurs="unbounded">
250bf215546Sopenharmony_ci			<element ref="rng:value" />
251bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
252bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
253bf215546Sopenharmony_ci		</choice>
254bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="required" />
255bf215546Sopenharmony_ci		<attribute name="inline" type="rng:Boolean" use="optional" />
256bf215546Sopenharmony_ci		<attribute name="bare" type="rng:Boolean" use="optional" />
257bf215546Sopenharmony_ci		<attribute name="prefix" type="NMTOKENS" use="optional" />
258bf215546Sopenharmony_ci		<attribute name="varset" type="NMTOKEN" use="optional" />
259bf215546Sopenharmony_ci	</complexType>
260bf215546Sopenharmony_ci
261bf215546Sopenharmony_ci	<complexType name="valueType">
262bf215546Sopenharmony_ci		<annotation>
263bf215546Sopenharmony_ci			<documentation>valueType</documentation>
264bf215546Sopenharmony_ci		</annotation>
265bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
266bf215546Sopenharmony_ci			<group ref="rng:docGroup" />
267bf215546Sopenharmony_ci			<group ref="rng:topGroup" />
268bf215546Sopenharmony_ci		</choice>
269bf215546Sopenharmony_ci		<attribute name="name" type="NMTOKEN" use="required" />
270bf215546Sopenharmony_ci		<attribute name="value" type="string" use="optional" />
271bf215546Sopenharmony_ci		<attribute name="varset" type="NMTOKEN" use="optional" />
272bf215546Sopenharmony_ci		<attribute name="variants" type="string" use="optional" />
273bf215546Sopenharmony_ci	</complexType>
274bf215546Sopenharmony_ci
275bf215546Sopenharmony_ci	<complexType name="refType">
276bf215546Sopenharmony_ci		<annotation>
277bf215546Sopenharmony_ci			<documentation>refType</documentation>
278bf215546Sopenharmony_ci		</annotation>
279bf215546Sopenharmony_ci		<attribute name="ref" type="NMTOKEN" use="required" />
280bf215546Sopenharmony_ci	</complexType>
281bf215546Sopenharmony_ci
282bf215546Sopenharmony_ci
283bf215546Sopenharmony_ci	<!-- Documentation element types -->
284bf215546Sopenharmony_ci
285bf215546Sopenharmony_ci	<complexType name="briefType">
286bf215546Sopenharmony_ci		<annotation>
287bf215546Sopenharmony_ci			<documentation>
288bf215546Sopenharmony_ci				brief documentation, no markup
289bf215546Sopenharmony_ci			</documentation>
290bf215546Sopenharmony_ci		</annotation>
291bf215546Sopenharmony_ci		<simpleContent>
292bf215546Sopenharmony_ci			<extension base="string" />
293bf215546Sopenharmony_ci		</simpleContent>
294bf215546Sopenharmony_ci	</complexType>
295bf215546Sopenharmony_ci	
296bf215546Sopenharmony_ci	<complexType name="docType" mixed="true">
297bf215546Sopenharmony_ci		<annotation>
298bf215546Sopenharmony_ci			<documentation>
299bf215546Sopenharmony_ci				root element of documentation sub-tree
300bf215546Sopenharmony_ci			</documentation>
301bf215546Sopenharmony_ci		</annotation>
302bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
303bf215546Sopenharmony_ci			<group ref="rng:textformatGroup" />
304bf215546Sopenharmony_ci			<group ref="rng:listGroup" />
305bf215546Sopenharmony_ci			<element ref="rng:code" />
306bf215546Sopenharmony_ci		</choice>
307bf215546Sopenharmony_ci	</complexType>
308bf215546Sopenharmony_ci	
309bf215546Sopenharmony_ci	<complexType name="textformatType" mixed="true">
310bf215546Sopenharmony_ci		<annotation>
311bf215546Sopenharmony_ci			<documentation>
312bf215546Sopenharmony_ci				for bold, underline, italics
313bf215546Sopenharmony_ci			</documentation>
314bf215546Sopenharmony_ci		</annotation>
315bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
316bf215546Sopenharmony_ci			<group ref="rng:textformatGroup" />
317bf215546Sopenharmony_ci		</choice>
318bf215546Sopenharmony_ci	</complexType>
319bf215546Sopenharmony_ci	
320bf215546Sopenharmony_ci	<complexType name="textcodeType">
321bf215546Sopenharmony_ci		<simpleContent>
322bf215546Sopenharmony_ci			<extension base="string">
323bf215546Sopenharmony_ci				<attribute name="title" type="string" />
324bf215546Sopenharmony_ci			</extension>
325bf215546Sopenharmony_ci		</simpleContent>
326bf215546Sopenharmony_ci	</complexType>
327bf215546Sopenharmony_ci	
328bf215546Sopenharmony_ci	<complexType name="listType">
329bf215546Sopenharmony_ci		<annotation>
330bf215546Sopenharmony_ci			<documentation>
331bf215546Sopenharmony_ci				definition of a list, ordered or unordered
332bf215546Sopenharmony_ci			</documentation>
333bf215546Sopenharmony_ci		</annotation>
334bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
335bf215546Sopenharmony_ci			<element ref="rng:li" />
336bf215546Sopenharmony_ci		</choice>
337bf215546Sopenharmony_ci	</complexType>
338bf215546Sopenharmony_ci	
339bf215546Sopenharmony_ci	<complexType name="listitemType" mixed="true">
340bf215546Sopenharmony_ci		<annotation>
341bf215546Sopenharmony_ci			<documentation>
342bf215546Sopenharmony_ci				items of a list
343bf215546Sopenharmony_ci			</documentation>
344bf215546Sopenharmony_ci		</annotation>
345bf215546Sopenharmony_ci		<choice minOccurs="0" maxOccurs="unbounded">
346bf215546Sopenharmony_ci			<group ref="rng:textformatGroup" />
347bf215546Sopenharmony_ci			<group ref="rng:listGroup" />
348bf215546Sopenharmony_ci			<element ref="rng:code" />
349bf215546Sopenharmony_ci		</choice>
350bf215546Sopenharmony_ci	</complexType>
351bf215546Sopenharmony_ci
352bf215546Sopenharmony_ci
353bf215546Sopenharmony_ci
354bf215546Sopenharmony_ci	<!-- Attribute value types -->
355bf215546Sopenharmony_ci
356bf215546Sopenharmony_ci	<simpleType name="Hexadecimal">
357bf215546Sopenharmony_ci		<restriction base="string">
358bf215546Sopenharmony_ci			<pattern value="0x[0-9a-f]+" />
359bf215546Sopenharmony_ci			<pattern value="0x[0-9A-F]+" />
360bf215546Sopenharmony_ci			<pattern value="[0-9]" />
361bf215546Sopenharmony_ci		</restriction>
362bf215546Sopenharmony_ci	</simpleType>
363bf215546Sopenharmony_ci
364bf215546Sopenharmony_ci	<simpleType name="HexOrNumber">
365bf215546Sopenharmony_ci		<annotation>
366bf215546Sopenharmony_ci			<documentation>HexOrNumber</documentation>
367bf215546Sopenharmony_ci		</annotation>
368bf215546Sopenharmony_ci		<union memberTypes="rng:Hexadecimal nonNegativeInteger" />
369bf215546Sopenharmony_ci	</simpleType>
370bf215546Sopenharmony_ci
371bf215546Sopenharmony_ci	<simpleType name="Boolean">
372bf215546Sopenharmony_ci		<restriction base="string">
373bf215546Sopenharmony_ci			<enumeration value="true" />
374bf215546Sopenharmony_ci			<enumeration value="1" />
375bf215546Sopenharmony_ci			<enumeration value="yes" />
376bf215546Sopenharmony_ci			<enumeration value="false" />
377bf215546Sopenharmony_ci			<enumeration value="0" />
378bf215546Sopenharmony_ci			<enumeration value="no" />
379bf215546Sopenharmony_ci		</restriction>
380bf215546Sopenharmony_ci	</simpleType>
381bf215546Sopenharmony_ci
382bf215546Sopenharmony_ci	<simpleType name="Access">
383bf215546Sopenharmony_ci		<annotation>
384bf215546Sopenharmony_ci			<documentation>Access</documentation>
385bf215546Sopenharmony_ci		</annotation>
386bf215546Sopenharmony_ci		<restriction base="string">
387bf215546Sopenharmony_ci			<enumeration value="r" />
388bf215546Sopenharmony_ci			<enumeration value="w" />
389bf215546Sopenharmony_ci			<enumeration value="rw" />
390bf215546Sopenharmony_ci		</restriction>
391bf215546Sopenharmony_ci	</simpleType>
392bf215546Sopenharmony_ci
393bf215546Sopenharmony_ci	<simpleType name="DomainWidth">
394bf215546Sopenharmony_ci		<annotation>
395bf215546Sopenharmony_ci			<documentation>DomainWidth</documentation>
396bf215546Sopenharmony_ci		</annotation>
397bf215546Sopenharmony_ci		<restriction base="string">
398bf215546Sopenharmony_ci			<enumeration value="8" />
399bf215546Sopenharmony_ci			<enumeration value="16" />
400bf215546Sopenharmony_ci			<enumeration value="32" />
401bf215546Sopenharmony_ci			<enumeration value="64" />
402bf215546Sopenharmony_ci		</restriction>
403bf215546Sopenharmony_ci	</simpleType>
404bf215546Sopenharmony_ci
405bf215546Sopenharmony_ci
406bf215546Sopenharmony_ci
407bf215546Sopenharmony_ci	<!-- Element groups -->
408bf215546Sopenharmony_ci
409bf215546Sopenharmony_ci	<group name="topGroup">
410bf215546Sopenharmony_ci		<choice>
411bf215546Sopenharmony_ci			<element ref="rng:copyright" />
412bf215546Sopenharmony_ci			<element ref="rng:domain" />
413bf215546Sopenharmony_ci			<element ref="rng:enum" />
414bf215546Sopenharmony_ci			<element ref="rng:group" />
415bf215546Sopenharmony_ci			<element ref="rng:bitset" />
416bf215546Sopenharmony_ci			<element ref="rng:import" />
417bf215546Sopenharmony_ci		</choice>
418bf215546Sopenharmony_ci	</group>
419bf215546Sopenharmony_ci	
420bf215546Sopenharmony_ci	<group name="regarrayGroup">
421bf215546Sopenharmony_ci		<choice>
422bf215546Sopenharmony_ci			<element ref="rng:reg64" />
423bf215546Sopenharmony_ci			<element ref="rng:reg32" />
424bf215546Sopenharmony_ci			<element ref="rng:reg16" />
425bf215546Sopenharmony_ci			<element ref="rng:reg8" />
426bf215546Sopenharmony_ci			<element ref="rng:array" />
427bf215546Sopenharmony_ci			<element ref="rng:stripe" />
428bf215546Sopenharmony_ci			<element ref="rng:use-group" />
429bf215546Sopenharmony_ci		</choice>
430bf215546Sopenharmony_ci	</group>
431bf215546Sopenharmony_ci	
432bf215546Sopenharmony_ci	<group name="docGroup">
433bf215546Sopenharmony_ci		<choice>
434bf215546Sopenharmony_ci			<element ref="rng:brief" />
435bf215546Sopenharmony_ci			<element ref="rng:doc" />
436bf215546Sopenharmony_ci		</choice>
437bf215546Sopenharmony_ci	</group>
438bf215546Sopenharmony_ci	
439bf215546Sopenharmony_ci	<group name="textformatGroup">
440bf215546Sopenharmony_ci		<choice>
441bf215546Sopenharmony_ci			<element ref="rng:b" />
442bf215546Sopenharmony_ci			<element ref="rng:i" />
443bf215546Sopenharmony_ci			<element ref="rng:u" />
444bf215546Sopenharmony_ci		</choice>
445bf215546Sopenharmony_ci	</group>
446bf215546Sopenharmony_ci	
447bf215546Sopenharmony_ci	<group name="listGroup">
448bf215546Sopenharmony_ci		<choice>
449bf215546Sopenharmony_ci			<element ref="rng:ul" />
450bf215546Sopenharmony_ci			<element ref="rng:ol" />
451bf215546Sopenharmony_ci		</choice>
452bf215546Sopenharmony_ci	</group>
453bf215546Sopenharmony_ci
454bf215546Sopenharmony_ci</schema>
455