freedreno/rnn: rename schema file
authorRob Clark <robdclark@chromium.org>
Tue, 28 Jul 2020 16:04:04 +0000 (09:04 -0700)
committerMarge Bot <eric+marge@anholt.net>
Wed, 29 Jul 2020 14:30:35 +0000 (14:30 +0000)
All of the xml references rules-ng.xsd, not rules-ng-ng.xsd

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6107>

src/freedreno/registers/rules-ng-ng.xsd [deleted file]
src/freedreno/registers/rules-ng.xsd [new file with mode: 0644]

diff --git a/src/freedreno/registers/rules-ng-ng.xsd b/src/freedreno/registers/rules-ng-ng.xsd
deleted file mode 100644 (file)
index 10b5f37..0000000
+++ /dev/null
@@ -1,388 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<schema xmlns="http://www.w3.org/2001/XMLSchema"\r
-       targetNamespace="http://nouveau.freedesktop.org/"\r
-       xmlns:rng="http://nouveau.freedesktop.org/"\r
-       elementFormDefault="qualified">\r
-\r
-       <annotation>\r
-               <documentation>\r
-                       An updated version of the old rules.xml file from the\r
-                       RivaTV project. Specifications by Pekka Paalanen,\r
-                       preliminary attempt by KoalaBR,\r
-                       first working version by Jakob Bornecrantz.\r
-                       For specifications, see the file rules-ng-format.txt\r
-                       in Nouveau CVS module 'rules-ng'.\r
-               </documentation>\r
-               <documentation>Version 0.1</documentation>\r
-       </annotation>\r
-\r
-\r
-       <!-- Elements -->\r
-\r
-       <element name="database"       type="rng:databaseType" />\r
-       <element name="import"         type="rng:importType" />\r
-       <element name="domain"         type="rng:domainType" />\r
-       <element name="group"          type="rng:groupType" />\r
-       <element name="use-group"      type="rng:refType" />\r
-       <element name="array"          type="rng:arrayType" />\r
-       <element name="stripe"         type="rng:stripeType" />\r
-       <element name="reg64"          type="rng:registerType" />\r
-       <element name="reg32"          type="rng:registerType" />\r
-       <element name="reg16"          type="rng:registerType" />\r
-       <element name="reg8"           type="rng:registerType" />\r
-       <element name="bitset"         type="rng:bitsetType" />\r
-       <element name="bitfield"       type="rng:bitfieldType" />\r
-       <element name="enum"           type="rng:enumType" />\r
-       <element name="value"          type="rng:valueType" />\r
-       \r
-       <!-- Documentation elements -->\r
-       \r
-       <!-- FIXME: allowed only one  per parent element -->\r
-       <element name="brief" type="rng:briefType" />\r
-       \r
-       <element name="doc"  type="rng:docType" />\r
-       <element name="b"    type="rng:textformatType" />\r
-       <element name="i"    type="rng:textformatType" />\r
-       <element name="u"    type="rng:textformatType" />\r
-       <element name="code" type="rng:textcodeType" />\r
-       <element name="ul"   type="rng:listType" />\r
-       <element name="ol"   type="rng:listType" />\r
-       <element name="li"   type="rng:listitemType" />\r
-\r
-\r
-\r
-       <!-- Database element types -->\r
-\r
-       <complexType name="databaseType">\r
-               <annotation>\r
-                       <documentation>databaseType</documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-               </choice>\r
-       </complexType>\r
-\r
-       <complexType name="importType">\r
-               <annotation>\r
-                       <documentation>importType</documentation>\r
-               </annotation>\r
-               <attribute name="file" type="string" use="required" />\r
-       </complexType>\r
-\r
-       <complexType name="domainType">\r
-               <annotation>\r
-                       <documentation>domainType</documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-                       <group ref="rng:regarrayGroup" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="required" />\r
-               <attribute name="bare" type="boolean" use="optional" />\r
-               <attribute name="prefix" type="NMTOKENS" use="optional" />\r
-               <attribute name="width" type="rng:DomainWidth" use="optional" />\r
-               <attribute name="size" type="rng:Hexadecimal" use="optional" />\r
-       </complexType>\r
-\r
-       <complexType name="groupType">\r
-               <annotation>\r
-                       <documentation>groupType</documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-                       <group ref="rng:regarrayGroup" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="required" />\r
-       </complexType>\r
-\r
-       <complexType name="arrayType">\r
-               <annotation>\r
-                       <documentation>arrayType</documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-                       <group ref="rng:regarrayGroup" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="required" />\r
-               <attribute name="offset" type="rng:Hexadecimal" use="required" />\r
-               <attribute name="stride" type="rng:HexOrNumber" use="required" />\r
-               <attribute name="length" type="rng:HexOrNumber" use="required" />\r
-               <attribute name="varset" type="NMTOKEN" use="optional" />\r
-               <attribute name="variants" type="string" use="optional" />\r
-       </complexType>\r
-\r
-       <complexType name="stripeType">\r
-               <annotation>\r
-                       <documentation>stripeType</documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-                       <group ref="rng:regarrayGroup" minOccurs="0" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="optional" />\r
-               <attribute name="offset" type="rng:Hexadecimal" use="optional" />\r
-               <attribute name="stride" type="rng:HexOrNumber" use="optional" />\r
-               <attribute name="length" type="rng:HexOrNumber" use="optional" />\r
-               <attribute name="varset" type="NMTOKEN" use="optional" />\r
-               <attribute name="variants" type="string" use="optional" />\r
-               <attribute name="prefix" type="NMTOKENS" use="optional" />\r
-       </complexType>\r
-\r
-       <complexType name="registerType">\r
-               <annotation>\r
-                       <documentation>\r
-                               registerType used by reg8, reg16, reg32, reg64\r
-                       </documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-                       <element ref="rng:value" />\r
-                       <element ref="rng:bitfield" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="required" />\r
-               <attribute name="offset" type="rng:Hexadecimal" use="required" />\r
-               <attribute name="access" type="rng:Access" default="rw" use="optional" />\r
-               <attribute name="type" type="NMTOKENS" use="optional" />\r
-               <attribute name="shr" type="nonNegativeInteger" use="optional" />\r
-               <attribute name="varset" type="NMTOKEN" use="optional" />\r
-               <attribute name="variants" type="string" use="optional" />\r
-               <attribute name="stride" type="rng:HexOrNumber" use="optional" />\r
-               <attribute name="length" type="rng:HexOrNumber" use="optional" />\r
-       </complexType>\r
-\r
-       <complexType name="bitsetType">\r
-               <annotation>\r
-                       <documentation>bitsetType</documentation>\r
-               </annotation>\r
-               <choice maxOccurs="unbounded">\r
-                       <element ref="rng:bitfield" />\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="required" />\r
-               <attribute name="inline" type="boolean" use="optional" />\r
-               <attribute name="bare" type="boolean" use="optional" />\r
-               <attribute name="prefix" type="NMTOKENS" use="optional" />\r
-       </complexType>\r
-\r
-       <complexType name="bitfieldType">\r
-               <annotation>\r
-                       <documentation>bitfieldType</documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <element ref="rng:value" maxOccurs="unbounded" />\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="required" />\r
-               <attribute name="high" type="nonNegativeInteger" use="required" />\r
-               <attribute name="low" type="nonNegativeInteger" use="required" />\r
-               <attribute name="type" type="NMTOKENS" use="optional" />\r
-               <attribute name="varset" type="NMTOKEN" use="optional" />\r
-               <attribute name="variants" type="string" use="optional" />\r
-               <attribute name="shr" type="nonNegativeInteger" use="optional" />\r
-       </complexType>\r
-\r
-       <complexType name="enumType">\r
-               <annotation>\r
-                       <documentation>enumType</documentation>\r
-               </annotation>\r
-               <choice maxOccurs="unbounded">\r
-                       <element ref="rng:value" />\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="required" />\r
-               <attribute name="inline" type="boolean" use="optional" />\r
-               <attribute name="bare" type="boolean" use="optional" />\r
-               <attribute name="prefix" type="NMTOKENS" use="optional" />\r
-       </complexType>\r
-\r
-       <complexType name="valueType">\r
-               <annotation>\r
-                       <documentation>valueType</documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:docGroup" />\r
-                       <group ref="rng:topGroup" />\r
-               </choice>\r
-               <attribute name="name" type="NMTOKEN" use="required" />\r
-               <attribute name="value" type="string" use="optional" />\r
-               <attribute name="varset" type="NMTOKEN" use="optional" />\r
-               <attribute name="variants" type="string" use="optional" />\r
-       </complexType>\r
-\r
-       <complexType name="refType">\r
-               <annotation>\r
-                       <documentation>refType</documentation>\r
-               </annotation>\r
-               <attribute name="ref" type="NMTOKEN" use="required" />\r
-       </complexType>\r
-\r
-\r
-       <!-- Documentation element types -->\r
-\r
-       <complexType name="briefType">\r
-               <annotation>\r
-                       <documentation>\r
-                               brief documentation, no markup\r
-                       </documentation>\r
-               </annotation>\r
-               <simpleContent>\r
-                       <extension base="string" />\r
-               </simpleContent>\r
-       </complexType>\r
-       \r
-       <complexType name="docType" mixed="true">\r
-               <annotation>\r
-                       <documentation>\r
-                               root element of documentation sub-tree\r
-                       </documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:textformatGroup" />\r
-                       <group ref="rng:listGroup" />\r
-                       <element ref="rng:code" />\r
-               </choice>\r
-       </complexType>\r
-       \r
-       <complexType name="textformatType" mixed="true">\r
-               <annotation>\r
-                       <documentation>\r
-                               for bold, underline, italics\r
-                       </documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:textformatGroup" />\r
-               </choice>\r
-       </complexType>\r
-       \r
-       <complexType name="textcodeType">\r
-               <simpleContent>\r
-                       <extension base="string">\r
-                               <attribute name="title" type="string" />\r
-                       </extension>\r
-               </simpleContent>\r
-       </complexType>\r
-       \r
-       <complexType name="listType">\r
-               <annotation>\r
-                       <documentation>\r
-                               definition of a list, ordered or unordered\r
-                       </documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <element ref="rng:li" />\r
-               </choice>\r
-       </complexType>\r
-       \r
-       <complexType name="listitemType" mixed="true">\r
-               <annotation>\r
-                       <documentation>\r
-                               items of a list\r
-                       </documentation>\r
-               </annotation>\r
-               <choice minOccurs="0" maxOccurs="unbounded">\r
-                       <group ref="rng:textformatGroup" />\r
-                       <group ref="rng:listGroup" />\r
-                       <element ref="rng:code" />\r
-               </choice>\r
-       </complexType>\r
-\r
-\r
-\r
-       <!-- Attribute value types -->\r
-\r
-       <simpleType name="Hexadecimal">\r
-               <restriction base="string">\r
-                       <pattern value="0x[0-9a-f]+" />\r
-                       <pattern value="0x[0-9A-F]+" />\r
-                       <pattern value="[0-9]" />\r
-               </restriction>\r
-       </simpleType>\r
-\r
-       <simpleType name="HexOrNumber">\r
-               <annotation>\r
-                       <documentation>HexOrNumber</documentation>\r
-               </annotation>\r
-               <union memberTypes="rng:Hexadecimal nonNegativeInteger" />\r
-       </simpleType>\r
-\r
-       <simpleType name="Access">\r
-               <annotation>\r
-                       <documentation>Access</documentation>\r
-               </annotation>\r
-               <restriction base="string">\r
-                       <enumeration value="r" />\r
-                       <enumeration value="w" />\r
-                       <enumeration value="rw" />\r
-               </restriction>\r
-       </simpleType>\r
-\r
-       <simpleType name="DomainWidth">\r
-               <annotation>\r
-                       <documentation>DomainWidth</documentation>\r
-               </annotation>\r
-               <restriction base="string">\r
-                       <enumeration value="8" />\r
-                       <enumeration value="16" />\r
-                       <enumeration value="32" />\r
-                       <enumeration value="64" />\r
-               </restriction>\r
-       </simpleType>\r
-\r
-\r
-\r
-       <!-- Element groups -->\r
-\r
-       <group name="topGroup">\r
-               <choice>\r
-                       <element ref="rng:domain" />\r
-                       <element ref="rng:enum" />\r
-                       <element ref="rng:group" />\r
-                       <element ref="rng:bitset" />\r
-                       <element ref="rng:import" />\r
-               </choice>\r
-       </group>\r
-       \r
-       <group name="regarrayGroup">\r
-               <choice>\r
-                       <element ref="rng:reg64" />\r
-                       <element ref="rng:reg32" />\r
-                       <element ref="rng:reg16" />\r
-                       <element ref="rng:reg8" />\r
-                       <element ref="rng:array" />\r
-                       <element ref="rng:stripe" />\r
-                       <element ref="rng:use-group" />\r
-               </choice>\r
-       </group>\r
-       \r
-       <group name="docGroup">\r
-               <choice>\r
-                       <element ref="rng:brief" />\r
-                       <element ref="rng:doc" />\r
-               </choice>\r
-       </group>\r
-       \r
-       <group name="textformatGroup">\r
-               <choice>\r
-                       <element ref="rng:b" />\r
-                       <element ref="rng:i" />\r
-                       <element ref="rng:u" />\r
-               </choice>\r
-       </group>\r
-       \r
-       <group name="listGroup">\r
-               <choice>\r
-                       <element ref="rng:ul" />\r
-                       <element ref="rng:ol" />\r
-               </choice>\r
-       </group>\r
-\r
-</schema>\r
diff --git a/src/freedreno/registers/rules-ng.xsd b/src/freedreno/registers/rules-ng.xsd
new file mode 100644 (file)
index 0000000..10b5f37
--- /dev/null
@@ -0,0 +1,388 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<schema xmlns="http://www.w3.org/2001/XMLSchema"\r
+       targetNamespace="http://nouveau.freedesktop.org/"\r
+       xmlns:rng="http://nouveau.freedesktop.org/"\r
+       elementFormDefault="qualified">\r
+\r
+       <annotation>\r
+               <documentation>\r
+                       An updated version of the old rules.xml file from the\r
+                       RivaTV project. Specifications by Pekka Paalanen,\r
+                       preliminary attempt by KoalaBR,\r
+                       first working version by Jakob Bornecrantz.\r
+                       For specifications, see the file rules-ng-format.txt\r
+                       in Nouveau CVS module 'rules-ng'.\r
+               </documentation>\r
+               <documentation>Version 0.1</documentation>\r
+       </annotation>\r
+\r
+\r
+       <!-- Elements -->\r
+\r
+       <element name="database"       type="rng:databaseType" />\r
+       <element name="import"         type="rng:importType" />\r
+       <element name="domain"         type="rng:domainType" />\r
+       <element name="group"          type="rng:groupType" />\r
+       <element name="use-group"      type="rng:refType" />\r
+       <element name="array"          type="rng:arrayType" />\r
+       <element name="stripe"         type="rng:stripeType" />\r
+       <element name="reg64"          type="rng:registerType" />\r
+       <element name="reg32"          type="rng:registerType" />\r
+       <element name="reg16"          type="rng:registerType" />\r
+       <element name="reg8"           type="rng:registerType" />\r
+       <element name="bitset"         type="rng:bitsetType" />\r
+       <element name="bitfield"       type="rng:bitfieldType" />\r
+       <element name="enum"           type="rng:enumType" />\r
+       <element name="value"          type="rng:valueType" />\r
+       \r
+       <!-- Documentation elements -->\r
+       \r
+       <!-- FIXME: allowed only one  per parent element -->\r
+       <element name="brief" type="rng:briefType" />\r
+       \r
+       <element name="doc"  type="rng:docType" />\r
+       <element name="b"    type="rng:textformatType" />\r
+       <element name="i"    type="rng:textformatType" />\r
+       <element name="u"    type="rng:textformatType" />\r
+       <element name="code" type="rng:textcodeType" />\r
+       <element name="ul"   type="rng:listType" />\r
+       <element name="ol"   type="rng:listType" />\r
+       <element name="li"   type="rng:listitemType" />\r
+\r
+\r
+\r
+       <!-- Database element types -->\r
+\r
+       <complexType name="databaseType">\r
+               <annotation>\r
+                       <documentation>databaseType</documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+               </choice>\r
+       </complexType>\r
+\r
+       <complexType name="importType">\r
+               <annotation>\r
+                       <documentation>importType</documentation>\r
+               </annotation>\r
+               <attribute name="file" type="string" use="required" />\r
+       </complexType>\r
+\r
+       <complexType name="domainType">\r
+               <annotation>\r
+                       <documentation>domainType</documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+                       <group ref="rng:regarrayGroup" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="required" />\r
+               <attribute name="bare" type="boolean" use="optional" />\r
+               <attribute name="prefix" type="NMTOKENS" use="optional" />\r
+               <attribute name="width" type="rng:DomainWidth" use="optional" />\r
+               <attribute name="size" type="rng:Hexadecimal" use="optional" />\r
+       </complexType>\r
+\r
+       <complexType name="groupType">\r
+               <annotation>\r
+                       <documentation>groupType</documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+                       <group ref="rng:regarrayGroup" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="required" />\r
+       </complexType>\r
+\r
+       <complexType name="arrayType">\r
+               <annotation>\r
+                       <documentation>arrayType</documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+                       <group ref="rng:regarrayGroup" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="required" />\r
+               <attribute name="offset" type="rng:Hexadecimal" use="required" />\r
+               <attribute name="stride" type="rng:HexOrNumber" use="required" />\r
+               <attribute name="length" type="rng:HexOrNumber" use="required" />\r
+               <attribute name="varset" type="NMTOKEN" use="optional" />\r
+               <attribute name="variants" type="string" use="optional" />\r
+       </complexType>\r
+\r
+       <complexType name="stripeType">\r
+               <annotation>\r
+                       <documentation>stripeType</documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+                       <group ref="rng:regarrayGroup" minOccurs="0" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="optional" />\r
+               <attribute name="offset" type="rng:Hexadecimal" use="optional" />\r
+               <attribute name="stride" type="rng:HexOrNumber" use="optional" />\r
+               <attribute name="length" type="rng:HexOrNumber" use="optional" />\r
+               <attribute name="varset" type="NMTOKEN" use="optional" />\r
+               <attribute name="variants" type="string" use="optional" />\r
+               <attribute name="prefix" type="NMTOKENS" use="optional" />\r
+       </complexType>\r
+\r
+       <complexType name="registerType">\r
+               <annotation>\r
+                       <documentation>\r
+                               registerType used by reg8, reg16, reg32, reg64\r
+                       </documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+                       <element ref="rng:value" />\r
+                       <element ref="rng:bitfield" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="required" />\r
+               <attribute name="offset" type="rng:Hexadecimal" use="required" />\r
+               <attribute name="access" type="rng:Access" default="rw" use="optional" />\r
+               <attribute name="type" type="NMTOKENS" use="optional" />\r
+               <attribute name="shr" type="nonNegativeInteger" use="optional" />\r
+               <attribute name="varset" type="NMTOKEN" use="optional" />\r
+               <attribute name="variants" type="string" use="optional" />\r
+               <attribute name="stride" type="rng:HexOrNumber" use="optional" />\r
+               <attribute name="length" type="rng:HexOrNumber" use="optional" />\r
+       </complexType>\r
+\r
+       <complexType name="bitsetType">\r
+               <annotation>\r
+                       <documentation>bitsetType</documentation>\r
+               </annotation>\r
+               <choice maxOccurs="unbounded">\r
+                       <element ref="rng:bitfield" />\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="required" />\r
+               <attribute name="inline" type="boolean" use="optional" />\r
+               <attribute name="bare" type="boolean" use="optional" />\r
+               <attribute name="prefix" type="NMTOKENS" use="optional" />\r
+       </complexType>\r
+\r
+       <complexType name="bitfieldType">\r
+               <annotation>\r
+                       <documentation>bitfieldType</documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <element ref="rng:value" maxOccurs="unbounded" />\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="required" />\r
+               <attribute name="high" type="nonNegativeInteger" use="required" />\r
+               <attribute name="low" type="nonNegativeInteger" use="required" />\r
+               <attribute name="type" type="NMTOKENS" use="optional" />\r
+               <attribute name="varset" type="NMTOKEN" use="optional" />\r
+               <attribute name="variants" type="string" use="optional" />\r
+               <attribute name="shr" type="nonNegativeInteger" use="optional" />\r
+       </complexType>\r
+\r
+       <complexType name="enumType">\r
+               <annotation>\r
+                       <documentation>enumType</documentation>\r
+               </annotation>\r
+               <choice maxOccurs="unbounded">\r
+                       <element ref="rng:value" />\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="required" />\r
+               <attribute name="inline" type="boolean" use="optional" />\r
+               <attribute name="bare" type="boolean" use="optional" />\r
+               <attribute name="prefix" type="NMTOKENS" use="optional" />\r
+       </complexType>\r
+\r
+       <complexType name="valueType">\r
+               <annotation>\r
+                       <documentation>valueType</documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:docGroup" />\r
+                       <group ref="rng:topGroup" />\r
+               </choice>\r
+               <attribute name="name" type="NMTOKEN" use="required" />\r
+               <attribute name="value" type="string" use="optional" />\r
+               <attribute name="varset" type="NMTOKEN" use="optional" />\r
+               <attribute name="variants" type="string" use="optional" />\r
+       </complexType>\r
+\r
+       <complexType name="refType">\r
+               <annotation>\r
+                       <documentation>refType</documentation>\r
+               </annotation>\r
+               <attribute name="ref" type="NMTOKEN" use="required" />\r
+       </complexType>\r
+\r
+\r
+       <!-- Documentation element types -->\r
+\r
+       <complexType name="briefType">\r
+               <annotation>\r
+                       <documentation>\r
+                               brief documentation, no markup\r
+                       </documentation>\r
+               </annotation>\r
+               <simpleContent>\r
+                       <extension base="string" />\r
+               </simpleContent>\r
+       </complexType>\r
+       \r
+       <complexType name="docType" mixed="true">\r
+               <annotation>\r
+                       <documentation>\r
+                               root element of documentation sub-tree\r
+                       </documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:textformatGroup" />\r
+                       <group ref="rng:listGroup" />\r
+                       <element ref="rng:code" />\r
+               </choice>\r
+       </complexType>\r
+       \r
+       <complexType name="textformatType" mixed="true">\r
+               <annotation>\r
+                       <documentation>\r
+                               for bold, underline, italics\r
+                       </documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:textformatGroup" />\r
+               </choice>\r
+       </complexType>\r
+       \r
+       <complexType name="textcodeType">\r
+               <simpleContent>\r
+                       <extension base="string">\r
+                               <attribute name="title" type="string" />\r
+                       </extension>\r
+               </simpleContent>\r
+       </complexType>\r
+       \r
+       <complexType name="listType">\r
+               <annotation>\r
+                       <documentation>\r
+                               definition of a list, ordered or unordered\r
+                       </documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <element ref="rng:li" />\r
+               </choice>\r
+       </complexType>\r
+       \r
+       <complexType name="listitemType" mixed="true">\r
+               <annotation>\r
+                       <documentation>\r
+                               items of a list\r
+                       </documentation>\r
+               </annotation>\r
+               <choice minOccurs="0" maxOccurs="unbounded">\r
+                       <group ref="rng:textformatGroup" />\r
+                       <group ref="rng:listGroup" />\r
+                       <element ref="rng:code" />\r
+               </choice>\r
+       </complexType>\r
+\r
+\r
+\r
+       <!-- Attribute value types -->\r
+\r
+       <simpleType name="Hexadecimal">\r
+               <restriction base="string">\r
+                       <pattern value="0x[0-9a-f]+" />\r
+                       <pattern value="0x[0-9A-F]+" />\r
+                       <pattern value="[0-9]" />\r
+               </restriction>\r
+       </simpleType>\r
+\r
+       <simpleType name="HexOrNumber">\r
+               <annotation>\r
+                       <documentation>HexOrNumber</documentation>\r
+               </annotation>\r
+               <union memberTypes="rng:Hexadecimal nonNegativeInteger" />\r
+       </simpleType>\r
+\r
+       <simpleType name="Access">\r
+               <annotation>\r
+                       <documentation>Access</documentation>\r
+               </annotation>\r
+               <restriction base="string">\r
+                       <enumeration value="r" />\r
+                       <enumeration value="w" />\r
+                       <enumeration value="rw" />\r
+               </restriction>\r
+       </simpleType>\r
+\r
+       <simpleType name="DomainWidth">\r
+               <annotation>\r
+                       <documentation>DomainWidth</documentation>\r
+               </annotation>\r
+               <restriction base="string">\r
+                       <enumeration value="8" />\r
+                       <enumeration value="16" />\r
+                       <enumeration value="32" />\r
+                       <enumeration value="64" />\r
+               </restriction>\r
+       </simpleType>\r
+\r
+\r
+\r
+       <!-- Element groups -->\r
+\r
+       <group name="topGroup">\r
+               <choice>\r
+                       <element ref="rng:domain" />\r
+                       <element ref="rng:enum" />\r
+                       <element ref="rng:group" />\r
+                       <element ref="rng:bitset" />\r
+                       <element ref="rng:import" />\r
+               </choice>\r
+       </group>\r
+       \r
+       <group name="regarrayGroup">\r
+               <choice>\r
+                       <element ref="rng:reg64" />\r
+                       <element ref="rng:reg32" />\r
+                       <element ref="rng:reg16" />\r
+                       <element ref="rng:reg8" />\r
+                       <element ref="rng:array" />\r
+                       <element ref="rng:stripe" />\r
+                       <element ref="rng:use-group" />\r
+               </choice>\r
+       </group>\r
+       \r
+       <group name="docGroup">\r
+               <choice>\r
+                       <element ref="rng:brief" />\r
+                       <element ref="rng:doc" />\r
+               </choice>\r
+       </group>\r
+       \r
+       <group name="textformatGroup">\r
+               <choice>\r
+                       <element ref="rng:b" />\r
+                       <element ref="rng:i" />\r
+                       <element ref="rng:u" />\r
+               </choice>\r
+       </group>\r
+       \r
+       <group name="listGroup">\r
+               <choice>\r
+                       <element ref="rng:ul" />\r
+                       <element ref="rng:ol" />\r
+               </choice>\r
+       </group>\r
+\r
+</schema>\r