我是XML Schema的新手,我正在尝试降低基础知识。这是我的xml架构代码(filename:example1.xsd):
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sample="http://www.example"
targetNamespace="http://www.example.com"
elementFormDefault="qualified">
<xs:element name="school">
<xs:complexType>
<xs:sequence>
<xs:element name="element1" type="xs:string"/>
<xs:element name="element2" type="xs:string"/>
<xs:element name="element3" type="xs:string"/>
<xs:element name="element4" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
这是XML文档。
<?xml version="1.0" encoding="UTF-8"?>
<sample:school xmlns="http://www.example.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="./example1.xsd">
<element1>hello</element1>
<element2>hello</element2>
<element3>hello</element3>
<element4>hello</element4>
</sample:school>
在尝试验证xml文件时,我从netbeans收到错误消息: 元素“sample:school”的前缀“sample”未绑定。 [9]
答案 0 :(得分:17)
在您的XML中,您需要:
<强> A 即可。从sample:
sample:school
前缀
或
<强>乙即可。将xmlns="http://www.example.com"
更改为xmlns:sample="http://www.example.com"
,并将sample:
前缀添加到其余元素(<sample:element1>
,<sample:element2>
等)。
答案 1 :(得分:12)
当你收到这样的错误时,最简单的方法是添加前缀声明;在您的情况下,根据模式,只需向您的根元素添加以下属性:
xmlns:sample="http://www.example.com"
此外,这与XML namespaces相关。
答案 2 :(得分:0)
这不能直接回答你的问题,但我在试图解决自己的问题时偶然发现了,所以也许它也可以帮助别人。
我自己的错误&#39;前缀ns2没有绑定&#39;从Weblogic 10.3.6升级到12.2.1.2后浮出水面。
在更高版本中,默认的JAXB实现是Moxy,因此我必须将javax.xml.bind.JAXBContext更改为com.sun.xml.bind.v2.ContextFactory。
How to specify JAXBContext implementation in weblogic 12.1.3