ошибка проверки [Нет привязки ID / IDREF для IDREF] - PullRequest
4 голосов
/ 20 сентября 2010

Я получаю это сообщение об ошибке при проверке моего XML-файла по его Схеме.Кто-нибудь может подсказать, что может быть не так?Файл XML:

<?xml version="1.0"?>
<family-tree xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ftree.xsd">

<person id="p5">
<name>
<given>Al Frank</given>
<surname>Smith</surname>
</name>
</person>

<person id="p6">
<name>
<given>Henry</given>
<surname>Smith</surname>
</name>
<father ref="p5"/>
</person>

</family-tree>

Схема:

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

<xsd:element name="family-tree">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="person" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

<xsd:element name="person">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="father" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" use="required" type="xsd:ID"/>
</xsd:complexType>
</xsd:element>

<xsd:element name="name">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="given"/>
<xsd:element minOccurs="0" name="surname"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

<xsd:element name="given" type="xsd:string"/>
<xsd:element name="surname" type="xsd:string"/>

<xsd:element name="father">
<xsd:complexType>
<xsd:attribute name="ref" use="required" type="xsd:IDREF"/>
</xsd:complexType>
</xsd:element>

</xsd:schema>

1 Ответ

0 голосов
/ 01 октября 2010

Какой XML-парсер вы используете? Возможно, вашему парсеру не нравится тот факт, что у вас есть идентификатор, на который нет ссылок нигде в документе. Однако я не помню, чтобы я читал о таком требовании. Возможно, добавление standalone = "no" к объявлению XML (<? Xml version = "1.0" standalone = "no"?>) Поможет?

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