XPath 3

редактировать

XPath 3 - это последняя версия XML Path Language, языка запросов для выбора узлов в XML документы. Он заменяет XPath 1.0 и XPath 2.0.

XPath 3.0 стал Рекомендацией W3C 8 апреля 2014 года, а XPath 3.1 стал Рекомендация W3C от 21 марта 2017 г.

Новые функции в XPath 3.0

По сравнению с XPath 2.0 в XPath 3.0 добавлены следующие новые функции:

Встроенные выражения функций
Анонимные функции могут быть созданы в контексте выражения . Например, выражение function ($ a as xs: double, $ b as xs: double) as xs: double {$ a * $ b}создает функцию, которая возвращает произведение двух своих аргументов. Выражение collection () / (let $ a: =. Return function () {$ a})создает последовательность функций, каждая из которых возвращает отдельный узел из коллекции.
Вызов динамических функций
Значения функций могут вызываться без ссылки по имени. Например, $ f [2] («Привет!»)выбирает второй элемент из последовательности $ fи вызывает его как функцию, передавая строку «Привет там "в качестве аргумента.
Типы объединения
Типы объединения, как определено в XML-схеме, могут использоваться в преобразованиях типов и функция сигнатуры типов.
литералы пространств имен
Пространства имен XML можно ссылаться, используя заключенные в скобки URI литералы. Например, полное имя math: piможет быть расширено до Q {http://www.w3.org/2005/xpath-functions/math} pi, включая пространство имен URI внутри префикса.
Оператор конкатенации строк
Новый оператор || может использоваться для конкатенации строк : $ a || $ bэквивалентно fn: concat ($ a, $ b).
Оператор сопоставления
Новый оператор !выполняет простое сопоставление: E1 ! E2оценивает E2для каждого элемента в последовательности E1и объединяет полученные элементы. Это сравнимо с оператором пути /, но оператор !не выполняет удаление дубликатов и упорядочение результатов в документах.
Новые функции в XPath 3.1

XPath 3.1 в основном добавляет поддержку типов данных массив и карта (ассоциативный массив ). Эти типы и связанные с ними функции предназначены для облегчения работы с данными JSON.

Еще одно нововведение - оператор стрелки =>для объединения функций. Например, выражение XPath 2.0

содержит (верхний регистр (substring-before ($ in, '')), 'X')

теперь может быть записано

$ in =>substring-before ( '') =>верхний регистр () =>содержит ('X')
Ссылки

.

Последняя правка сделана 2021-06-22 06:44:22
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте