Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 架构有效性错误,不应使用此元素。应为{}_Xml_Validation_Xsd - Fatal编程技术网

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

让我先粘贴代码

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.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”:这个元素不是预期的。
那么为什么它也看不到具有专有名称的元素呢