Глава 7 Работа с XPath
Глава 7
Работа с XPath
В главе 4 было объяснено, как создавать образцы выбора, которые можно использовать в атрибуте match таких элементов, как <xsl:template>. Образцы являются подмножеством полного языка XPath, и в этой главе будет рассмотрена полная версия XPath.
Выражения XPath применимы в XSLT не только в образцах выбора, но и во многих других приложениях: в атрибуте select элементов <xsl:apply-templates>, <xsl:value-of>, <xsl:for-each>, <xsl:param>, <xsl:variable>, <xsl:with-param>, <xsl:copy-of> и <xsl:sort>, в шаблонах значений атрибутов, в атрибуте test элементов <xsl:if> и <xsl:when>, атрибуте value элемента <xsl:number> и в предикатах образцов выбора. На этот счет не может быть никаких сомнений: пока вы не знаете XPath, вы не знаете XSLT, и вся эта глава посвящена созданию выражений XPath и работе с ними.
Фактически мы работали с выражениями XPath начиная с главы 1, в которой мы впервые познакомились с атрибутом select в элементах <xsl:apply-templates> и <xsl:value-of>:
<?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">
<TR>
<TD><xsl:value-of 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="MASS">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
<xsl:template match="RADIUS">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
<xsl:template match="DAY">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
<xsl:value-of select="@UNITS"/>
</xsl:template>
</xsl:stylesheet>
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Типы данных XPath
Типы данных XPath В XPath существует четыре типа данных, а не только тип набора узлов, который должны возвращать образцы выбора:• наборы узлов;• логические значения;• числа;• строки. ФРАГМЕНТЫ РЕЗУЛЬТИРУЮЩЕГО ДЕРЕВА В XSLT 1.0 к типам данных XPath добавляются фрагменты
Числа XPath
Числа XPath В XPath числа хранятся в формате чисел с плавающей точкой двойной точности. В соответствии с формальным определением, числа XPath должны храниться в формате 64-разрядных чисел с плавающей точкой двойной точности IEEE 754, и все числа хранятся как числа с плавающей точкой
Логические значения XPath
Логические значения XPath Логические (Boolean) выражения XPath вычисляются либо в истину (true), либо в ложь (false), и обычно они используются только в предикатах. Для чисел ноль принимается за ложь, другие значения — за истину. Пустая строка, "", также считается ложью, все остальные
Применение осей XPath
Применение осей XPath К этому моменту мы рассмотрели три части шагов расположения — ось, условие узла и предикат. Вы должны быть знакомы с этими элементами по проделанной нами работе с образцами выбора, но обратите внимание на ось в предыдущем примере — preceding-sibling. До сих пор
XPath 2.0
XPath 2.0 XPath находится в стадии обновления, и в него включаются средства поддержки XSLT 2.0 (см. www.w3.org/TR/xpath20req). Задачи XPath 2.0 следующие:• упрощение операций с содержимым типов, поддерживаемых схемой XML;• упрощение операций со строковым содержимым;• поддержка соответствующих
Глава 8 Работа с функциями XSLT и XPath
Глава 8 Работа с функциями XSLT и XPath В этой главе мы изучим доступные вам в XSLT функции — как встроенные в XSLT, так и функции XPath. Вы уже встречались с этими функциями выборочно (например, с id, generate-id, position, count и т.д). В этой главе мы рассмотрим их все.Некоторые функции входят в XSLT,
Логические функции XPath
Логические функции XPath XPath также поддерживает следующий набор логических функций:• boolean(). Приводит аргумент к логическому значению;• false(). Возвращает false (ложь);• lang(). Проверяет, совпадает ли язык, установленный в атрибуте xml:lang, с языком, переданным в функцию;• not().
Глава 6. XPath-выражения
Глава 6. XPath-выражения Шестая глава посвящена языку XPath, который используется в XSLT для выборок и вычислений на ХМL-документах. В этой главе рассматривается синтаксис и семантика XPath-выражений и паттернов XSLT и детально описываются функции базовой библиотеки
Изменения в XPath 2.0
Изменения в XPath 2.0 Разрабатываемая версия языка XPath, вследствие интеграции с XQuery, очевидно, претерпит серьезные изменения. Новая спецификация уже сейчас разбита на два документа: документ, описывающий модель данных и документ, описывающий функции и операторы. Поэтому на