0

您好,我对 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>
4

1 回答 1

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>
于 2013-10-14T14:31:44.173 回答