T
tine2
Ich habe in einer Datei (Datei A) u.a. foglenden Schemainhalt definiert:
...
<xsd:element name="A" type="AType"/>
...
<xsd:complexType name="AType">
<xsd:sequence>
<xsd:element ref="ns1:AId"/>
<xsd:element ref="ns1:AName"/>
<xsd:element ref="A" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="xy" type="xsd:boolean" use="optional"/>
</xsd:complexType>
nun habe ich obige Definition in einer anderen Schema-Datei benutzt (Datei B), wobei "nsa" der namespace für Datei A ist.
...
<xsd:complexType name="ElementType">
<xsd:sequence>
<xsd:element ref="ContentElement" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ContentElement">
</xsd:complexType>
<xsd:element name="A" type="nsa:AType" substitutionGroup="ContentElement"/>
wenn ich nun eine XML-Datei erstellen möchte, die auf dem Schema der Datei B beruht, lege ich meiner XML-Datei als Schema die Datei B zugrunde und erhalte nun (meiner Meinung nach) darin ein Konstrukt, dass folgendermaßen aussieht:
<A>
<ns1:AId>...</ns1:AId>
<ns1:AName>...</ns1:AName>
<nsa:A>
<ns1:AId>...</ns1:AId>
<ns1:AName>...</ns1:AName>
....
</nsa:A>
</A>
Der Validator sagt, dass er kein Element "nsa:A" an der Stelle erwartet, sondern ein Element "A". Also habe ich den Namespace "nsa" weggelassen:
<A>
<ns1:AId>...</ns1:AId>
<ns1:AName>...</ns1:AName>
<A>
<ns1:AId>...</ns1:AId>
<ns1:AName>...</ns1:AName>
....
</A>
</A>
Jetzt sagt der Validator, dass er kein Element "A", sondern ein Element "A" erwartet....?
Kann mir irgendjemand BITTE erklären, wo der Fehler liegt und warum meine XML-Datei weder in der ersten, noch der 2. Version valide ist?
Vielen Dank schon mal für die Hilfe
tine2
...
<xsd:element name="A" type="AType"/>
...
<xsd:complexType name="AType">
<xsd:sequence>
<xsd:element ref="ns1:AId"/>
<xsd:element ref="ns1:AName"/>
<xsd:element ref="A" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="xy" type="xsd:boolean" use="optional"/>
</xsd:complexType>
nun habe ich obige Definition in einer anderen Schema-Datei benutzt (Datei B), wobei "nsa" der namespace für Datei A ist.
...
<xsd:complexType name="ElementType">
<xsd:sequence>
<xsd:element ref="ContentElement" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ContentElement">
</xsd:complexType>
<xsd:element name="A" type="nsa:AType" substitutionGroup="ContentElement"/>
wenn ich nun eine XML-Datei erstellen möchte, die auf dem Schema der Datei B beruht, lege ich meiner XML-Datei als Schema die Datei B zugrunde und erhalte nun (meiner Meinung nach) darin ein Konstrukt, dass folgendermaßen aussieht:
<A>
<ns1:AId>...</ns1:AId>
<ns1:AName>...</ns1:AName>
<nsa:A>
<ns1:AId>...</ns1:AId>
<ns1:AName>...</ns1:AName>
....
</nsa:A>
</A>
Der Validator sagt, dass er kein Element "nsa:A" an der Stelle erwartet, sondern ein Element "A". Also habe ich den Namespace "nsa" weggelassen:
<A>
<ns1:AId>...</ns1:AId>
<ns1:AName>...</ns1:AName>
<A>
<ns1:AId>...</ns1:AId>
<ns1:AName>...</ns1:AName>
....
</A>
</A>
Jetzt sagt der Validator, dass er kein Element "A", sondern ein Element "A" erwartet....?
Kann mir irgendjemand BITTE erklären, wo der Fehler liegt und warum meine XML-Datei weder in der ersten, noch der 2. Version valide ist?
Vielen Dank schon mal für die Hilfe
tine2