Jump to content

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]("Hi there") извлекает второй элемент из последовательности $fи вызывает его как функцию, передавая строку "Hi there" как аргумент.
Типы союзов
Типы объединения , определенные в 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

contains(upper-case(substring-before($in, ' ')), 'X')

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

$in => substring-before(' ') => upper-case() => contains('X')
  • «Язык путей XML (XPath) 3.0» . Консорциум Всемирной паутины . 8 апреля 2014 г.
  • «Язык путей XML (XPath) 3.1» . Консорциум Всемирной паутины . 21 марта 2017 г.


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 22a69e8829a5231cb05a975781f0ed5d__1670795640
URL1:https://arc.ask3.ru/arc/aa/22/5d/22a69e8829a5231cb05a975781f0ed5d.html
Заголовок, (Title) документа по адресу, URL1:
XPath 3 - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)