以下是我的XML Schema,后跟我要验证的.xml文件。
我继续收到错误
元素'{http://www.w3.org/2001/XMLSchema}元素',属性'type':不允许从此模式引用到无命名空间中的组件,因为未由import语句指示。
我是这方面的新手,我对使用命名空间的理解是创建“全局”类型,例如我在全球范围内重复使用的复杂类型“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>
答案 0 :(得分:2)
替换
<xsd:element name="Test" type="OneType"/>
与
<xsd:element name="Test" type="tns:OneType"/>
然后您的XSD将没有错误,您的XML将对您的XSD有效。