Hallo zusammen,
ich beginne gerade ein bereits bestehendes XML-Schema zu überarbeiten.
Diese ist als xsd erstellt worden.
Mein Problem ist nun dass das Schema nicht ganz dem entspricht was es sollte.
So schauts aus:
Hier wird aber auch eine XML als valide angenommen die den MessageType "UP_INV" und in der ref auf Stock_Price verweist.
Das ist aber falsch. Ich möchte das es nur valide ist wenn MessageType "UP_INV" und die ref auf Stock_Inv verweist.
Kann ich irgendwie die Referenzen an das jeweils passenden Element MessageType binden ?
Besten Dank
xrax
ich beginne gerade ein bereits bestehendes XML-Schema zu überarbeiten.
Diese ist als xsd erstellt worden.
Mein Problem ist nun dass das Schema nicht ganz dem entspricht was es sollte.
So schauts aus:
Code:
<?xml version="1.0"?><xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation="inv.xsd" />
<xsd:include schemaLocation="price.xsd" />
.
.
<xsd:element name="Packet">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="MessageType">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="UP_INV" />
<xsd:enumeration value="UP_PRICE" />
.
.
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Message">
<xsd:complexType>
<xsd:sequence>
<xsd:choice>
<xsd:element ref="Stock_Inv" />
<xsd:element ref="Stock_Price" />
.
.
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Hier wird aber auch eine XML als valide angenommen die den MessageType "UP_INV" und in der ref auf Stock_Price verweist.
Das ist aber falsch. Ich möchte das es nur valide ist wenn MessageType "UP_INV" und die ref auf Stock_Inv verweist.
Kann ich irgendwie die Referenzen an das jeweils passenden Element MessageType binden ?
Besten Dank
xrax