81 lines
3.5 KiB
XML
81 lines
3.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
|
<xs:simpleType name="NonEmptyString">
|
|
<xs:restriction base="xs:string">
|
|
<xs:minLength value="1"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:simpleType name="PositiveDouble">
|
|
<xs:restriction base="xs:double">
|
|
<xs:minExclusive value="0"/>
|
|
</xs:restriction>
|
|
</xs:simpleType>
|
|
|
|
<xs:element name="System">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Simulation">
|
|
<xs:complexType>
|
|
<xs:attribute name="tStart" type="xs:double" use="required"/>
|
|
<xs:attribute name="tStop" type="xs:double" use="required"/>
|
|
<xs:attribute name="step" type="PositiveDouble" use="required"/>
|
|
<xs:attribute name="maxStep" type="PositiveDouble" use="required"/>
|
|
<xs:attribute name="method" type="NonEmptyString" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Components">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Component" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Port" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="NonEmptyString" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
<xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="name" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="value" type="xs:double" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="name" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="type" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="componentType" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="x" type="xs:double" use="required"/>
|
|
<xs:attribute name="y" type="xs:double" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
|
|
<xs:element name="Connections">
|
|
<xs:complexType>
|
|
<xs:sequence>
|
|
<xs:element name="Connection" minOccurs="0" maxOccurs="unbounded">
|
|
<xs:complexType>
|
|
<xs:attribute name="id" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="source" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="sourcePort" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="target" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="targetPort" type="NonEmptyString" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="name" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="schemaVersion" use="required" fixed="1"/>
|
|
<xs:attribute name="unitSystem" use="required" fixed="SI"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:schema>
|