» » » » Стивен Холзнер - XSLT


Авторские права

Стивен Холзнер - XSLT

Здесь можно скачать бесплатно "Стивен Холзнер - XSLT" в формате fb2, epub, txt, doc, pdf. Жанр: Интернет, издательство Питер, год 2002. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Стивен Холзнер - XSLT
Рейтинг:
Название:
XSLT
Издательство:
Питер
Жанр:
Год:
2002
ISBN:
5-94723-271-5
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "XSLT"

Описание и краткое содержание "XSLT" читать бесплатно онлайн.



Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.

Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.

Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике






  <DAY UNITS="days">1</DAY>

  <RADIUS UNITS="miles">2107</RADIUS>

  <DENSITY UNITS="(Earth = 1)">1</DENSITY>

  <DISTANCE UNITS="million miles">1284</DISTANCE><!--B перигелии-->

 </PLANET>

</PLANETS>

Для работы в IE версии 5.5 или младше необходимо также преобразовать таблицу стилей planets.xsl. Главное отличие между рекомендацией W3C XSL и реализацией XSL в IE состоит в том, что в IE версии 5.5 и младше не реализованы никакие правила XSL по умолчанию — см. главу 3 (заметьте, что IE версии 6.0 на момент выхода этой книги в свет не обременён такой проблемой). Это значит, что для IE версии 5.5 или младше я должен включать правило XSL для корневого узла документа, который задается при помощи «/». Я также должен использовать в таблице стилей другое пространство имен XSL, «http://www.w3.org/TR/WD-xsl», и опустить атрибут версии в элементе <xsl:stylesheet> (листинг 2.14).

Листинг 2.15. Версия planets.xsl для Internet Explorer

<?xml version="1.0"?>

<xsl:stylesheet xmlns:xsl="http.//www w3.org/TR/WD-xsl">

 <xsl:template match="/">

  <HTML>

   <HEAD>

    <TITLE>

     The Planets Table

    </TITLE>

   </HEAD>

   <BODY>

    <H1>

     The Planets Table

    </H1>

    <TABLE BORDER="2">

     <TR>

      <TD>Name</TD>

      <TD>Mass</TD>

      <TD>Radius</TD>

      <TD>Day</TD>

     </TR>

     <xsl:apply-templates/>

    </TABLE>

   </BODY>

  </HTML>

 </xsl:template>


 <xsl:template match="PLANETS">

  <xsl:apply-templates/>

 </xsl:template>


 <xsl:template match="PLANET">

  <TR>

   <TD><xsl:value-of select="NAME"/></TD>

   <TD><xsl:value-of select="MASS"/></TD>

   <TD><xsl:value-of select="RADIUS"/></TD>

   <TD><xsl:value-of select="DAY"/></TD>

  </TR>

 </xsl:template>

</xsl:stylesheet>

Вот и все! Теперь мы успешно изменили planets.xml и planets.xsl для прямого просмотра в Internet Explorer. Такие изменения необходимо провести для навигации непосредственно по XML-документам с таблицами XSL в этом браузере.

На этом завершается обзор работы с таблицами стилей в XSL. В следующей главе мы более подробно познакомимся с основной частью таблиц стилей — шаблонами.

Глава 3

Создание и применение шаблонов

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

В главе 2 мы кратко рассмотрели таблицы стилей и основные шаблоны, при помощи которых наши примеры таблиц стилей в действительности могли что-то сделать. В этой главе мы собираемся подробно изучить шаблоны, а в следующей мы увидим, какие виды выражений можно применять для создания образцов выбора в шаблонах, позволяющих находить требуемые узлы. Образцы выбора (match pattern) являются подмножеством всего языка XPath и достаточно сложны для того, чтобы посвятить им отдельную главу.

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

Создание шаблона

В главе 2 для выбора узлов в planets.xml и преобразования этого документа в HTML я создал основной шаблон. Шаблоны в таблицах стилей создаются при помощи элементов <xsl:template>, задающих правила для требуемых преобразований. Мы создали шаблон, находивший корневой элемент <PLANETS> по образцу "/PLANETS", которому соответствуют все элементы <PLANETS>, дочерние для корневого узла:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

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

 <xsl:template match="/PLANETS">

  .

  .

  .

 </xsl:template>

.

.

.

</xsl:stylesheet>

Когда процессор XSLT находит узел, удовлетворяющий образцу вашего шаблона, этот узел становится контекстным узлом шаблона, то есть все операции производятся над этим узлом. На текущий узел можно ссылаться при помощи выражения XPath «.». Другие выражения XPath мы рассмотрим в этой главе и в главе 7.

УСОВЕРШЕНСТВОВАНИЯ В XSLT 2.0

В XSLT 1.0 возникали трудности при выборе элементов или атрибутов с нулевыми значениями, что должно быть исправлено в XSLT 2.0.

Внутри шаблона создайте разметку HTML, начинающую требуемую таблицу, — такая прямая вставка разметки называется элементом буквального (literal) результата. Когда процессор встречает литерал, он копирует его в результирующее дерево:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

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

 <xsl:template match="/PLANETS">

  <HTML>

   <HEAD>

    <TITLE>

     The Planets Table

    </TITLE>

   </HEAD>

   <BODY>

    <H1>

     The Planets Table

    </H1>

    <TABLE BORDER=2">

     <TR>

      <TD>Name</TD>

      <TD>Mass</TD>

      <TD>Radius</TD>

      <TD>Day</TD>

     </TR>

    </TABLE>

   </BODY>

  </HTML>

 </xsl:template>

 .

 .

 .

</xsl:stylesheet>

Однако это правило обрабатывает только элемент <PLANETS>, но не его дочерние элементы <PLANET>, содержащие сами данные. В соответствии с правилами шаблона по умолчанию, элементы <PLANET> будут обрабатываться, если установить шаблон для их выбора. Это, кстати, нежелательно, поскольку я хочу вставить результат обработки элементов <PLANET> в определенное место в создаваемом файле HTML. Для этого мне потребуется применить элемент <xsl:apply-templates>.

Обработка дочерних узлов

Элемент <xsl:apply-templates> дает указание процессору XSLT обрабатывать все совпадающие шаблоны для дочерних узлов контекстного узла. Элемент <xsl:apply-templates> дает возможность явно указать, когда следует закончить обработку дочерних узлов, а это имеет решающее значение при вставке их данных в нужное место в HTML-таблице.

Один важный момент часто вызывает затруднения: элемент <xsl:apply-templates> по умолчанию применяет шаблоны только к дочерним узлам контекстного или выбранного узла или набора узлов. Это выглядит довольно безобидно, но многие люди забывают о том, что атрибуты не считаются дочерними узлами элементов и также ими не являются объявления пространств имен. Это значит, что для обработки как элементов, так и атрибутов следует осуществить еще один или два дополнительных шага, что мы увидим далее в этой главе.

В следующем примере мы поместим элемент <xsl:apply-templates> туда, куда нам требуется вставить данные из элементов <PLANET> в таблицу HTML. Я также добавил новый шаблон для обработки элементов <PLANET>:

<?xml version="1.0"?>

<xsl:stylesheet version="1.0"

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

 <xsl:template match="/PLANETS">

  <HTML>

   <HEAD>

    <TITLE>

     The Planets Table

    </TITLE>

   </HEAD>

   <BODY>

    <H1>

     The Planets Table

    </H1>

    <TABLE BORDER="2">

     <TR>

      <TD>Name</TD>

      <TD>Mass</TD>

      <TD>Radius</TD>

      <TD>Day</TD>

     </TR>

     <xsl:apply-templates/>

    </TABLE>

   </BODY>

  </HTML>

 </xsl:template>

 <xsl:template match="PLANET">

  .

  .

  .

 </xsl:template>

</xsl:stylesheet>

В новом шаблоне, обрабатывающем элементы <PLANET>, я должен извлечь данные из каждого элемента <PLANET>, то есть восстановить значения в дочерних элементах элемента <PLANET>, таких как <MASS>, <DAY> и т.д.:

<?xml version="1.0"?>


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "XSLT"

Книги похожие на "XSLT" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Стивен Холзнер

Стивен Холзнер - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Стивен Холзнер - XSLT"

Отзывы читателей о книге "XSLT", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.