Не удается найти объявление элемента «книжный магазин» - PullRequest
0 голосов
/ 09 января 2019

Я новичок в XMl и XSD. Я разработал файл XML и XSD. Я использовал Liquid онлайновый валидатор XML для проверки моего XML-файла по моему XSD. Когда я пытаюсь проверить свой XML, я получил ошибку "cvc-elt.1.a: Невозможно найти объявление элемента 'bookstore'.". Как я могу исправить эту проблему?

Это мой XML

<bookstore xmlns="http://www.contoso.com/books">
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <p>
      <price>10</price>
      <price>10</price>
      <price>20</price>
    </p>
  </book>
</bookstore>

Это XSD

    <xs:schema attributeFormDefault="unqualified" targetNamespace="http://www.contoso.com/books" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1">
    <xs:element name="bookstore">
        <xs:complexType>
            <xs:sequence>
                <xs:element maxOccurs="unbounded" name="book">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="title" type="xs:string" />
                            <xs:element name="author">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element minOccurs="0" name="name" type="xs:string" />
                                        <xs:element minOccurs="0" name="first-name" type="xs:string" />
                                        <xs:element minOccurs="0" name="last-name" type="xs:string" />
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="p">
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:element name="price" type="xs:decimal" />
                                        <xs:element name="price1" type="xs:decimal" />
                                        <xs:element name="price2" type="xs:decimal" />
                                    </xs:sequence>
                                    <xs:assert test="price = price1 + price2"/>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                        <xs:attribute name="genre" type="xs:string" use="required" />
                        <xs:attribute name="publicationdate" type="xs:unsignedShort" use="required" />
                        <xs:attribute name="ISBN" type="xs:string" use="required" />
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
...