Читайте также
Глава 7
Работа с XPath
В главе 4 было объяснено, как создавать образцы выбора, которые можно использовать в атрибуте match таких элементов, как <xsl:template>. Образцы являются подмножеством полного языка XPath, и в этой главе будет рассмотрена полная версия XPath.Выражения XPath
Типы данных XPath
В XPath существует четыре типа данных, а не только тип набора узлов, который должны возвращать образцы выбора:• наборы узлов;• логические значения;• числа;• строки.
ФРАГМЕНТЫ РЕЗУЛЬТИРУЮЩЕГО ДЕРЕВА
В XSLT 1.0 к типам данных XPath добавляются фрагменты
Наборы узлов XPath
Как следует из имени, набор узлов (node set) является просто совокупностью узлов. Набор узлов может включать несколько узлов, единственный узел или быть пустым. Поскольку главная задача XPath — определять место разделов документов, постольку возвращающие
Числа XPath
В XPath числа хранятся в формате чисел с плавающей точкой двойной точности. В соответствии с формальным определением, числа XPath должны храниться в формате 64-разрядных чисел с плавающей точкой двойной точности IEEE 754, и все числа хранятся как числа с плавающей точкой
Логические значения XPath
Логические (Boolean) выражения XPath вычисляются либо в истину (true), либо в ложь (false), и обычно они используются только в предикатах. Для чисел ноль принимается за ложь, другие значения — за истину. Пустая строка, "", также считается ложью, все остальные
Применение осей XPath
К этому моменту мы рассмотрели три части шагов расположения — ось, условие узла и предикат. Вы должны быть знакомы с этими элементами по проделанной нами работе с образцами выбора, но обратите внимание на ось в предыдущем примере — preceding-sibling. До сих пор
Сокращенный синтаксис XPath
Сокращения синтаксиса XPath могут быть весьма удобными. Ниже приведены правила:• self::node() может быть сокращено как .;• parent::node() может быть сокращено как ..;• child::childname может быть сокращено как childname;• attribute::childname может быть сокращено как
Проверка выражений XPath
В пакет Xalan входит удобная программа-пример, ApplyXPath.java, позволяющая применить выражение XPath к документу и посмотреть на результат, что очень помогает при тестировании. Для запуска этого примера вам нужно будет скомпилировать ApplyXPath.java в ApplyXPath.class при
XPath 2.0
XPath находится в стадии обновления, и в него включаются средства поддержки XSLT 2.0 (см. www.w3.org/TR/xpath20req). Задачи XPath 2.0 следующие:• упрощение операций с содержимым типов, поддерживаемых схемой XML;• упрощение операций со строковым содержимым;• поддержка соответствующих
Логические функции XPath
XPath также поддерживает следующий набор логических функций:• boolean(). Приводит аргумент к логическому значению;• false(). Возвращает false (ложь);• lang(). Проверяет, совпадает ли язык, установленный в атрибуте xml:lang, с языком, переданным в функцию;• not().
Глава 6. XPath-выражения
Шестая глава посвящена языку XPath, который используется в XSLT для выборок и вычислений на ХМL-документах. В этой главе рассматривается синтаксис и семантика XPath-выражений и паттернов XSLT и детально описываются функции базовой библиотеки