Технология XSLT
Шрифт:
Поскольку синтаксис разметки документов в XML имеет текстовую форму, часто бывает, что само содержимое документа может быть воспринято как разметка. В том случае, когда этого желательно избежать, самым простым выходом будет поместить такие данные внутрь секции CDATA.
Следующий текст в документе
будет воспринят как разметка. Для того
Такая конструкция уже будет воспринята как символьные данные. Другим примером может быть использование символов "
Секции символьных данных задаются четырьмя довольно простыми правилами:
Содержимое секции символьных данных, отвечающее продукции CData, может состоять из любых символов, в том числе "
Комментарии (comments)
XML-документ может содержать комментарии, которые записываются следующим образом:
Текст комментария может состоять из любых символов, кроме двух минусов
подряд ("
Пример комментария:
Продукция комментария называется в XML
Выражение
Пространства имён
XML позволяет создавать наборы элементов с любыми синтаксически допустимыми именами и определять с их помощью логическую структуру документов практически произвольной сложности.
За время существования XML
Часто случается, что различные логические схемы документов используют одни и те же имена элементов в различных смыслах. Это не является проблемой, если в документе используется только одна схема. Но представьте себе ситуацию, когда в одном и том же документе необходимо использовать элементы нескольких различных схем — будет попросту невозможно определить, какой элемент относится к какой схеме, и, вообще, какие схемы были использованы в документе. Для решения этих проблем в XML используются пространства имен (англ. namespaces).
Чтобы различать схемы документов, каждой из них ставится в соответствие уникальный идентификатор ресурса (URI). Две схемы будут считаться тождественными тогда и только тогда, когда их уникальные идентификаторы будут совпадать, поэтому нужно осторожно выбирать URI для создаваемой схемы документа. Очень часто в качестве URI используются URL различных Web-сайтов. Это совсем не означает, что по указанному адресу должно что-либо находиться, просто такой способ практически гарантирует уникальность — вряд ли кому придет в голову использовать адрес чужого сервера в качестве идентификатора своей схемы.
Уникальный идентификатор языка XSLT, которому посвящена эта книга, имеет вид:
Для того чтобы определить, какой схеме принадлежит тот или иной элемент в документе, можно использовать механизм префиксов. Префиксы пространств имен задаются как атрибуты с именами, начинающимися последовательностью
В XSLT чаще всего используется префикс
При этом ничто не мешает использовать любой другой префикс. Например, следующий фрагмент документа будет совершенно идентичен предыдущему: