So importieren Sie ein XML-schema in die "no namespace"

Habe ich ein schema hier, wo ich bin versucht include/import ein anderes schema, das hat keine Namespaces (und dies kann nicht geändert werden, weil es kommt von einem anderen Anbieter und würde es nicht mehr validieren Sie Ihre XML). Hier ist das erste Schema:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:samp="http://sample/namespace" 
targetNamespace="http://sample/namespace" 
elementFormDefault="unqualified" attributeFormDefault="unqualified"
xmlns:otr1="http://sample/import/namespace1" 
xmlns:otr2="http://sample/import/namespace2">

<xs:import namespace="http://sample/import/namespace1" schemaLocation="other1.xsd" />
<xs:import namespace="http://sample/import/namespace2" schemaLocation="other2.xsd"  />
<!-- This one below is having problems, it is valid XML, and I am able to use it
but I am not meeting the actual requirments I have (explained later) -->
<xs:include schemaLocation=="NO_NAME_SPACE_PROBLEM.xsd"/>

...
<xs:element ref="some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA"/>
...


</xs:schema>

Und die "NO_NAME_SPACE_SHEMA_PROBLEM.xsd", das kann geändert werden, um einige Grad, aber es kann nicht haben-namespace.

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     elementFormDefault="unqualified" attributeFormDefault="unqualified">

 <xsd:element name="some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA" 
    type="xsd:string" nillable="true"/>

</xs:schema>

Das problem ist, dass die some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA wird in der samp namespace. Also, wenn ich versuche, marshall dieses XML-druckt es aus <samp:some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA><child-elem/></samp:some-elem-from-NO_NAME_SPACE_PROBLEM_SCHEMA> ist das ein großes problem da, die XML-Daten nicht überprüfen, da es ist nicht dazu gedacht zu haben. Also mein Ziel ist es, einfach importieren Sie die Elemente in der nicht-namespace-namespace.

Update 1: Sorry für die Verwirrung, ich war und bin die Verwendung von xs:include, die nicht von xs:import für die nicht-namespace-schema. Frage-syntax aktualisiert wurde. Ich bin auch mit JiBX codegen zum generieren von domain-Objekten und JiBX verbindlich für marshalling. So ist es, es muss sein, JiBX kompatibel zu.

Update 2: Wie pro skaffman Antwort, werde ich jetzt auch die Verwendung von xs:import. Ich denke, ich werde Verzweigung diese in eine neue Frage stellen.

Sie müssen sehr klar über die Unterscheidung zwischen import und include Sie tun völlig unterschiedliche Dinge.
Ja tut mir Leid, ich meinte man, dass früher, aber wurde aufgehalten bevor ich wieder zu meiner Tastatur.

InformationsquelleAutor Zombies | 2010-08-23

Schreibe einen Kommentar