<?xml version=“1.0” encoding=“UTF-8”?> <xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema”>
<xs:simpleType name="stringtype"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:element name="scenarios"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="scenarios_list"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="scenarios_list"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="scenario"/> </xs:sequence> <xs:attribute name="name" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="scenario"> <xs:complexType> <xs:sequence> <xs:element ref="physical_objects"/> <xs:element ref="components"/> <xs:element ref="constraints"/> <xs:element ref="alarm_display"/> <xs:element ref="miscellaneous"/> </xs:sequence> <xs:attribute name="name" use="required" type="stringtype"/> <xs:attribute name="type" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="physical_objects"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="po"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="po"> <xs:complexType> <xs:attribute name="name" use="required" type="stringtype"/> <xs:attribute name="type" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="components"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="comp"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="comp"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="attribute"/> </xs:sequence> <xs:attribute name="code" use="required" type="stringtype"/> <xs:attribute name="name" use="required" type="stringtype"/> <xs:attribute name="type" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="constraints"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="cons"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="cons"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="predicat"/> </xs:sequence> <xs:attribute name="operator" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="predicat"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" ref="cons"/> </xs:sequence> <xs:attribute name="value" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="alarm_display"> <xs:complexType> <xs:sequence> <xs:element ref="text"/> <xs:element ref="level"/> <xs:element ref="pos_3d"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="text"> <xs:complexType> <xs:attribute name="value" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="level"> <xs:complexType> <xs:attribute name="value" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="pos_3d"> <xs:complexType> <xs:attribute name="value" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="miscellaneous"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="misc"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="misc"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="attribute"/> </xs:sequence> <xs:attribute name="name" use="required" type="stringtype"/> </xs:complexType> </xs:element> <xs:element name="attribute"> <xs:complexType> <xs:attribute name="name" use="required" type="stringtype"/> <xs:attribute name="value" type="stringtype"/> </xs:complexType> </xs:element>
</xs:schema>