xpath2 | node functions (Node-Funktionen)

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Funktionen > Referenz Funktionsbibliothek >

xpath2 | node functions (Node-Funktionen)

Die folgenden XPath2-Node-Funktionen stehen zur Verfügung:

 

lang

Die lang Funktion erhält ein String-Argument, das einen Sprachcode definiert (wie z.B. en). Abhängig davon, ob der Kontext-Node ein xml:lang Attribut mit einem Wert hat, der mit dem Argument der Funktion übereinstimmt, wird entweder true oder false ausgegeben.

 

FXxpath10

 

Beachten Sie in der Abbildung oben Folgendes:

 

1.Im Quellschema hat das Element Language ein xml:lang Attribut.
2.Language Nodes werden gefiltert, sodass nur jene Language Nodes mit dem xml:lang Wert en verarbeitet werden (der Filter ist in der equal Funktion definiert).
3.Der Language Node ist der Kontext-Node an der Stelle, an der im Ausgabedokument das Element en erstellt wird.
4.Die Ausgabe der lang Funktion (true oder false) wird an den en/@exists Attribut-Node der Ausgabe gesendet. Das Argument der Funktion wird durch die String-Konstante en bereitgestellt. Die lang Funktion überprüft anschließend, ob der Kontext-Node an dieser Stelle (dem Language Element) ein xml:lang Attribut mit dem Wert en (dem Argument der Funktion) hat. Wenn ja, so wird true zurückgegeben, andernfalls false.

 

local-name, name, namespace-uri

Die Funktionen local-name, name und namespace-uri geben den lokalen Namen, den Namen bzw. die Namespace URI des Input-Node zurück. So ist z.B. beim Node altova:Products der lokale Name Products, der Name altova:Products und die Namespace URI ist die URI des Namespace an den das Präfix altova: gebunden ist (z.B. http://www.altova.com/mapforce).

 

Jeder dieser drei Funktionen hat zwei Varianten:

 

ohne Argument: In diesem Fall wird die Funktion auf den Kontext-Node (ein Beispiel für einen Kontext-Node finden Sie im Beispiel oben zur lang Funktion) angewendet.
ein Argument, das ein Node sein muss: Die Funktion wird auf den angegebenen Node angewendet.

 

Das Ergebnis dieser insgesamt sechs Varianten ist ein String.

 

number

Konvertiert einen Input-String in eine Zahl. Konvertiert auch einen Booleschen Input in eine Zahl.

 

Die number-Funktion erhält einen Node als Input, zerlegt den Node in seine Bestandteile (d.h. extrahiert seinen Inhalt), konvertiert den Wert in eine Dezimalzahl und gibt den konvertierten Wert zurück. Die einzigen Typen, die in Zahlen konvertiert werden können, sind Boolesche Werte, Strings und andere numerische Typen. Nicht numerische Input-Wert (wie z.B. ein nicht numerischer String) führen zum Ergebnis NaN (Not a Number).

 

Die number-Funktion hat zwei Varianten:

 

ohne Argument: In diesem Fall wird die Funktion auf den Kontext-Node (ein Beispiel für einen Kontext-Node finden Sie im Beispiel oben zur lang Funktion) angewendet.
ein Argument, das ein Node sein muss: Die Funktion wird auf den angegebenen Node angewendet.

 


© 2019 Altova GmbH