Проблема проверки XML - PullRequest
       18

Проблема проверки XML

1 голос
/ 30 мая 2010

У меня проблемы с проверкой созданной схемы. "cvc-elt.1: не удалось найти объявление элемента 'category'."

XSD

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="list">
<xs:complexType>
    <xs:sequence>
        <xs:element name="category" type="categoryType" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>
</xs:element>

<xs:complexType name="categoryType">
    <xs:sequence>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="desc"  type="xs:string"/>
        <xs:element name="icon" type="xs:base64Binary"/>
        <xs:element name="poi" type="poiType"  minOccurs="0"  maxOccurs="unbounded"/>
    </xs:sequence>
</xs:complexType>

<xs:complexType name="poiType">
    <xs:sequence>
        <xs:element name="name" type="xs:string"/>
        <xs:element name="desc"  type="xs:string"/>
        <xs:element name="longitude"  type="xs:long"/>
        <xs:element name="latitude"  type="xs:long"/>
        <xs:element name="url" type="xs:string" minOccurs="0"  maxOccurs="unbounded"/>
        <xs:element name="image" type="xs:base64Binary" minOccurs="0"  maxOccurs="unbounded"/>  
    </xs:sequence>
</xs:complexType>

</xs:schema>

XML

<?xml version="1.0" encoding="UTF-8"?>
<list SchemaLocation="sem.xsd">

<category>

<name>Sehenswürdigkeiten</name>
<desc>sehenswerte und berühmte Orte, die man gesehen haben muss</desc>
<icon>...</icon>

<poi>
<name>Linzer Landhaus</name>
<desc>Sitz des Oberösterreichsichen Landtags</desc>
<url>http://www.linz.at/tourismus/7569.asp</url>
<longitude>48.304107</longitude>
<latitude>14.286025</latitude>
<image>...</image>
</poi>

<poi>
<name>Ars Electronica</name>
<desc>Museum der digitalen Künste</desc>
<url>http://www.aec.at</url>
<longitude>48.309788</longitude>
<latitude>14.284179</latitude>
<image>...</image>
<image>...</image>
</poi>

</category>

<category>...</category>

</list>

Есть идеи, что случилось? ура обмануть

Ответы [ 2 ]

2 голосов
/ 30 мая 2010
<list xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="sem.xsd">

делает трюк =)

2 голосов
/ 30 мая 2010

Проблема, вероятно, со строкой:

<list SchemaLocation="sem.xsd">

Вы не указали, что SchemaLocation является чем-то особенным, это просто выглядит как другой атрибут.

Должно быть:

<list xsi:schemaLocation="sem.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

См. здесь для более подробного объяснения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...