【问题标题】:XML Validation: 'No matching global declaration available for the validation root'XML 验证:'没有可用于验证根的匹配全局声明'
【发布时间】:2021-12-28 21:44:20
【问题描述】:

我看过几个关于这个问题的不同帖子,但建议的解决方案都没有解决我的问题,这似乎代表我存在一些根本性的误解。我的印象是我的 XML 和 XSD 之间存在名称间距问题,但我不确定如何解决?

验证我的 XML 时出现以下错误:

元素'{http://www.w3.org/2001/XMLSchema}schema':没有可用于验证根的匹配全局声明。第 1 行`

XML:

<?xml version="1.0" encoding="UTF-8"?>
<DOCUMENT_FILE
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="path\to\my.xsd">
    <DOCUMENT>
        <BRANCH_NUMBER>num</BRANCH_NUMBER>
    </DOCUMENT>
</DOCUMENT_FILE>

XSD:

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0">
  <xsd:element name="DOCUMENT_FILE">
    <xsd:complexType>
      <xsd:sequence minOccurs="1" maxOccurs="1">
        <xsd:element name="DOCUMENT" minOccurs="1" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:sequence minOccurs="1" maxOccurs="1">
              <xsd:element name="BRANCH_NUMBER" minOccurs="1" maxOccurs="1" type="xsd:string"/>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>

【问题讨论】:

    标签: xml xsd lxml xsd-validation xml-validation


    【解决方案1】:

    您的 XML 对您的 XSD 有效。 (您的基本理解是正确的。)您如何指定 XSD 的路径可能只是一个小问题。

    XSD 在同一目录中:

    替换

    xsi:noNamespaceSchemaLocation="path\to\my.xsd">
    

    xsi:noNamespaceSchemaLocation="my.xsd">
    

    另一个相对指定的本地目录中的 XSD:

    xsi:noNamespaceSchemaLocation="path/to/my.xsd">
    

    另一个绝对指定的本地目录中的 XSD:

    xsi:noNamespaceSchemaLocation="file:///path/to/my.xsd">
    

    远程目录中的 XSD:

    xsi:noNamespaceSchemaLocation="https://example.com/path/to/my.xsd">
    

    另见


    聊天后更新:我们更仔细地阅读了错误消息,并意识到这是关于验证 XSD 本身而不是 XML 的失败。上述关于 XSD 路径规范的提示可能对未来的读者有用,因此我将按原样保留此答案。

    底线:如果您看到有关 schema 元素的验证错误,请检查您是否确实在调用验证例程时指定了已更正的 XML 文件,而不是 XSD 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      • 2012-01-15
      • 2021-02-26
      • 2013-02-16
      相关资源
      最近更新 更多