RelaxNG 模式语法标签中的 ns 属性有什么作用?
我似乎找不到任何对我有意义的文档。我注意到它似乎与正在验证的架构的 xmlns 属性有关。
看起来如果模式语法标记的 ns 和要验证的模式根节点的 xmlns 不匹配,我会收到验证错误。
ns 属性是什么?它与 xmlns 有何不同?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在此示例中
xmlns 定义语法本身的命名空间。 ns 属性定义由语法定义的文档类型实例的命名空间。
因此, ns 是否设置为 - 比如说 - “http://foo.bar/”,然后是一个实例该文档必须引用该命名空间才能根据架构有效:
In this example
<grammar xmlns="http://relaxng.org/ns/structure/1.0" ns="...."
xmlns defines the namespace of the grammar itself. The ns attributes defines the namespace of instances of the document type defined by the grammar.
So, is ns is set to - say - "http://foo.bar/", then an instance of this document would have to reference that namespace in order to be valid according to the schema:
<foo xmlns="http://foo.bar/"><bar/></foo>