完善建模交互、组件图标与系统协议

This commit is contained in:
ljz committed 2026-08-15 17:40:18 +08:00
1 parent 456c29b3b6
commit 6572defaa4
66 files changed
+10067 -4163

No files matched your search

-137
View File
@@ -1,137 +0,0 @@
<?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:simpleType name="PortKind">
<xs:restriction base="xs:string">
<xs:enumeration value="physical"/>
<xs:enumeration value="signal"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PortNominalRole">
<xs:restriction base="xs:string">
<xs:enumeration value="inlet"/>
<xs:enumeration value="outlet"/>
<xs:enumeration value="bidirectional"/>
<xs:enumeration value="input"/>
<xs:enumeration value="output"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="PortSide">
<xs:restriction base="xs:string">
<xs:enumeration value="left"/>
<xs:enumeration value="right"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="EndpointRole">
<xs:restriction base="xs:string">
<xs:enumeration value="source"/>
<xs:enumeration value="target"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NodeRotation">
<xs:restriction base="xs:integer">
<xs:enumeration value="0"/>
<xs:enumeration value="90"/>
<xs:enumeration value="180"/>
<xs:enumeration value="270"/>
</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:attribute name="kind" type="PortKind" use="required"/>
<xs:attribute name="domain" type="NonEmptyString" use="required"/>
<xs:attribute name="nominalRole" type="PortNominalRole" use="required"/>
<xs:attribute name="positiveFlowDirection" use="optional" fixed="intoComponent"/>
<xs:attribute name="side" type="PortSide" 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:attribute name="rotation" type="NodeRotation" use="optional" default="0"/>
<xs:attribute name="mirrored" type="xs:boolean" use="optional" default="false"/>
</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:attribute name="role" type="EndpointRole" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="id" type="NonEmptyString" use="required"/>
<xs:attribute name="kind" type="PortKind" use="required"/>
<xs:attribute name="domain" 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="2"/>
<xs:attribute name="unitSystem" use="required" fixed="SI"/>
<xs:attribute name="mediumReferenceVersion" use="optional" fixed="1"/>
<xs:attribute name="amesimParameterEncodingVersion" use="optional" fixed="1"/>
</xs:complexType>
</xs:element>
</xs:schema>
@@ -2,6 +2,7 @@
<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>
@@ -19,7 +20,7 @@
<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="sampleStep" type="PositiveDouble" use="required"/>
<xs:attribute name="maxStep" type="PositiveDouble" use="required"/>
<xs:attribute name="method" type="NonEmptyString" use="required"/>
</xs:complexType>
@@ -31,11 +32,6 @@
<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"/>
@@ -44,11 +40,8 @@
</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:attribute name="modelVersion" type="NonEmptyString" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
@@ -60,11 +53,15 @@
<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: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>
@@ -72,8 +69,8 @@
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="NonEmptyString" use="required"/>
<xs:attribute name="schemaVersion" use="required" fixed="1"/>
<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>