Что делает атрибут ns в теге грамматики схемы RelaxNG?

Кажется, я не могу найти никакой документации по нему, которая имеет для меня какой-либо смысл. Я заметил, что это, похоже, связано с атрибутом xmlns проверяемой схемы.

Похоже, что если ns тега грамматики схемы и xmlns корневого узла схемы для проверки не совпадают, я получаю ошибку проверки.

Что такое атрибут ns и чем он отличается от xmlns?


person makenai    schedule 04.06.2010    source источник


Ответы (1)


В этом примере

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

xmlns определяет пространство имен самой грамматики. Атрибуты ns определяют пространство имен экземпляров типа документа, определенного грамматикой.

Итак, если ns установлен, скажем, "http://foo.bar/", то экземпляр этот документ должен был бы ссылаться на это пространство имен, чтобы быть действительным в соответствии со схемой:

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

person Wilfred Springer    schedule 19.08.2010