XSD 问题 - 找不到根元素的声明

XSD problem - cannot find the declaration of root element

我在根据我的 XML 模式验证我的 XML 文件时遇到问题。一切正常,除了它显示找不到 countries 根元素的声明。

这是我的 XML 文件的一部分:

<?xml version="1.0" encoding="UTF-8"?>

<countries xmlns="https://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="kraje.xsd">
    <!-- I don't paste everything that's inside the countries element 
         since it's not causing errors -->
</countries>

这是我的 XSD 文件的一部分:

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:element name="countries" type="countriesType"/>

    <xs:complexType name="countriesType">
        <xs:sequence>
            <xs:element ref="country"/>
        </xs:sequence>
    </xs:complexType>

</xs:schema>

XML

由于您的 XML 在 https://www.w3schools.com 命名空间中,更改

xsi:schemaLocation="kraje.xsd"

xsi:schemaLocation="https://www.w3schools.com kraje.xsd"

XSD

添加一个匹配的 targetNamespace,

targetNamespace="https://www.w3schools.com"

xs:schema 根元素。

另见

  • How to link XML to XSD using schemaLocation or noNamespaceSchemaLocation?