blob: fabe340508b1c0272b2d6551d5cba6769ca0e693 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="effects_model">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" ref="templates"/>
<xs:element ref="values"/>
<xs:element ref="effect"/>
<xs:element ref="raw"/>
</xs:sequence>
<xs:attribute name="name" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="templates">
<xs:complexType>
<xs:sequence>
<xs:element ref="template"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="template">
<xs:complexType mixed="true">
<xs:attribute name="name" use="required" type="xs:NCName"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="values">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" ref="input"/>
<xs:element maxOccurs="unbounded" ref="output"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="input">
<xs:complexType>
<xs:attribute name="desc" use="required"/>
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="reads" type="xs:NCName"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="output">
<xs:complexType>
<xs:attribute name="desc" use="required"/>
<xs:attribute name="name" type="xs:NCName"/>
<xs:attribute name="reads" type="xs:NCName"/>
<xs:attribute name="writes" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="effect">
<xs:complexType>
<xs:sequence>
<xs:element ref="entering"/>
<xs:element ref="during"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="entering">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:NCName">
<xs:attribute name="local" use="required" type="xs:boolean"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="during">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:NCName">
<xs:attribute name="local" use="required" type="xs:boolean"/>
<xs:attribute name="type" use="required" type="xs:NCName"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="raw">
<xs:complexType mixed="true">
<xs:attribute name="local" type="xs:boolean"/>
<xs:attribute name="type" type="xs:NCName"/>
</xs:complexType>
</xs:element>
</xs:schema>