78 lines
3.2 KiB
XML
78 lines
3.2 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:whiteSpace value="collapse"/>
|
|
<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="sampleStep" 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="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="type" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="modelVersion" type="NonEmptyString" 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:sequence>
|
|
<xs:element name="Endpoint" minOccurs="2" maxOccurs="2">
|
|
<xs:complexType>
|
|
<xs:attribute name="component" type="NonEmptyString" use="required"/>
|
|
<xs:attribute name="port" type="NonEmptyString" use="required"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
<xs:attribute name="id" type="NonEmptyString" use="optional"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:sequence>
|
|
|
|
<xs:attribute name="name" type="NonEmptyString" use="optional"/>
|
|
<xs:attribute name="schemaVersion" use="required" fixed="3"/>
|
|
<xs:attribute name="unitSystem" use="required" fixed="SI"/>
|
|
</xs:complexType>
|
|
</xs:element>
|
|
</xs:schema>
|