Глава 4 Структура преобразования

Глава 4

Структура преобразования

Пространство имен XSLT

Для того чтобы выделить элементы и атрибуты, которые принадлежат логической схеме XSLT, в этом языке применяется механизм пространств имен. Это означает, что в документе преобразования элементы, относящиеся к XSLT, должны принадлежать его пространству имен.

Уникальный идентификатор ресурса пространства имен XSLT имеет вид

http://www.w3.org/1999/XSL/Transform

Как отмечалось ранее, по адресу, указанному в URI пространства имен, совершенно необязательно будет находиться что-либо осмысленное. Однако в нашем случае по адресу http://www.w3.org/1999/XSL/Transform находится текстовый документ, содержащий единственную строчку:

This is the XSLT namespace.

Символ 1999 в URI пространства имен XSLT никак не соотносится с версией языка преобразования. Это просто год, который был назначен Консорциумом W3 данной спецификации и не более. Версия использованного языка определяется атрибутом version элемента xsl:stylesheet.

Общепринятым префиксом пространства имен языка XSLT является префикс xsl. Естественно, он может быть любым другим, но в этой книге мы будем использовать именно такое обозначение. Таким образом, объявление пространства имен XSLT в общем случае будет выглядеть следующим образом: xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

Пример

Приведем пример простого преобразования, в котором объявлено пространство имен XSLT.

<xsl:stylesheet

 version="1.0"

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

 <xsl:template match="/">

  <xsl:element name="root"/>

 </xsl:template>

</xsl:stylesheet>

В некоторых случаях исходный текст намного упрощается, если пространство имен XSLT объявляется по умолчанию:

<stylesheet

 version="1.0"

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

 <template match="/">

  <element name="root"/>

 </template>

</stylesheet>

Кроме этого, пространство имен по умолчанию можно снова обнулить:

<stylesheet

 version="1.0"

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

 <template match="root">

  <root xmlns=""/>

 </template>

</stylesheet>

В последнем случае элемент root будет принадлежать нулевому пространству имен. Результат всех трех преобразований одинаков:

<root/>

Элементы XSLT могут содержать атрибуты, принадлежащие другим, но обязательно ненулевым, пространствам имен. Такие атрибуты могут содержать дополнительную информацию, но поскольку они не относятся к XSLT, обрабатываться процессором в общем случае они не будут.

Пример

Если мы определим в преобразовании элемент вида

<xsl:template match="a" xsldoc:text="Processes all a elements"

 xmlns:xsldoc="http://www.a.com/XSL/doc">

 ...

</xsl:template>

то в общем случае атрибут xsldoc:text будет проигнорирован. Однако процессор, которому знакомо пространство имен с URI http://www.a.com/XSL/doc сможет понять, что этот атрибут применен для документирования преобразования и будет использовать его в своих целях.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

8.5.6 Преобразования

Из книги C++ автора Хилл Мюррей

8.5.6 Преобразования Конструктор, получающий один параметр, определяет преоразование из типа своего параметра в тип своего класса. Такие преобразования неявно применяются дополнительно к стандартным пробразованиям (#6.6-7). Поэтому присваивание объекту из класса X


ГЛАВА 6. СТРУКТУРА ПРОЦЕССОВ

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

ГЛАВА 6. СТРУКТУРА ПРОЦЕССОВ В главе 2 были сформулированы характеристики процессов. В настоящей главе на более формальном уровне определяется понятие «контекст процесса» и показывается, каким образом ядро идентифицирует процесс и определяет его местонахождение. В


R.4 Стандартные преобразования

Из книги Справочное руководство по C++ автора Страустрап Бьярн

R.4 Стандартные преобразования Некоторые операции в зависимости от своих операндов могут вызвать преобразование значения операнда от одного типа к другому. Здесь описываются преобразования, вызванные самыми обычными операциями, и объясняется каковы могут быть


R.12.3 Преобразования

Из книги Советы по Delphi. Версия 1.0.6 автора Озеров Валентин

R.12.3 Преобразования Преобразования объектов класса можно задать с помощью конструкторов или функций преобразования.Такие преобразования, обычно называемые пользовательскими, используются неявно в совокупности со стандартными преобразованиями (§R.4). Например, функцию


Преобразования

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен


18.5.4. Средства преобразования

Из книги Основы информатики: Учебник для вузов автора Малинина Лариса Александровна

18.5.4. Средства преобразования Вторая крупнейшая проблема, связанная с DocBook, состоит в необходимости преобразования старой разметки уровня представления в разметку DocBook. Человек обычно может автоматически преобразовать представление документа в логическую структуру,


Глава 2 Структура хранения данных на внешних носителях информации

Из книги Технологии программирования автора Камаев В А

Глава 2 Структура хранения данных на внешних носителях информации 2.1. Единица хранения данных При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и как обеспечить к ним удобный и быстрый доступ (если доступ не обеспечен, то это не


Глава 4 СТРУКТУРА ДАННЫХ ПРОГРАММ

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Глава 4 СТРУКТУРА ДАННЫХ ПРОГРАММ 4.1. ПОНЯТИЕ СТРУКТУРЫ ДАННЫХ ПРОГРАММ Под структурой данных программ в общем случае понимают множество элементов данных, множество связей между ними, а также характер их организованности.Под организованностью данных понимается


Преобразования CSS

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Преобразования CSS В главе 22, ведя разговор о канве и программном рисовании на ней, мы узнали о преобразованиях системы координат. С помощью особых расширений CSS мы можем проделать аналогичные действия над любым элементом Web-страницы: сместить его, повернуть, растянуть или


Преобразования CSS

Из книги XSLT автора Хольцнер Стивен

Преобразования CSS В главе 22, ведя разговор о канве и программном рисовании на ней, мы узнали о преобразованиях системы координат. С помощью особых расширений CSS мы можем проделать аналогичные действия над любым элементом Web-страницы: сместить его, повернуть, растянуть или


Преобразования XSLT-XSL

Из книги Технология XSLT автора Валиков Алексей Николаевич

Преобразования XSLT-XSL XSLT позволяет работать непосредственно с содержимым документов XML. Например, у вас может быть огромный документ XML, содержащий всю бейсбольную статистику за последний сезон, однако вас может интересовать только статистика для питчеров. Чтобы извлечь


Преобразования из XML в XML

Из книги Язык программирования Си для персонального компьютера автора Бочков C. О.

Преобразования из XML в XML Преобразования XML-XML иногда рассматриваются как SQL для Интернета, поскольку они позволяют оперировать запросами к базе данных в XML-документах. Ниже приведен пример. Используемый нами файл planets.xml содержит достаточно много данных о каждой


Глава 4 Структура преобразования

Из книги Macromedia Flash Professional 8. Графика и анимация автора Дронов В. А.

Глава 4 Структура преобразования Пространство имен XSLT Для того чтобы выделить элементы и атрибуты, которые принадлежат логической схеме XSLT, в этом языке применяется механизм пространств имен. Это означает, что в документе преобразования элементы, относящиеся к XSLT,


Преобразования типов

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

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


Преобразования

Из книги автора

Преобразования Преобразований, предусматриваемых Flash, всего два. Однако с их помощью можно задать весьма сложное движение выделенного нами фрагмента


Глава 11 Преобразования имен и адресов

Из книги автора

Глава 11 Преобразования имен и адресов 11.1. Введение Во всех предшествующих примерах мы использовали численные адреса узлов (например, 206.6.226.33) и численные номера портов для идентификации серверов (например, порт 13 для стандартного сервера времени и даты и порт 9877 для