aboutsummaryrefslogtreecommitdiff
path: root/tosa.xsd
diff options
context:
space:
mode:
authorEric Kunze <eric.kunze@arm.com>2023-01-09 11:16:51 -0800
committerEric Kunze <eric.kunze@arm.com>2023-05-15 11:49:12 -0700
commit42085e36b0b47209ca767a3b8300f689cb6ec0bf (patch)
treea636f453903022192ea5ba6733e4129d4051f8f4 /tosa.xsd
parent5b936a3c5c335baab178edecf4c1da09b9a86707 (diff)
downloadspecification-42085e36b0b47209ca767a3b8300f689cb6ec0bf.tar.gz
Add TOSA rank requirements to TOSA XML
Adds new optional element to argument 'rank' - Must supply minimum and maximum rank - Integer values or the level based "MAX_RANK" - trailing modifiers allowed for "MAX_RANK" - Displays in a new column in the document - Document generation validates rank against specified shape Change-Id: I507dc51bfe012d3230af43103c6c423a6f1e92b5 Signed-off-by: Eric Kunze <eric.kunze@arm.com>
Diffstat (limited to 'tosa.xsd')
-rw-r--r--tosa.xsd24
1 files changed, 24 insertions, 0 deletions
diff --git a/tosa.xsd b/tosa.xsd
index ca99a8e..fe08885 100644
--- a/tosa.xsd
+++ b/tosa.xsd
@@ -125,6 +125,29 @@
</xs:complexType>
</xs:element>
+<!--- Valid values for the rank choices, either an integer or a string
+ starting with MAX_RANK (to allow things like MAX_RANK - 1)
+-->
+<xs:simpleType name="validRank">
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:integer"/>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="MAX_RANK.*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+</xs:simpleType>
+
+<xs:element name="rank">
+ <xs:complexType>
+ <xs:attribute name="min" type="validRank" use="required"/>
+ <xs:attribute name="max" type="validRank" use="required"/>
+ </xs:complexType>
+</xs:element>
+
<!-- TODO pattern for attribute name -->
<!-- TODO enumerations/patterns for attribute type -->
<!-- TODO enumerations/patterns for attribute shape -->
@@ -152,6 +175,7 @@
<xs:sequence>
<xs:element name="description" type="xs:string"/>
<xs:element ref="levellimit" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="rank" minOccurs="0" maxOccurs="1"/>
</xs:sequence>
<xs:attribute name="category" type="argumentcategory" use="required"/>
<xs:attribute name="name" type="xs:string" use="required"/>