如何解决元素类型“xsd:schema”必须以匹配的结束标签“</xsd:schema>”结尾
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://xml.netbeans.org/schema/books"
xmlns:tns="http://xml.netbeans.org/schema/books"
elementFormDefault="qualified">
<xsd:complexType name="Mcdonalds">
<xsd:sequence>
<xsd:element name="Apple pie" type="xsd:date"/>
<xsd:element name="Mcflurry" type="xsd:string"/>
<xsd:element name="Fries" type="xsd:double"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Five guys">
<xsd:sequence>
<xsd:element name="Large fries" type="xsd:string"/>
<xsd:element name="small burger" type="xsd:string"/>
<xsd:element name="hotdog" type="xsd:int"/>
<xsd:element name="cost" type="xsd:double"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
我正在尝试绑定我的 XSD 文件,但我一直收到此错误并且我没有发现任何问题。
错误:
元素类型:
"[ERROR] 元素类型 "xsd:schema" 必须以匹配的结束标记 "" 结束
解决方法
您没有在发布的同一个 XSD 上运行验证器(或者您的 XSD 处理器严重损坏)。
您发布的 XSD 应该不会导致发布的关于 xsd:schema
缺少结束标记的错误。
为元素使用适当的 NCNames - 没有空格,正如@YitzhakKhabinsky 已经提到的那样 (+1):
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://xml.netbeans.org/schema/books"
xmlns:tns="http://xml.netbeans.org/schema/books"
elementFormDefault="qualified">
<xsd:complexType name="Mcdonalds">
<xsd:sequence>
<xsd:element name="ApplePie" type="xsd:date"/>
<xsd:element name="Mcflurry" type="xsd:string"/>
<xsd:element name="Fries" type="xsd:double"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="FiveGuys">
<xsd:sequence>
<xsd:element name="LargeFries" type="xsd:string"/>
<xsd:element name="SmallBurger" type="xsd:string"/>
<xsd:element name="hotdog" type="xsd:int"/>
<xsd:element name="cost" type="xsd:double"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
上述 XSD 在语法上是正确的。将它完全用于您的下一次测试。但是,请注意以下几点:
-
将
cost
元素与FiveGuys
而不是与每个菜单项相关联的语义(可能作为属性而不是元素)是可疑的。 -
您当前没有定义根级元素,只有类型。
我使用 Saxon 验证了 XSD。这是它的输出。
请尝试删除元素名称中的空格。
Running custom validation engine Saxonica 9.7.0.15 Validator...
file:/e:/Temp/dummy.xsd:9 Fatal Error: Invalid QName {Apple pie}
file:/e:/Temp/dummy.xsd:15 Fatal Error: Invalid QName {Five guys}
file:/e:/Temp/dummy.xsd:17 Fatal Error: Invalid QName {Large fries}
file:/e:/Temp/dummy.xsd:18 Fatal Error: Invalid QName {small burger}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。