您好我有XML-XML Schema的问题。 XML也是格式良好的XML Schema。但是当我尝试使用XML Schema验证XML时,出现了一些错误。我做得不好?我附加了XML和XML模式。谢谢你的帮助。
我正在使用:http://www.utilities-online.info/xsdvalidation/ 出现错误:PIC
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com">
<xs:element name="library">
<xs:complexType>
<xs:sequence>
<xs:element name="book"/>
<xs:element name="book_id" type="xs:integer"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="xs:string"/>
<xs:element name="count" type="xs:integer"/>
<xs:element name="genre" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<?xml version="1.0"?>
<library>
<book>
<book_id>5</book_id>
<title>Sokak</title>
<author>Tony</author>
<count>6</count>
<genre>epic</genre>
</book>
<book>
<book_id>13</book_id>
<title>Kucharka</title>
<author>Fiona</author>
<count>8</count>
<genre>Hobby</genre>
</book>
</library>
答案 0 :(得分:0)
首先,架构定义了文档中未使用的targetNamespace
,即http://www.w3schools.com
。尝试添加更改文档,如:
<library xmlns="http://www.w3schools.com">
<!-- ... -->
</library>
其次,架构定义了一系列元素,而您的文档包含嵌套结构。如果您想要嵌套结构,请调整模式,如下例所示:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.w3schools.com"
xmlns:w3s="http://www.w3schools.com"
elementFormDefault="qualified">
<xs:complexType name="bookType">
<xs:sequence>
<xs:element name="book_id" type="xs:integer"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="xs:string"/>
<xs:element name="count" type="xs:integer"/>
<xs:element name="genre" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="libraryType">
<xs:sequence maxOccurs="unbounded">
<xs:element name="book" type="w3s:bookType" />
</xs:sequence>
</xs:complexType>
<xs:element name="library" type="w3s:libraryType" />
</xs:schema>