|
34 | 34 |
|
35 | 35 | <xs:import namespace="http://www.mbsim-env.de/MBSim"/> |
36 | 36 |
|
| 37 | + <!-- We define inputSignal as global elements for improved preprocessing: |
| 38 | + If a element which can be used inside a Embed element is a local element than the preprocessor must do a revalidation which is quite expensive. |
| 39 | + This can be avoided if we define such elements globally and reference it beside the Embed element. |
| 40 | + This way the XML validator can already validate such elements during the initial validation where still Embed elements exists in the model. --> |
| 41 | + <xs:element name="inputSignal"> |
| 42 | + <xs:annotation> |
| 43 | + <xs:documentation xml:lang="de" xmlns=""> |
| 44 | + Pfad des Eingangssignals (als "ref" attribute) |
| 45 | + </xs:documentation> |
| 46 | + </xs:annotation> |
| 47 | + <xs:complexType> |
| 48 | + <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
| 49 | + </xs:complexType> |
| 50 | + </xs:element> |
| 51 | + |
37 | 52 | <xs:simpleType name="SignalReferenceType"> |
38 | 53 | <xs:restriction base="pv:stringPartialEval"/> |
39 | 54 | </xs:simpleType> |
|
89 | 104 | <xs:complexContent> |
90 | 105 | <xs:extension base="SignalType"> |
91 | 106 | <xs:sequence> |
92 | | - <xs:element name="inputSignal"> |
93 | | - <xs:annotation> |
94 | | - <xs:documentation xml:lang="de" xmlns=""> |
95 | | - ref=Pfad des Eingangssignals |
96 | | - </xs:documentation> |
97 | | - </xs:annotation> |
98 | | - <xs:complexType> |
99 | | - <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
100 | | - </xs:complexType> |
101 | | - </xs:element> |
| 107 | + <xs:element ref="inputSignal"/> |
102 | 108 | </xs:sequence> |
103 | 109 | </xs:extension> |
104 | 110 | </xs:complexContent> |
|
791 | 797 | <xs:complexContent> |
792 | 798 | <xs:extension base="SignalType"> |
793 | 799 | <xs:choice minOccurs="1" maxOccurs="unbounded"> |
794 | | - <xs:element name="inputSignal"> |
795 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
796 | | - Eingangssignal |
797 | | - </xs:documentation></xs:annotation> |
798 | | - <xs:complexType> |
799 | | - <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
800 | | - </xs:complexType> |
801 | | - </xs:element> |
| 800 | + <xs:element ref="inputSignal"/> |
802 | 801 | <xs:element ref="pv:Embed"/> |
803 | 802 | </xs:choice> |
804 | 803 | </xs:extension> |
|
816 | 815 | <xs:complexContent> |
817 | 816 | <xs:extension base="SignalType"> |
818 | 817 | <xs:sequence> |
819 | | - <xs:element name="inputSignal"> |
820 | | - <xs:complexType> |
821 | | - <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
822 | | - </xs:complexType> |
823 | | - </xs:element> |
| 818 | + <xs:element ref="inputSignal"/> |
824 | 819 | <xs:element name="indices" type="pv:indexVector"> |
825 | 820 | <xs:annotation> |
826 | 821 | <xs:documentation xml:lang="de" xmlns=""> |
|
845 | 840 | <xs:extension base="SignalType"> |
846 | 841 | <xs:sequence> |
847 | 842 | <xs:choice minOccurs="1" maxOccurs="unbounded"> |
848 | | - <xs:element name="inputSignal"> |
849 | | - <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
850 | | - Eingangssignal |
851 | | - </xs:documentation></xs:annotation> |
852 | | - <xs:complexType> |
853 | | - <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
854 | | - </xs:complexType> |
855 | | - </xs:element> |
| 843 | + <xs:element ref="inputSignal"/> |
856 | 844 | <xs:element ref="pv:Embed"/> |
857 | 845 | </xs:choice> |
858 | 846 | <xs:element name="multiplexInputSignals" type="pv:booleanFullEval" minOccurs="0"/> |
|
905 | 893 | </xs:documentation> |
906 | 894 | </xs:annotation> |
907 | 895 | </xs:element> |
908 | | - <xs:element name="inputSignal"> |
909 | | - <xs:complexType> |
910 | | - <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
911 | | - </xs:complexType> |
912 | | - </xs:element> |
| 896 | + <xs:element ref="inputSignal"/> |
913 | 897 | <xs:element name="systemMatrix" type="pv:nounitMatrix"/> |
914 | 898 | <xs:element name="inputMatrix" type="pv:nounitMatrix"/> |
915 | 899 | <xs:element name="outputMatrix" type="pv:nounitMatrix" minOccurs="0"/> |
|
931 | 915 | </xs:documentation> |
932 | 916 | </xs:annotation> |
933 | 917 | </xs:element> |
934 | | - <xs:element name="inputSignal"> |
935 | | - <xs:complexType> |
936 | | - <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
937 | | - </xs:complexType> |
938 | | - </xs:element> |
| 918 | + <xs:element ref="inputSignal"/> |
939 | 919 | <xs:element name="systemFunction"> |
940 | 920 | <xs:annotation><xs:documentation xml:lang="de" xmlns=""> |
941 | 921 | Systemfunktion |
|
1279 | 1259 | <xs:complexContent> |
1280 | 1260 | <xs:extension base="SignalType"> |
1281 | 1261 | <xs:sequence> |
1282 | | - <xs:element name="inputSignal"> |
1283 | | - <xs:complexType> |
1284 | | - <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
1285 | | - </xs:complexType> |
1286 | | - </xs:element> |
| 1262 | + <xs:element ref="inputSignal"/> |
1287 | 1263 | <xs:element name="threshold" type="pv:unknownVector" minOccurs="0"/> |
1288 | 1264 | </xs:sequence> |
1289 | 1265 | </xs:extension> |
|
1295 | 1271 | <xs:complexContent> |
1296 | 1272 | <xs:extension base="SignalType"> |
1297 | 1273 | <xs:sequence> |
1298 | | - <xs:element name="inputSignal"> |
1299 | | - <xs:complexType> |
1300 | | - <xs:attribute name="ref" type="SignalReferenceType" use="required"/> |
1301 | | - </xs:complexType> |
1302 | | - </xs:element> |
| 1274 | + <xs:element ref="inputSignal"/> |
1303 | 1275 | <xs:element name="threshold" type="pv:unknownScalar" minOccurs="0"/> |
1304 | 1276 | </xs:sequence> |
1305 | 1277 | </xs:extension> |
|
0 commit comments