Шрифт:
Еще несколько моментов могут представлять для вас интерес. Например, модель обработки XSLT открывает доступ к префиксам пространств имен во входном дереве, но предоставляет очень небольшие возможности управления ими в выходном дереве, где они обрабатываются автоматически. К тому же, в модели обработки XSLT для каждого узла в дереве определяется базовый URI, представляющий собой URI внешней сущности, от которой был произведен узел. (В рабочем проекте XSLT 1.1 эти возможности были расширены для поддержки спецификации XML Base, как вы увидите ближе к концу этой главы.) Однако в информационном множестве XML базовые URI считаются второстепенными, а это означает, что разборщик XML может не передать эту информацию в процессор XSL.
В общем, вам следует знать, что процессоры XSLT читают документы XML при помощи разборщиков XML, и что совместная работа этих программных единиц не бесшовна. Если вы обнаружите, что некоторая необходимая информация при преобразовании XSLT пропала, следует вспомнить этот момент. Фактически различие между информационным множеством XML и моделью дерева XSLT — это одна из проблем, которую призван исправить XSLT 2.0. Помимо прочего, в XSLT 2.0 должно быть проще восстанавливать ID и ключевую информацию из исходного документа, а также восстанавливать информацию из объявления XML исходного документа — например, версию XML и кодировку.
Работа с элементами XSLT
Для того чтобы создавать таблицы стилей XSLT, вы должны хорошо знать элементы XSLT, такие как
•
•
•
•
Теперь можно начать создавать таблицы стилей XSLT. Первым элементом будет элемент для связывания таблиц стилей с документами XML
Инструкция обработки <?xsl:stylesheet?>
Когда у нас есть таблица стилей XSL, которую нужно применить к документу XML, требуется каким-то образом связать эту таблицу стилей с документом, — для чего часто используется инструкция обработки
•
•
•
•
•
•
Инструкция обработки
На практике