我想问一下,如果没有在“xsi:schemaLocation =”属性中指定.xsd位置验证我的xml有任何选项。
例如我的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嵌入到lib甚至是解析器中?
干杯,
学家
答案 0 :(得分:1)
是的,绝对的。没有要求在xsi:schemaLocation中识别模式,并且许多人认为这是不好的做法。 (除了其他任何事情,如果你需要验证,这意味着你不相信文档内容,那么你为什么要相信它指向正确的模式?)
不幸的是,您对处理环境一无所知,但我认为大多数验证器都会提供命令行界面和API,允许您独立指定源文档和架构。
xsi:schemaLocation可能有用的主要情况是您在键入时使用创作工具进行验证。