XPath 3

XPATH 3 ist die neueste Version der XML Pfadsprache, a Abfragesprache Zur Auswahl der Knoten in Xml Unterlagen. Es ersetzt XPath 1.0 und XPath 2.0.

XPath 3.0 wurde ein W3C -Empfehlung am 8. April 2014 während XPath 3.1 wurde ein W3C -Empfehlung am 21. März 2017.

Neue Funktionen in XPath 3.0

Verglichen mit XPath 2.0, XPath 3.0 fügt die folgenden neuen Funktionen hinzu:

Inline -Funktionsausdrücke
Anonyme Funktionen kann in einem erstellt werden Ausdruck Kontext. Zum Beispiel der Ausdruck function($a as xs:double, $b as xs:double) as xs:double { $a * $b } Erstellt eine Funktion, die das Produkt seiner beiden Argumente zurückgibt. Der Ausdruck collection()/(let $a := . return function() { $a }) Erstellt eine Folge von Funktionen, die jeder einen anderen Knoten aus einer Sammlung zurückgibt.
Dynamische Funktionsaufrufe
Funktionswerte können aufgerufen werden, ohne namentlich zu beziehen. Zum Beispiel, $f[2]("Hi there") holt das zweite Element aus der Sequenz $ fund ruft es als Funktion auf und übergibt die Zeichenfolge "Hi" als Argument.
Gewerkschaftstypen
Gewerkschaftstypenwie definiert in XML -Schema, kann in verwendet werden in Geben Sie Conversions ein und Funktion Geben Sie Unterschriften ein.
Namespace Literale
XML -Namespaces Kann mit Getregel verwiesen werden Uri Literale. Zum Beispiel der qualifizierte Name Math: pi kann erweitert werden auf Q{http://www.w3.org/2005/xpath-functions/math}piEinbetten des Namespace URI in das Präfix.
String -Verkettung Operator
Das neue || Operator kann verwendet werden für String-Verkettung: $ a || $ b ist äquivalent zu fn:concat($a, $b).
Mapping -Operator
Das neue ! Der Bediener führt eine einfache Zuordnung durch: E1! E2 bewertet E2 Für jedes Element in der Sequenz E1und verkettet die resultierenden Gegenstände. Dies ist vergleichbar mit dem Pfadoperator /, aber die ! Der Bediener führt weder eine doppelte Eliminierung noch eine Dokumentenordnung der Ergebnisse durch.

Neue Funktionen in XPath 3.1

XPath 3.1 fügt hauptsächlich Unterstützung für Array und Karte (Assoziatives Array) Datentypen. Diese Typen und ihre damit verbundenen Funktionalität sollen die Arbeit erleichtern JSON Daten.

Eine weitere Innovation ist der Pfeilbetreiber => für Funktionsketten. Zum Beispiel der XPath 2.0 -Ausdruck

enthält(oberer Fall(Substring-vor($in, '' ')), 'X') 

kann jetzt geschrieben werden

$in => Substring-vor('' ') => oberer Fall() => enthält('X') 

Verweise

  • "XML Path Language (XPath) 3.0". World Wide Web Konsortium. 8. April 2014.
  • "XML Path Language (XPath) 3.1". World Wide Web Konsortium. 21. März 2017.