gro*_*rtn 24 xml validation xsd
我对XML/Schema文件的了解有限.
所以这应该是一个相当简单的问题.如何为schemaLocation指定本地文件?
<?xml version="1.0"?>
<note
xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3schools.com note.xsd">
...
</note>
Run Code Online (Sandbox Code Playgroud)
这是来自www.w3.org的示例,指定架构的部分位于schemaLocation中.我试着查看文档,但是如何指定本地文件?
就像是
xsi:schemaLocation="../relativepath/schemafolder not.xsd">
Run Code Online (Sandbox Code Playgroud)
谢谢
biz*_*lop 24
schemaLocation 必须包含由空格分隔的两个值:名称空间URI(这不会更改)和模式URL.
所以在你的情况下
xsi:schemaLocation="http://www.w3schools.com ../relativepath/schemafolder/note.xsd">
Run Code Online (Sandbox Code Playgroud)
不要被名称空间URI作为一个看似有效的http url所迷惑,这只是XML人发明的小麻烦之一.:)
实际上,您可以在一个命名空间中指定模式schemaLocation:
xsi:schemaLocation="namespace1 schemaurl1 namespace2 schemaurl2 ..."
Run Code Online (Sandbox Code Playgroud)
(我还建议您小心使用相对路径:虽然它们在您移动文件时仍非常有用,但仍然使用相同的代码(或工具)验证它,当您在应用程序中部署验证代码时,"工作目录" "可能不是你所期望的.这并不是说你不应该使用相对路径,只是当你得到一个关于未找到的模式的奇怪外观时才意识到这一点."