Алексей Валиков - Технология XSLT

Здесь есть возможность читать онлайн «Алексей Валиков - Технология XSLT» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Санкт-Петербург, Год выпуска: 2002, Издательство: БХВ-Петербург, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Технология XSLT: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Технология XSLT»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.
Для начинающих и профессиональных программистов

Технология XSLT — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Технология XSLT», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

В свою очередь конструкция вида

создаст элемент

что на самом деле эквивалентно просто .

Таким образом, атрибут namespaceнаиболее приоритетен для определения пространства имен создаваемого элемента. Обратимся теперь к случаю, когда этот атрибут опущен в xsl:element. Объявление вида

создаст элемент

Как видим, отсутствие namespaceи namespace=""— не одно и то же.

Рассмотрим теперь случай, когда нет ни атрибута namespace, ни префикса в name:

version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Результатом этого преобразования будет документ, состоящий из одного пустого элемента html:

Мы специально привели все преобразование целиком, чтобы показать, что выходящий элемент будет принадлежать нулевому пространству имен тогда и только тогда, когда для него не было объявлено пространства имен по умолчанию. Попробуем посмотреть, что получится, если пространство имен по умолчанию будет объявлено:

version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Результатом в этот раз будет элемент с локальной частью имени " html", принадлежащий пространству имен с URI " http://www.w3.org/1999/xhtml":

Создание узлов атрибутов

Элемент xsl:attribute

Этот элемент задается конструкцией вида:

name="{ имя }"

namespace="{ пространство имен }">

Использование элементов xsl:attributeи xsl:elementво многом аналогично. Обязательный атрибут name указывает имя, а атрибут namespace— URI пространства имен создаваемого атрибута, причем процесс вычисления расширенного имени атрибута практически идентичен этому в процедуре вычисления имени элемента, который был приведен при разборе xsl:element.

Показаний к применению xsl:attributeнесколько больше, чем для xsl:element. В частности, xsl:attributeследует использовать, если:

□ требуется создать атрибут с не известным заранее именем или пространством имен;

□ требуется создать атрибут в пространстве имен, которое является для процессора значащим (например, в пространстве имен XSLT);

□ требуется создать атрибут, вычисление значения которого не может быть реализовано одним или несколькими XPath-выражениями (например, условный вывод атрибута).

Приведем некоторые примеры.

Покажем, как преобразовать структуру вида

в элемент

Для достижения цели воспользуемся следующим преобразованием.

Листинг 7.5. Создание атрибутов при помощи xsl:attribute

version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Элемент xsl:attributeне может использоваться где угодно: узлы атрибутов должны создаваться только как дочерние узлы узлов элементов. Более того, узлы атрибутов должны создаваться до создания дочерних узлов других типов — текста, элементов и так далее. Таким образом, xsl:attributeможет быть использован в содержимом любого из следующих родителей:

□ литерального элемента результата;

□ элемента xsl:element;

□ элемента xsl:copyв случае, если текущий, копируемый узел является элементом;

□ элемента xsl:attribute-setв случае определения именованного набора атрибутов.

При этом, как было показано в предыдущем примере, xsl:attributeне обязан использоваться только в качестве их непосредственного дочернего элемента. Главное, чтобы атрибуты создавались в элементах и только в элементах.

Элемент xsl:attributeтакже не может использоваться для генерации объявлений пространств имен. В соответствии с технической рекомендацией XSLT, xsl:attributeне может создавать атрибуты, имена которых имеют префикс xmlns.

Если атрибут создается в элементе, который уже имеет атрибут с таким же именем, старый атрибут будет переопределен новым значением.

Рассмотрим пример.

Листинг 7.6. Фрагмент шаблона

<���а href="http://www.aaa.com">

http://www.bbb.com

Листинг 7.7. Результат

Поскольку атрибут может содержать только текст, результатом выполнения содержимого xsl:attributeтоже должны быть только текстовые узлы. Процессор в лучшем случае проигнорирует нетекстовые узлы, в худшем выведет сообщение об ошибке, прервав дальнейшую обработку, так что следует очень внимательно относиться к содержимому xsl:attribute.

Текстовое значение атрибута может задаваться не только символьными данными, Оно может генерироваться также элементами XSLT, такими, как, например, xsl:textи xsl:value-of. То есть вполне корректным будет следующее определение:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Технология XSLT»

Представляем Вашему вниманию похожие книги на «Технология XSLT» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Стивен Холзнер - XSLT
Стивен Холзнер
Алексей Сахарков - Технология террора
Алексей Сахарков
Отзывы о книге «Технология XSLT»

Обсуждение, отзывы о книге «Технология XSLT» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.