ВУЗ:
Составители:
Рубрика:
XSLT имеет дело с XMLдокументами, подразумевается, что это XML
документы, отвечающие спецификации XML Namespaces.
Пространства имен играют важную роль в языке XSLT. Их основная за-
дача обеспечить возможность смешивать в одном и том же XMLдокументе
теги из нескольких различных словарей разметки. Например, в одном словаре
элемент <table> может означать двумерный массив данных, в то время как в
другом словаре под элементом <table> подразумевается предмет мебели. На-
помним вкратце особенности пространства имен:
Пространства имен задаются унифицированным идентификатором ресур-
са URI (Uniform Resource Identifier). Этот идентификатор может быть представ-
лен в различных формах. Одна из них привычный URL, например
http://www.wrox. com/namespace. Другая форма, не стандартизированная окон-
чательно, но используемая в некоторых XMLсловарях URN, например urn:
java:com. icl.saxon. Конкретная форма записи URI не имеет значения, но стоит
выбирать URI, который будет однозначно определять пространство имен. Хо-
рошим вариантом может быть использование URL вашего собственного веб-
сайта. Однако не думайте, что на вебсайте для этого должен быть организован
какойто специальный ресурс, на URL которого можно ссылаться. URI про-
странства имен просто последовательность символов, выбранных вами, чтобы
различать URI разных пространств имен; он не должен обязательно указывать
на чтото реальное.
Поскольку URI пространств имен часто довольно длинные и используют
специальные символы типа «/», их не приводят полностью в именах элементов
и атрибутов. Вместо этого каждому пространству имен, используемому в доку-
менте, можно давать короткие псевдонимы, употребляя их с именами атрибу-
тов и элементов в виде префиксов. Неважно, какой будет выбран префикс, по-
тому что реальное имя элемента или атрибута определяется только по URI его
пространства имен и по его локальному имени (по части имени, идущей после
префикса).
Существует также возможность указать пространство имен по умолча-
нию для элементов, которое будет связано с элементами без префикса. Однако
на атрибуты это не распространяется.
Префикс пространства имен объявляется в рамках любого тега элемента с
помощью специального псевдоатрибута: xmlns:prefix = «namespaceURI»
Таким способом объявляется префикс пространства имен, который может
использоваться в имени этого элемента, его атрибутов и в имени любого эле-
мента или атрибута, содержащихся в данном элементе. Значение по умолчанию
для пространства имен, связываемого с элементами, в именах которых префикс
не указан явно (но не с атрибутами), назначается аналогично с помощью псев-
доатрибута: xmlns = «namespaceURI»
XSLT нельзя использовать для обработки XMLдокументов, не соответст-
вующих рекомендации XML Namespaces. На практике это не проблема, посколь-
ку большинство людей считает XML Namespaces неотъемлемой частью стандар-
та XML, а не дополнительной добавкой к нему. Хотя какуюто роль это все же
играет. В частности, активное использование пространств имен фактически
49
Страницы
- « первая
- ‹ предыдущая
- …
- 47
- 48
- 49
- 50
- 51
- …
- следующая ›
- последняя »
