2012-02-27 103 views
14

我对XML Schema完全陌生,并且试图让基础知识失效。这是我的xml架构代码(文件名:example1.xsd):xml架构验证错误“前缀未绑定”

<?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的一个错误,指出: 为元素的前缀“样品”,“样品:学校”未绑定。 [9]

回答

16

在你的XML,你要么需要:

一个。从sample:school

卸下sample:前缀。更改xmlns="http://www.example.com"xmlns:sample="http://www.example.com"sample:添加前缀其余元件(<sample:element1><sample:element2>等)

10

当你得到这样的错误,最简单的方法是添加前缀声明;在你的情况下,按模式,只需添加到您的根元素以下属性:

xmlns:sample="http://www.example.com" 

而且,这是相当具有XML namespaces有关。

相关问题