使用相对路径进行DTD或XSD本地XML验证?

5

XML文件可以使用文档类型描述(DTD)或XML Schema(xsd)来定义和验证,具体如下:

<?xml version='1.0' encoding='UTF-8'?>
<annotation xmlns="http://www.xyz.com"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.xyz.com
    file:system.xsd" >

或者

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE annotation SYSTEM "http://www.xyz.de/system.dtd">

两种方式都定义了DTD或XSD所在的URL。是否有一种方法可以提供相对或本地路径?这样我就可以将它们与XML文件一起存储,而不是依赖服务器。

1个回答

16

很简单。只需输入文件的相对路径,例如

<?xml version='1.0' encoding='UTF-8'?>
<annotation xmlns="http://www.xyz.com" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.xyz.com ./system.xsd" >

那么,为什么还要使用URL呢? - eactor
有时候需要编写符合他人制定的模式的 XML。如果他们在服务器上拥有它,那么工具可以确保始终使用最新版本。 - Stanley De Boer
我自己设计了XSD,现在我会将XSD与我的XML文件一起传递。 - eactor
那也是我习惯的。 - Stanley De Boer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接