0

我想问一下是否有任何选项可以验证我的 xml 而无需在“xsi:schemaLocation=”属性中指定 .xsd 位置。

例如我的 xml 文件。

<?xml version="1.0" ?>
<test:XMLFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:test="http://test/"
            xsi:schemaLocation="http://test/" {relative/absolute path}/Test.xsd">
  <Data> TEST </Data>
</test:XMLFile>

出于安全原因,我想隐藏 .xsd 位置,所以还有其他选项可以隐藏 xsi:schemaLocation="http://test/" {relative/absolute path}/Test.xsd 吗?

也许将 .xsd 嵌入到库甚至解析器中?

干杯,

J。

4

1 回答 1

1

是的,一点没错。不需要在 xsi:schemaLocation 中识别模式,许多人认为这是不好的做法。(除此之外,如果您需要验证,这意味着您不信任文档内容,那么为什么要相信它指向正确的模式?)

不幸的是,您对您的处理环境只字未提,但我认为大多数验证器都会提供命令行界面和 API,允许您独立指定源文档和模式。

xsi:schemaLocation 可能有用的主要情况是当您使用创作工具在您键入时进行验证。

于 2013-11-01T17:58:10.057 回答