Ich habe eine Haupt-xsd-Datei mit dem XML-Schema definiert und die zweite, die Erweiterungen enthält. Ich brauche etwas wie folgt:Namespaces in XML, wenn zwei Schemas verwendet werden
<ns:Node>
<InnerNode>
<Value1>value 1</Value1>
<Value2>value 2</Value2>
</InnerNode>
</ns:Node>
Die InnerNode-Definition ist in der Hauptdatei, der Knoten in der Erweiterung eins. Meine Erweiterungsdefinition sieht wie folgt aus:
Die Namespaces sind in beiden Schemas definiert, ich habe Importe für beide. Wenn ich das Schema mit Beispiel-XML validiere, bekomme ich den Fehler, dass auch der InnerNode den Namespace haben sollte, nicht nur das Node-Element. Ich habe versucht, das form-Attribut mit dem nicht qualifizierten Wert zu verwenden, aber es hat nicht geholfen - der Validator (XMLSpy) schlägt vor, das leere xmlns-Attribut einzufügen.
Ist es möglich, das InnerNode-Element zu definieren, das den Namespace nicht benötigt (einige fehlende Attribute)?
EDIT: ich, dass in der Haupt XSD-Datei nicht erwähnt habe ich den Knotentyp als Teil der größeren Struktur verwenden (dass es wahrscheinlich etwas komplizierter macht es):
<OuterNode> <!-- defined in main xsd -->
<ns:Node> <!-- defined in imported -->
<InnerNode> <!-- defined in main -->
<Value1>value 1</Value1>
<Value2>value 2</Value2>
</InnerNode>
</ns:Node>
</OuterNode>
Ist es Möglich, es so zu machen?
Ein wenig Technisierung: Sie haben tatsächlich ein Schema aus zwei Schemadokumente gemacht. Aber keine Sorge, das wissen nicht viele. –