Xml 架构有效性错误,不应使用此元素。应为{}
让我先粘贴代码 xml文件Xml 架构有效性错误,不应使用此元素。应为{},xml,validation,xsd,Xml,Validation,Xsd,让我先粘贴代码 xml文件 <d:Dyspozycja xmlns:u="http://www.inf.ug.edu.pl/urzadzenia" xmlns:d="http://www.inf.ug.edu.pl/dyspozycja" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.in
<d:Dyspozycja xmlns:u="http://www.inf.ug.edu.pl/urzadzenia"
xmlns:d="http://www.inf.ug.edu.pl/dyspozycja"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.inf.ug.edu.pl/urzadzenia urzadzenia.xsd">
<d:Sala>
<d:NumerSali>12</d:NumerSali>
<d:LiczbaMiejsc>1</d:LiczbaMiejsc>
<d:Ekran>true</d:Ekran>
</d:Sala>
<d:Przechowalnia>
<d:Rzutnik>
<u:Rozdzielczość>Duża</u:Rozdzielczość>
<u:ŻywotnośćLampy>10</u:ŻywotnośćLampy>
</d:Rzutnik>
</d:Przechowalnia>
12
1.
真的
杜瓦
10
和第一个xsd文件
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.inf.ug.edu.pl/dyspozycja"
xmlns="http://www.inf.ug.edu.pl/dyspozycja"
elementFormDefault="qualified"
xmlns:u="http://www.inf.ug.edu.pl/urzadzenia">
<xsd:import schemaLocation="urzadzenia.xsd" namespace="http://www.inf.ug.edu.pl/urzadzenia"/>
<xsd:element name="Dyspozycja">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Sala" type="typ_list" minOccurs="1" maxOccurs="3"/>
<xsd:element name="Przechowalnia" type="Typ_Przechowalnia" />
</xsd:sequence>
<xsd:attribute name="DzienPoczatkowy" type="xsd:date" />
<xsd:attribute name="DzienKoncowy" type="xsd:date" />
</xsd:complexType>
</xsd:element>
<xsd:complexType name="typ_list" mixed="true">
<xsd:sequence>
<xsd:element name="NumerSali" type="xsd:integer" />
<xsd:element name="LiczbaMiejsc" type="xsd:integer" />
<xsd:element name="Ekran" type="xsd:boolean" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Typ_Przechowalnia">
<xsd:sequence>
<xsd:element name="Rzutnik" type="u:Typ_Rzutnik" minOccurs="1" maxOccurs="4"/>
<xsd:element name="Komputer" type="u:Typ_Komputer" maxOccurs="4"/>
<xsd:element name="Headset" type="u:Typ_Headset" maxOccurs="2"/>
</xsd:sequence>
</xsd:complexType>
和第二个xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.inf.ug.edu.pl/urzadzenia"
xmlns="http://www.inf.ug.edu.pl/urzadzenia"
elementFormDefault="qualified">
<xsd:complexType name="Typ_Rzutnik">
<xsd:all>
<xsd:element name="Rozdzielczość" type="xsd:string" />
<xsd:element name="ŻywotnośćLampy" type="xsd:positiveInteger" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="Typ_Komputer">
<xsd:all>
<xsd:element name="Typ" type="Typ_TypKomputera" />
<xsd:element name="ŻywotnośćLampy" type="xsd:positiveInteger" />
</xsd:all>
</xsd:complexType>
<xsd:simpleType name="Typ_TypKomputera">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Desktop" />
<xsd:enumeration value="Mobile" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="Typ_Headset">
<xsd:all>
<xsd:element name="Słuchawki" minOccurs="0" />
<xsd:element name="PojemnośćBaterii" type="xsd:positiveInteger" />
</xsd:all>
</xsd:complexType>
</xsd:schema>
我很抱歉没有英文元素名称,我相信这不会让这里的事情更难理解。当我试图通过xmllint xmlfile--scheme firstxsd
验证xml时,我得到一个错误“xml:11:element rzutnik:Schemas-validity-error:element'{link}rzutnik':不应该是这个元素。应该是({link}rzutnik)。”
我不理解它,因为当我为了某个目的更改xsd文件中的元素名称时,我得到一个错误“元素rzutnik:Schemas有效性错误:元素{link}rzutnik”:不应该是这个元素。应该是({link}rzutnik)。”
那么,为什么在第一种情况下验证没有看到子项,而在第二种情况下验证看到子项,但由于名称错误而没有验证?对不起,我的英语不是我的第一语言,我希望我的问题是可以理解的
link=(我不能粘贴超过2个链接)我也很困惑。它似乎在说它找到了一个名为“rzutnik”(小写r)的元素,而模式说它应该是“rzutnik”(大写r)。但是在您向我们展示的XML中没有名称“rzutnik”(小写r)的错误。是的,当我在XML或xsd中故意更改它时,小写r会出现这个错误,问题是如果它看到
元素“{link}rzutnik”:这个元素不是预期的。
那么为什么它也看不到具有专有名称的元素呢