如何使用XML文档中本地计算机上的Schema
问题描述:
我对XML/Schema文件的知识有限。如何使用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>
这是来自www.w3.org的示例,指定模式的部分位于schemaLocation中。 我试着看文档,但是如何指定一个本地文件?
喜欢的东西
xsi:schemaLocation="../relativepath/schemafolder not.xsd">
感谢
答
schemaLocation
必须包含由空格分隔的两个值:命名空间URI(这并不改变)和架构URL。
所以你的情况
xsi:schemaLocation="http://www.w3schools.com ../relativepath/schemafolder/note.xsd">
不要被看似有效的HTTP URL命名空间URI所迷惑,那只是小的疯狂XML发明人之一。
xsi:schemaLocation="namespace1 schemaurl1 namespace2 schemaurl2 ..."
(我也建议你使用相对路径小心::)
其实,你可以在一个schemaLocation
指定几个命名空间的架构,而他们是当你移动你的文件非常有用,但仍然使用相同的代码(或工具)验证它,当您在应用程序中部署验证代码时,“工作目录”可能不是您所期望的。这并不是说您不应该使用相对路径,只是为了意识到这一点,当你看到一个关于未找到的模式的怪异例外)。
所以链接不必是有效的?我仍然需要在那里放些东西?即使它根本不用? – grobartn 2011-01-31 22:48:39