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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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 为什么XSD验证离线失败但在线工作?_Xml_Eclipse_Xsd_Xsd Validation_Xml Validation - Fatal编程技术网

Xml 为什么XSD验证离线失败但在线工作?

Xml 为什么XSD验证离线失败但在线工作?,xml,eclipse,xsd,xsd-validation,xml-validation,Xml,Eclipse,Xsd,Xsd Validation,Xml Validation,我有这两个文件,XML和XSD schedule.xml: <?xml version="1.0"?> <Schedule xmlns ="schedule" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schedule.xsd"> &l

我有这两个文件,XML和XSD

schedule.xml:

    <?xml version="1.0"?>
    <Schedule xmlns ="schedule"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xsi:noNamespaceSchemaLocation="schedule.xsd">
        <Event>
                <Title>Artificial Intelligence</Title>
                <Lecture>
                    <Day>Wednesday</Day>
                    <Time>09-11</Time>
                </Lecture>
        </Event>
</Schedule>
它在我的电脑上工作。我的问题是为什么我只在我的电脑上出现这个错误?我不想修复我的文件,我想知道为什么我只在电脑上出现此错误。

阅读

特别注意两点:

  • 您(不正确)在具有以下内容的文档上使用
    xsi:noNamespaceSchemaLocation
    名称空间不帮助任何处理器将XSD与此关联 文件
  • 在线上,您提供了更直接的XSD规范 希望使用,因此在线处理器不需要 (不正确)在文档提示中

  • 我怀疑您的xml文件令人困惑。您声明文件的名称空间为
    schedule
    ,然后提供链接
    xsi:noNamespaceSchemaLocation=“schedule.xsd”
    。您应该研究定义名称空间的方式。据我所知,主要问题是,当我没有说明名称空间是变量的位置时,出于某种原因,变量无法将其与默认名称空间(xmlns)链接。相反,如果我声明文件位于何处,或者如果我声明名称空间的名称,例如xmlns:p,则它可以工作
        <?xml version="1.0"?>
        <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                              targetNamespace="schedule"
                              xmlns="schedule"
                              elementFormDefault="qualified">
            <xsd:element name="Schedule">
                <xsd:complexType>
                    <xsd:sequence>
                        <xsd:element name="Event"  maxOccurs="unbounded">
                            <xsd:complexType>
                                <xsd:sequence>
                                    <xsd:element name="Title" type="xsd:string"/>
                                    <xsd:element name="Lecture">
                                        <xsd:complexType>
                                            <xsd:sequence>
                                                <xsd:element name="Day" type="xsd:string"/>
                                                <xsd:element name="Time" type="xsd:string"/>
                                            </xsd:sequence>
                                        </xsd:complexType>
                                    </xsd:element>
                                </xsd:sequence>
                            </xsd:complexType>
                        </xsd:element>
                    </xsd:sequence>
                </xsd:complexType>
            </xsd:element>
        </xsd:schema>
    
    xsi:schemaLocation="schedule schedule.xsd"