blob: 58426511c0ac9777322d6e6cdc15613d824b79e9 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="unqualified">
<!-- Root element: chip -->
<xsd:element name="chip">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="attn_tree" type="attn_tree"
minOccurs="1" maxOccurs="255"/>
</xsd:sequence>
<xsd:attribute name="name" type="name_type" use="required"/>
<xsd:attribute name="model_ec" type="model_ec_type" use="required"/>
</xsd:complexType>
</xsd:element>
<!-- Element: chip/attn_tree -->
<xsd:complexType name="attn_tree">
<xsd:attribute name="attn_type" type="attn_type_enum" use="required"/>
<xsd:attribute name="root_node" type="name_type" use="required"/>
<xsd:attribute name="node_inst" type="inst_type" use="required"/>
</xsd:complexType>
<!-- Names must be alphanumeric or underscores, no spaces or other symbols
allowed. -->
<xsd:simpleType name="name_type">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-zA-Z0-9_]+"/>
</xsd:restriction>
</xsd:simpleType>
<!-- A comma separated list of names (see name_type for name definition). -->
<xsd:simpleType name="model_ec_type">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-zA-Z0-9_]+(,[a-zA-Z0-9_]+)*"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Instance values are integers from 0-255. -->
<xsd:simpleType name="inst_type">
<xsd:restriction base="xsd:integer">
<xsd:minInclusive value="0"/>
<xsd:maxInclusive value="255"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Attention type enum. -->
<xsd:simpleType name="attn_type_enum">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="CS"/>
<xsd:enumeration value="RE"/>
<xsd:enumeration value="UCS"/>
<xsd:enumeration value="SPA"/>
<xsd:enumeration value="HA"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>