<x:schema xmlns:x="http://www.w3.org/2001/XMLSchema">
<x:simpleType name="IDENTIFIER">
<x:restriction base="x:NCName">
<x:pattern value="\w(\w|\d)*"/>
</x:restriction>
</x:simpleType>
<x:simpleType name="SimpleName">
<x:restriction base="IDENTIFIER"/>
</x:simpleType>
<x:simpleType name="NodeList">
<x:restriction base="x:string">
<x:pattern value="(
|\t)*(\w(\w|\d)*)( |\t)*(,( |\t)*(\w(\w|\d)*)( |\t)*)*"/>
</x:restriction>
</x:simpleType>
<x:simpleType name="IdentifierList">
<x:restriction base="NodeList"/>
</x:simpleType>
<x:element name="Lattice" type="Lattice"/>
<x:complexType name="Lattice">
<x:sequence>
<x:element name="SecurityLabels" type="NodeList"/>
<x:element name="Ordering" type="EdgeLists"/>
<x:element name="ClearanceList" type="ClearanceLists"/>
</x:sequence>
<x:attribute name="name" type="SimpleName"/>
</x:complexType>
<x:complexType name="EdgeLists">
<x:sequence>
<x:element name="Order" type="NodeList" maxOccurs="unbounded"/>
</x:sequence>
</x:complexType>
<x:complexType name="ClearanceLists">
<x:sequence>
<x:element name="Clearance" type="ClearanceList" maxOccurs="unbounded"/>
</x:sequence>
</x:complexType>
<x:complexType name="ClearanceList">
<x:attribute name="names" type="IdentifierList"/>
<x:attribute name="labels" type="NodeList"/>
</x:complexType>
</x:schema>