Validation 验证错误[没有IDREF的ID/IDREF绑定]

Validation 验证错误[没有IDREF的ID/IDREF绑定],validation,xsd,Validation,Xsd,根据XML文件的架构验证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

根据XML文件的架构验证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>


您使用的是哪种XML解析器?也许您的解析器不喜欢您的id在文档中的任何地方都没有被引用。然而,我不记得读过这样的要求。也许在XML声明()中添加standalone=“no”会有所帮助?

这是家庭作业还是什么?两年前在IBMdeveloperWorks上有一个相同的问题。是的。对我来说,这不是一个家庭作业或任何东西。。我一直在寻找类似的情况……你能找出是什么原因造成的吗?