我有XML:与XSD和xmlns = “验证XML”
<?xml version="1.0" encoding="utf-8"?>
<song id="id1"
xmlns="urn:Test:Song:1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:Test:Song:1.0 song.xsd">
<name>name1</name>
</song>
它无法验证对XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns="urn:Test:Song:1.0"
targetNamespace="urn:Test:Song:1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema" >
<xs:element name="song">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0" />
</xs:sequence>
<xs:attribute name="id" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:schema>
在Eclipse和Visual Studio
。在Eclipse中,错误是: cvc-complex-type.2.4.a:发现无效内容以元素“name”开头。预计会有'{name}'之一。
验证成功的XML:
<?xml version="1.0" encoding="utf-8"?>
<song id="id1"
xmlns="urn:Test:Song:1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:Test:Song:1.0 song.xsd">
<name xmlns="">name1</name>
</song>
唯一的区别是XMLNS = “” 名称元件上。有没有一种方法可以在没有使用“no namespace”的情况下使验证成功?究竟是什么导致第一个XML失败?