验证以下xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<zoo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="Aufgabe1.xsd" name="zoogarten">
<zootier xsi:type="gans_ct" id="tier1" flugfaehig="false">
<name>erna</name>
<alter>2</alter>
<schlachtgewicht>1500</schlachtgewicht>
</zootier>
<zootier id="tier2" xsi:type="pferd_ct" schimmel="false">
<name>peter</name>
<alter>4</alter>
<tragezeit>11</tragezeit>
</zootier>
<zootier id="tier3" xsi:type="katze_ct">
<name>minka</name>
<alter>3</alter>
<tragezeit>2</tragezeit>
<fellfarbe>hell</fellfarbe>
</zootier>
<zootier id="tier4" xsi:type="fink_ct" beringt="true" flugfaehig="true">
<name>piere</name>
<alter>2</alter>
</zootier>
<pfleger name="meinhold">
<pflegt tier="tier1"/>
<pflegt tier="tier2"/>
</pfleger>
<pfleger name="guntram">
<pflegt tier="tier3"/>
<pflegt tier="tier4"/>
</pfleger>
<behausung xsi:type="gebaeude_ct" name="vogelhaus">
<beherbergt tier="tier2"/>
<beherbergt tier="tier3"/>
<beherbergt tier="tier4"/>
<flaeche>230.78</flaeche>
</behausung>
<behausung xsi:type="teich_ct" name="grosser Teich">
<beherbergt tier="tier1"/>
<wassertiefe>2.3</wassertiefe>
</behausung>
</zoo>
...反对这个架构:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified"
vc:minVersion="1.0" vc:maxVersion="1.1">
<xs:element name="zoo" type="zoo_ct"/>
<xs:complexType name="zoo_ct">
<xs:sequence>
<xs:element name="zootier" type="zootier_ct" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:element name="zootier" type="zootier_ct"/>
<xs:complexType name="zootier_ct">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="alter" type="xs:positiveInteger"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
<xs:complexType name="säugetier_ct">
<xs:complexContent>
<xs:extension base="zootier_ct">
<xs:sequence>
<xs:element name="tragezeit" type="xs:positiveInteger"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="pferd_ct">
<xs:complexContent>
<xs:extension base="säugetier_ct">
<xs:attribute name="schimmel" type="xs:boolean"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="katze_ct">
<xs:complexContent>
<xs:extension base="säugetier_ct">
<xs:sequence>
<xs:element name="fellfarbe" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="vogel_ct">
<xs:complexContent>
<xs:extension base="zootier_ct">
<xs:attribute name="flugfaehig" type="xs:boolean"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="gans_ct">
<xs:complexContent>
<xs:extension base="vogel_ct">
<xs:sequence>
<xs:element name="schlachtgewicht" type="xs:double"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="fink_ct">
<xs:complexContent>
<xs:extension base="vogel_ct">
<xs:attribute name="beringt" type="xs:boolean"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="pfleger" type="pfleger_ct"/>
<xs:complexType name="pfleger_ct">
<xs:sequence>
<xs:element name="pflegt" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="tier" type="xs:IDREF"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:element name="behausung" type="behausung_ct"/>
<xs:complexType name="behausung_ct">
<xs:sequence>
<xs:element name="beherbergt" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="tier" type="xs:IDREF"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:complexType name="gebäude_ct">
<xs:complexContent>
<xs:extension base="behausung_ct">
<xs:sequence>
<xs:element name="flaeche" type="xs:double"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="teich_ct">
<xs:complexContent>
<xs:extension base="behausung_ct">
<xs:sequence>
<xs:element name="wassertiefe" type="xs:double"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
...产生以下错误消息: 错误:从元素&#39; pfleger&#39;开始发现无效内容。 &#39; {zootier}&#39;是预期的。
显然我的ID-Reference存在问题。 (元素&#34; beherbergt&#34;引用了一个&#34; zootier&#34; -elements)。
我使用了属性类型&#34; xs:ID&#34;对于ID和属性类型&#34; xs:IDREF&#34;用于引用ID。据我所知,这在语法上是正确的。
但是,计算机无法建立连接,我也不知道为什么。 如果有人知道,请给我留言。