XSD error: References from this schema to components in no namespace are not allowed
XSD error: References from this schema to components in no namespace are not allowed
以下是我的 XML 架构,后跟我要验证的 .xml 文件。
我继续收到错误
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.
我是这方面的新手,我对使用命名空间的理解是创建"global"类型,比如我在全局复用的复杂类型"OneType"
我的样式表:
<?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>
</xsd:schema>
我的XML:
<?xml version="1.0" encoding="UTF-8"?>
<tns:testroot xmlns:tns="test/namespace">
<tns:Test>
<tns:One/>
</tns:Test>
</tns:testroot>
替换
<xsd:element name="Test" type="OneType"/>
和
<xsd:element name="Test" type="tns:OneType"/>
然后你的 XSD 将没有错误,你的 XML 将对你的 XSD.
有效
以下是我的 XML 架构,后跟我要验证的 .xml 文件。
我继续收到错误
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.
我是这方面的新手,我对使用命名空间的理解是创建"global"类型,比如我在全局复用的复杂类型"OneType"
我的样式表:
<?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>
</xsd:schema>
我的XML:
<?xml version="1.0" encoding="UTF-8"?>
<tns:testroot xmlns:tns="test/namespace">
<tns:Test>
<tns:One/>
</tns:Test>
</tns:testroot>
替换
<xsd:element name="Test" type="OneType"/>
和
<xsd:element name="Test" type="tns:OneType"/>
然后你的 XSD 将没有错误,你的 XML 将对你的 XSD.
有效