2017-12-19 11 views
2

Das folgende ist mein XML-Schema, gefolgt von der XML-Datei, für die ich validieren möchte.XSD-Fehler: Verweise von diesem Schema auf Komponenten in keinem Namespace sind nicht zulässig

ich weiterhin den Fehler erhalten

Element '{ http://www.w3.org/2001/XMLSchema }element', attribute 'type': References from this schema to components in no namespace are not allowed, since not indicated by an import statement.

Ich bin ein Neuling in diesem Bereich und mein Verständnis einen Namensraum zu verwenden, ist „global“ Typen wie dem komplexen Typ „OneType“ zu erstellen, die ich bin Wiederverwendung global.

Jede Hilfe wird geschätzt!

<?xml version="1.0" encoding="UTF-8"?> 
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:tns="test/namespace" targetNamespace="test/namespace" 
elementFormDefault="qualified"> 
<xsd:complexType name="OneType"> 
    <xsd:annotation> 
     <xsd:documentation>One Test</xsd:documentation> 
    </xsd:annotation> 
      <xsd:choice> 
       <xsd:element name="One"/> 
      </xsd:choice> 
</xsd:complexType> 


<xsd:element name="testroot"> 
    <xsd:complexType> 
     <xsd:sequence> 
      <xsd:element name="Test" type="OneType"/> 
     </xsd:sequence> 
    </xsd:complexType> 
</xsd:element> 

<?xml version="1.0" encoding="UTF-8"?> 
    <tns:testroot xmlns:tns="test/namespace"> 
    <tns:Test> 
     <tns:One/> 
    </tns:Test> 
    </tns:testroot> 

Antwort

2

ersetzen

<xsd:element name="Test" type="OneType"/> 

mit

<xsd:element name="Test" type="tns:OneType"/> 

und dann Ihre XSD keine Fehler haben, und Ihre XML wird gegen Ihre XSD gültig.

Verwandte Themen