» » » » Стивен Холзнер - 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 и использовать его на практике






<xsl:template match="PLANET">

 <TR>

  <TD><xsl:apply-templates select="NAME"/></TD>

  <TD><xsl:apply-templates select="MASS"/></TD>

  <TD><xsl:apply-templates select="RADIUS"/></TD>

  <TD><xsl:apply-templates select="DAY"/></TD>

 </TR>

</xsl:template>


<xsl:template match="NAME | MASS">

 <xsl:if test="self::NAME">

  <xsl:value-of select="."/>

 </xsl:if>

 <xsl:if test="self::MASS">

  <xsl:value-of select="."/>

  <xsl:text> </xsl:text>

  <xsl:value-of select="@UNITS"/>

 </xsl:if>

</xsl:template>

.

.

.

На этом мы завершаем рассмотрение новых осей XPath. Давайте перейдем к примерам.

Примеры путей расположения

Мы изучили достаточно теории путей расположения. Но, понятно, лучше всего осваивать этот материал на примерах, поэтому я привожу следующий список примеров путей расположения (сокращенные варианты рассматриваются после этого списка):

• child::PLANЕТ. Возвращает дочерние элементы <PLANЕТ> контекстного узла;

• child::text(). Возвращает все дочерние текстовые узлы контекстного узла;

• child::node(). Возвращает всех детей контекстного узла;

• attribute::UNIT. Возвращает атрибут UNIT контекстного узла;

• descendant::PLANET. Возвращает все элементы-потомки <PLANET> контекстного узла;

• ancestor::PLANET. Возвращает всех предков <PLANET> контекстного узла;

• ancestor-or-self::PLANET. Возвращает предков <PLANET> контекстного узла. Если контекстным узлом тоже является <PLANET>, возвращает также контекстный узел;

• descendant-or-self::PLANET. Возвращает элементы-потомки <PLANET> контекстного узла. Если контекстным узлом тоже является <PLANET>, возвращает также контекстный узел;

• self::PLANET. Возвращает контекстный узел, если им является элемент <PLANET>;

• child::PLANET/descendant::NAME. Возвращает элементы-потомки <NAME> дочерних элементов <PLANET> контекстного узла;

• child::*/child::PLANET. Возвращает всех внуков <PLANET> контекстного узла;

• /. Возвращает корневой узел;

• /descendant::PLANET. Возвращает все элементы <PLANET> в документе;

• /descendant::PLANET/child::NAME. Возвращает все элементы <NAME> с родителем <PLANET> в документе;

• child::PLANET[position()=3]. Возвращает третьего ребенка <PLANET> контекстного узла;

• child::PLANET[position()=last()]. Возвращает последнего ребенка <PLANET> контекстного узла;

• /descendant::PLANET[position() = 3]. Возвращает третий элемент <PLANET> в документе;

• child::PLANETS/child::PLANET[position()=4]/child::NAME[position()=3]. Возвращает третий элемент <NAME> четвертого элемента <PLANET> элемента <PLANETS>;

• child::PLANET[position()>3]. Возвращает всех детей <PLANET> контекстного узла после первых трех;

• preceding-sibling::NAME[position()=2]. Возвращает второй предыдущий элемент-брат <NAME> контекстного узла;

• child::*[self::NAME or self::MASS]. Возвращает детей <NAME> и <MASS> контекстного узла.

• child::*[self::NAME or self::MASS][position()=last()]. Возвращает последнего ребенка <NAME> или <MASS> контекстного узла.

Как видите, синтаксис некоторых выражений достаточно запутан, и набирать их также довольно долго. Но, как и для образцов, существует сокращенная форма синтаксиса XPath.

Сокращенный синтаксис XPath

Сокращения синтаксиса XPath могут быть весьма удобными. Ниже приведены правила:

• self::node() может быть сокращено как .;

• parent::node() может быть сокращено как ..;

• child::childname может быть сокращено как childname;

• attribute::childname может быть сокращено как @childname;

• /descendant-or-self::node()/ может быть сокращено как //.

Например, путь расположения .//PLANET — сокращение для self::node()/descendant-or-self::node()/child::PLANET. Можно также сократить выражение предиката [position()=3] как [3], [position()=last()] как [last()] и т.д. Работать с путями расположения XPath при помощи сокращенного синтаксиса значительно проще. В следующем списке перечислен ряд примеров путей расположения с использованием сокращенного синтаксиса:

• PLANET возвращает дочерние элементы <PLANET> контекстного узла;

• * возвращает все дочерние элементы контекстного узла;

• text() возвращает все дочерние текстовые узлы контекстного узла;

• @UNITS возвращает атрибут UNITS контекстного узла;

• @* возвращает все атрибуты контекстного узла;

• PLANET[3] возвращает третьего ребенка <PLANET> контекстного узла;

• PLANET[last()] возвращает последнего ребенка <PLANET> контекстного узла;

• */PLANET возвращает всех внуков <PLANET> контекстного узла;

• /PLANETS/PLANET[3]/NAME[2] возвращает второй элемент <NAME> третьего элемента <PLANET> элемента <PLANETS>;

• //PLANET возвращает всех потомков <PLANET> корня документа;

• PLANETS//PLANET возвращает элементы-потомки <PLANET> дочерних элементов <PLANETS> контекстного узла;

• //PLANET/NAME возвращает все элементы <NAME>, у которых есть родитель <PLANET>;

• . возвращает сам контекстный узел;

• .//PLANET возвращает элементы-потомки <PLANET> контекстного узла;

• .. возвращает родителя контекстного узла;

• ../@UNITS возвращает атрибут UNITS родителя контекстного узла;

• .//.. возвращает всех родителей потомка контекстного узла и родителя контекстного узла;

• PLANET[NAME] возвращает детей <PLANET> контекстного узла, у которых есть дети <NAME>;

• PLANET[NAME="Venus"] возвращает детей <PLANET> контекстного узла, у которых есть дети <NAME> с текстом, равным «Venus»;

• PLANET[@UNITS="days"] возвращает всех детей <PLANET> контекстного узла, у которых есть атрибут UNITS со значением «days»;

• PLANET[6][@UNITS="days"] возвращает шестого ребенка <PLANET> контекстного узла, только если у этого ребенка есть атрибут UNITS со значением «days». Можно также написать PLANET[@UNITS="days"][6];

• PLANET[@COLOR and @UNITS] возвращает всех детей <PLANET> контекстного узла, у которых есть атрибут COLOR и атрибут UNITS;

• "//PLANET[not(.=preceding::PLANET)]" выбирает все элементы <PLANET>, значение которых отлично от значения любого предшествующего элемента <PLANET>;

• *[1][self::NAME] выбирает любой элемент <NAME>, который является первым ребенком своего родителя;

• *[position() &lt; 5][@UNITS] выбирает первых пятерых детей контекстного узла, у которых есть атрибут UNITS.

Проверка выражений XPath

В пакет Xalan входит удобная программа-пример, ApplyXPath.java, позволяющая применить выражение XPath к документу и посмотреть на результат, что очень помогает при тестировании. Для запуска этого примера вам нужно будет скомпилировать ApplyXPath.java в ApplyXPath.class при помощи утилиты java.exe, входящей в поставку Java.

В качестве примера я применю выражение XPath «PLANET/NAME» к planets.xml при помощи ApplyXPath.class. Ниже показан результат, отображающий все элементы <NAME>, дочерние по отношению к элементам <PLANET> (теги <output> добавлены программой ApplyXPath):

%java ApplyXPath planets.xml PLANET/NAME

<output>

 <NAME>Mercury</NAME><NAME>Venus</NAME><NAME>Earth</NAME>

</output>

XPath 2.0

XPath находится в стадии обновления, и в него включаются средства поддержки XSLT 2.0 (см. www.w3.org/TR/xpath20req). Задачи XPath 2.0 следующие:

• упрощение операций с содержимым типов, поддерживаемых схемой XML;

• упрощение операций со строковым содержимым;

• поддержка соответствующих стандартов XML;

• улучшение удобства использования;

• улучшение функциональной совместимости;

• улучшение поддержки международных языковых средств;

• сохранение обратной совместимости;

• повышенная эффективность процессора.

Следующий список дает обзор требований XPath. Главные пункты — поддержка схемы XML и регулярных выражений, что дает средства работы со строками и поиска в строках. (Дополнительную информацию о регулярных выражениях можно почерпнуть по адресу http://www.perldoc.com/perl5.6/pod/perlre.html.) В соответствии с W3C, XPath 2.0:

• должен поддерживать архитектуру XML W3C, хорошо взаимодействуя с другими стандартами в семействе XML;


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

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

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


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

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

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

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

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

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

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