summaryrefslogtreecommitdiffstats
path: root/xml/references.xsd
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2015-09-24 04:28:45 +0200
committerSuren A. Chilingaryan <csa@suren.me>2015-09-24 04:28:45 +0200
commit08a01723af9cd52c078d5ca6c38c34d375b39fa0 (patch)
tree6eadea9c67f4bb56a9e4ee09f4982efaf61deece /xml/references.xsd
parent924adedb2928f5657c6668f606dbb3294b3c45da (diff)
parentae7f83a7948d8c3760f8019899a45e6ec90c2c6a (diff)
downloadpcitool-08a01723af9cd52c078d5ca6c38c34d375b39fa0.tar.gz
pcitool-08a01723af9cd52c078d5ca6c38c34d375b39fa0.tar.bz2
pcitool-08a01723af9cd52c078d5ca6c38c34d375b39fa0.tar.xz
pcitool-08a01723af9cd52c078d5ca6c38c34d375b39fa0.zip
Finalyze XML support and provide initial support for views (only descriptions so far)
Diffstat (limited to 'xml/references.xsd')
-rw-r--r--xml/references.xsd50
1 files changed, 50 insertions, 0 deletions
diff --git a/xml/references.xsd b/xml/references.xsd
new file mode 100644
index 0000000..810913c
--- /dev/null
+++ b/xml/references.xsd
@@ -0,0 +1,50 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:include schemaLocation="types.xsd"/>
+
+ <xsd:element name="model">
+ <xsd:complexType>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="bank" type="pcilib_bank_t" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="transform" type="pcilib_transform_view_t" minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="enum" type="pcilib_enum_view_t" minOccurs="0" maxOccurs="unbounded">
+ <xsd:key name="pcilib_value_name_key">
+ <xsd:selector xpath="name" />
+ <xsd:field xpath="@value" />
+ </xsd:key>
+ </xsd:element>
+ <xsd:element name="unit" type="pcilib_unit_t" minOccurs="0" maxOccurs="unbounded">
+ <xsd:key name="pcilib_unit_transform_key">
+ <xsd:selector xpath="transform" />
+ <xsd:field xpath="@unit" />
+ </xsd:key>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:key name="pcilib_bank_key">
+ <xsd:selector xpath="bank" />
+ <xsd:field xpath="@name" />
+ </xsd:key>
+ <xsd:key name="pcilib_register_key">
+ <xsd:selector xpath="bank/register|bank/register/field" />
+ <xsd:field xpath="@name" />
+ </xsd:key>
+ <xsd:key name="pcilib_view_key">
+ <xsd:selector xpath="transform|enum" />
+ <xsd:field xpath="@name" />
+ </xsd:key>
+ <xsd:key name="pcilib_unit_key">
+ <xsd:selector xpath="unit" />
+ <xsd:field xpath="@name" />
+ </xsd:key>
+
+ <xsd:keyref name="pcilib_register_view_ref" refer="pcilib_view_key">
+ <xsd:selector xpath="bank/register/view|bank/register/field/view" />
+ <xsd:field xpath="@view" />
+ </xsd:keyref>
+ <xsd:keyref name="pcilib_unit_ref" refer="pcilib_unit_key">
+ <xsd:selector xpath="transform|enum" />
+ <xsd:field xpath="@unit" />
+ </xsd:keyref>
+ </xsd:element>
+</xsd:schema>