www.w3 的文件 URI。org/2001/XMLSchema

File URI for www.w3.org/2001/XMLSchema

即使没有 Internet 连接,我也需要能够根据 XSD 验证 XML 文件。当我通过以下通常的 URL 访问 XS 名称空间时,我的 XML 文件正确访问 XSD 并根据 XSD 的内容验证(或不验证):

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

但是,当我尝试访问 XMLSchema 的本地版本时,我收到错误消息(模式中根元素的定义不正确)。我按照通常的操作说明从网站下载了文件所以并将其保存为 schema2.xsd。我通过将 URI 粘贴到我的浏览器中并按预期加载文件内容来验证下面代码中的文件 URI 是否正常工作。我代码中的所有其他内容都是相同的,无论是否我尝试使用 URL 或文件 URI 访问 XML 模式(当然除了有问题的一行代码)。

<xs:schema xmlns:xs="file:///C:/delphi studies/schema/schema2.xsd" elementFormDefault="qualified">

我相信一定有一种简单的方法可以做到这一点,但尽管进行了大量的谷歌搜索和实验,我还是无法做到正确。

您不必在线即可使用 XSD 验证 XML 文档。一般来说,an XML namespace URI does not have to be retrievable。这包括 http://www.w3.org/2001/XMLSchema,XSD 词汇表中用于命名架构组件本身的命名空间名称。不要将其视为可检索的 URI,而应将其视为组件名称的词法扩展。通过将 xmlns:xs 更改为 file:///C:/delphi studies/schema/schema2.xsd,您可以有效地重命名每个使用 xs 前缀的组件。你既不需要也不想这样做。