RelaxNG模式的语法标记中的ns属性有什么作用?

时间:2010-06-04 03:17:08

标签: xml relaxng

我似乎无法找到任何对我有任何意义的文档。我注意到它似乎与正在验证的模式的xmlns属性有关。

看起来如果架构语法标记的ns和要验证的架构的根节点的xmlns不匹配,我会收到验证错误。

什么是ns属性,它与xmlns有什么不同?

1 个答案:

答案 0 :(得分:0)

在这个例子中

<grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="...."

xmlns定义语法本身的命名空间。 ns属性定义语法定义的文档类型实例的名称空间。

因此,将ns设置为 - 比如说“http://foo.bar/”,然后该文档的实例必须引用该命名空间才能根据模式生效:

<foo xmlns="http://foo.bar/"><bar/></foo>