summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Martin <consume.noise@gmail.com>2013-11-22 23:26:54 +0100
committerDaniel Martin <consume.noise@gmail.com>2014-07-20 21:23:29 +0200
commita66356e0d97e18f567a1fcc14e037fa190916463 (patch)
tree36a58e3c908b05b7f6fbe283edf32557ca736a26
parent3a0a402d9827cbe6fa5baf0e373e9772f3b3c702 (diff)
schema: Restricted enum item values
Restrict decimal values by using an xsd:unsignedInt instead of an xsd:integer. xsd:unsignedInt is an unsigned 32-bit integer. And restrict bit values by adding a type, which allows values within the range of [0, 32) only. Signed-off-by: Daniel Martin <consume.noise@gmail.com>
-rw-r--r--src/xcb.xsd14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/xcb.xsd b/src/xcb.xsd
index 77a696f..59bb9a8 100644
--- a/src/xcb.xsd
+++ b/src/xcb.xsd
@@ -163,7 +163,7 @@ authorization from the authors.
</xsd:complexType>
</xsd:element>
<xsd:element name="value" type="xsd:integer" />
- <xsd:element name="bit" type="xsd:integer" />
+ <xsd:element name="bit" type="bitType" />
</xsd:choice>
</xsd:group>
@@ -224,6 +224,14 @@ authorization from the authors.
<xsd:attribute name="ref" type="xsd:string" use="required" />
</xsd:complexType>
+ <!-- Type for bit values -->
+ <xsd:simpleType name="bitType">
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="0" />
+ <xsd:maxExclusive value="32" />
+ </xsd:restriction>
+ </xsd:simpleType>
+
<!-- Type for documentation -->
<xsd:group name="doc-fields">
<xsd:sequence>
@@ -352,8 +360,8 @@ authorization from the authors.
<xsd:element name="item">
<xsd:complexType>
<xsd:choice minOccurs="1" maxOccurs="1">
- <xsd:element name="value" type="xsd:integer" />
- <xsd:element name="bit" type="xsd:integer" />
+ <xsd:element name="value" type="xsd:unsignedInt" />
+ <xsd:element name="bit" type="bitType" />
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>