XPath/XQuery-Funktionen: String

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

Startseite >  Anhänge > Informationen zu den Prozessoren > XSLT- und XPath/XQuery-Funktionen > Altova-Erweiterungsfunktionen >

XPath/XQuery-Funktionen: String

Die folgenden XPath/XQuey-Erweiterungsfunktionen für Strings werden in der aktuellen Version Ihres Altova-Produkts unterstützt und bieten Zusatzfunktionalitäten für die Verarbeitung von Daten. Die Funktionen in diesem Abschnitt können mit dem XPath 3.0- und XQuery 3.0-Prozessor von Altova verwendet werden. Sie stehen im Zusammenhang mit XPath/XQuery zur Verfügung.

 

Anmerkung zur Benennung von Funktionen und zur Anwendbarkeit der Sprache

Altova-Erweiterungsfunktionen können in XPath/XQuery-Ausdrücken verwendet werden. Dadurch stehen neben den Funktionen in der Standardbibliothek der XPath-, XQuery- und XSLT-Funktionen zusätzliche Funktionen zur Verfügung. Die Altova-Erweiterungsfunktionen befinden sich im Altova-Erweiterungsfunktions-Namespace, http://www.altova.com/xslt-extensions und sind in diesem Abschnitt mit dem Präfix altova:, das als an diesen Namespace gebunden angenommen wird, gekennzeichnet. Beachten Sie, dass manche Funktionen in zukünftigen Versionen Ihres Produkts eventuell nicht mehr unterstützt werden oder dass sich das Verhalten einzelner Funktionen ändern kann. Um zu sehen, welche Altova-Erweiterungsfunktionen unterstützt werden, lesen Sie bitte die Dokumentation zur jeweiligen Release.

 

XPath-Funktionen (in XPath-Ausdrücken in XSLT verwendet):

XP1 XP2 XP3.1

XSLT-Funktionen (in XPath-Ausdrücken in XSLT verwendet):

Xslt1 XSLT2 XSLT3

XQuery-Funktionen (in XQuery-Ausdrücken in XQuery verwendet):

XQ1 XQ3.1

 

Click to expand/collapsecamel-case [altova:]

altova:camel-case(InputString als xs:string) als xs:string     XP3.1 XQ3.1

Gibt den Input-String InputString in CamelCase zurück. Der String wird mit Hilfe der Regular Expression '\s' (welches ein Kürzel für das Leerzeichen ist) analysiert. Das erste Zeichen nach einem Leerzeichen oder einer Sequenz aufeinander folgender Leerzeichen, das kein Leerzeichen ist, wird mit einem Großbuchstaben geschrieben. Das erste Zeichen im Ausgabestring wird mit einem Großbuchstaben geschrieben.

altova:camel-case("max") gibt Max zurück
altova:camel-case("max max") gibt Max Max zurück
altova:camel-case("file01.xml") gibt File01.xml zurück
altova:camel-case("file01.xml file02.xml") gibt File01.xml File02.xml zurück
altova:camel-case("file01.xml   file02.xml") gibt File01.xml   File02.xml zurück
altova:camel-case("file01.xml -file02.xml") gibt File01.xml -file02.xml zurück

 

altova:camel-case(InputString als xs:stringSplitChars als xs:stringIsRegex als xs:boolean) als xs:string     XP3.1 XQ3.1

Konvertiert den Input-String InputString in CamelCase, indem anhand von SplitChars festgelegt wird, welche(s) Zeichen die nächste Konvertierung in Großbuchstaben auslöst. SplitChars wird als Regular Expression verwendet, wenn IsRegex = true() oder als einfache Zeichen, wenn IsRegex = false(). Das erste Zeichen im Ausgabestring wird mit einem Großbuchstaben geschrieben.

altova:camel-case("setname getname", "set|get", true()) gibt setName getName zurück
altova:camel-case("altova\documents\testcases", "\", false()) gibt Altova\Documents\Testcases zurück

 

 

Click to expand/collapsechar [altova:]

altova:char(Position as xs:integer) als xs:string     XP3.1 XQ3.1

Gibt einen String zurück, der das Zeichen an der durch das Argument Position definierten Position enthält. Dieses Zeichen wird durch Konvertierung des Werts des Kontextelements in xs:string ermittelt. Der Ergebnisstring ist leer, wenn an dem durch das Position Argument gelieferten Index kein Zeichen vorhanden ist.

Wenn das Kontextelement 1234ABCD lautet:

 

altova:char(2) gibt 2 zurück
altova:char(5) gibt A zurück
altova:char(9) gibt den leeren String zurück.
altova:char(-2) gibt den leeren String zurück.

 

altova:char(InputString als xs:stringPosition als xs:integer) als xs:string     XP3.1 XQ3.1

Gibt einen String zurück, der das Zeichen enthält, das sich in dem als InputString Argument gelieferten String an der durch das Argument Position definierten Position befindet. Der Ergebnisstring ist leer, wenn an dem durch das Position Argument gelieferten Index kein Zeichen vorhanden ist.

altova:char("2014-01-15", 5) gibt - zurück
altova:char("USA", 1) gibt U zurück
altova:char("USA", 1) gibt den leeren String zurück.
altova:char("USA", -2) gibt den leeren String zurück.

 

 

Click to expand/collapsecreate-hash-from-string[altova:]

altova:create-hash-from-string(InputString als xs:string) als xs:string     XP2 XQ1 XP3.1 XQ3.1

altova:create-hash-from-string(InputString als xs:string, HashAlgo als xs:string) als xs:string     XP2 XQ1 XP3.1 XQ3.1

Generiert anhand von InputString mit Hilfe des durch das Argument HashAlgo definierten Hash-Algorithmus einen Hash-String. Es können die folgenden Hash-Algorithmen definiert werden (in Groß- oder Kleinbuchstaben): MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512. Wenn das zweite Argument nicht definiert ist (siehe erste Signatur oben), wird der Hash-Algorithmus SHA-256 verwendet.

altova:create-hash-from-string('abc') gibt einen Hash-String zurück, der mit Hilfe des Hash-Algorithmus SHA-256 generiert wurde.
altova:create-hash-from-string('abc', 'md5') gibt einen Hash-String zurück, der mit Hilfe des Hash-Algorithmus MD5 generiert wurde.
altova:create-hash-from-string('abc', 'MD5') gibt einen Hash-String zurück, der mit Hilfe des Hash-Algorithmus MD5 generiert wurde.

 

 

Click to expand/collapsefirst-chars [altova:]

altova:first-chars(X-Number as xs:integer) als xs:string     XP3.1 XQ3.1

Gibt einen String zurück, der die ersten x Zeichen (bezeichnet durch X-Number) des String enthält, der durch Konvertierung des Werts des Kontextelements in xs:string erzeugt wird.

Wenn das Kontextelement 1234ABCD lautet:

 

altova:first-chars(2) gibt 12 zurück
altova:first-chars(5) gibt 1234A zurück
altova:first-chars(9) gibt 1234ABCD zurück

 

altova:first-chars(InputString als xs:stringX-Number als xs:integer) als xs:string     XP3.1 XQ3.1

Gibt einen String zurück, der die ersten x Zeichen (bezeichnet durch X-Number) des String enthält, das als das Argument InputString angegeben ist.

altova:first-chars("2014-01-15", 5) gibt 2014- zurück
altova:first-chars("USA", 1) gibt U zurück

 

 

Click to expand/collapseformat-string [altova:]

altova:format-string(InputString als xs:stringFormatSequence als item()*) als xs:string     XP3.1 XQ3.1

Der Input String (erstes Argument) enthält Positionsparameter (%1, %2, usw.). Jeder Parameter wird durch das String-Element ersetzt, das sich in der (als zweites Argument bereitgestellten) Formatsequenz an der entsprechenden Position befindet. Daher ersetzt des erste Element in der Formatsequenz den Positionsparameter %1, das zweite den Positionsparameter %2, usw. Die Funktion gibt diesen formatierten String zurück, der die Ersetzungen enthält. Wenn für einen Positionsparameter kein String existiert, wird der Positionsparameter selbst zurückgegeben. Dies kommt vor, wenn der Index eines Positionsparameters größer als die Anzahl der Elemente in der Formatsequenz ist.

altova:format-string('Hello %1, %2, %3', ('Jane','John','Joe')) gibt "Hello Jane, John, Joe" zurück.
altova:format-string('Hello %1, %2, %3', ('Jane','John','Joe''Tom')) gibt "Hello Jane, John, Joe" zurück.
altova:format-string('Hello %1, %2, %4', ('Jane','John','Joe''Tom')) gibt "Hello Jane, John, Tom" zurück.
altova:format-string('Hello %1, %2, %4', ('Jane','John','Joe')) gibt "Hello Jane, John, %4" zurück.

 

 

Click to expand/collapselast-chars [altova:]

altova:last-chars(X-Number als xs:integer) als xs:string     XP3.1 XQ3.1

Gibt einen String zurück, der die letzten x Zeichen (bezeichnet durch X-Number) des String enthält, der durch Konvertierung des Werts des Kontextelements in xs:string erzeugt wird.

Wenn das Kontextelement 1234ABCD lautet:

 

altova:last-chars(2) gibt CD zurück
altova:last-chars(5) gibt 4ABCD zurück
altova:last-chars(9) gibt 1234ABCD zurück

 

altova:last-chars(InputString als xs:stringX-Number als xs:integer) als xs:string     XP3.1 XQ3.1

 

Gibt einen String zurück, der die letzten x Zeichen (bezeichnet durch X-Number) des String enthält, das als das Argument InputString angegeben ist.

altova:last-chars("2014-01-15", 5) gibt 01-15- zurück
altova:last-chars("USA", 10) gibt USA zurück

 

 

Click to expand/collapsepad-string-left [altova:]

altova:pad-string-left(StringToPad als xs:string, Repeats als xs:integer, PadCharacter als xs:string) als xs:string     XP3.1 XQ3.1

Das Argument PadCharacter ist ein einzelnes Zeichen. Es wird links vom String als Auffüllzeichen eingefügt, um die Anzahl der Zeichen in StringToPad zu erhöhen, damit diese Anzahl dem Ganzzahlwert des Arguments StringLength entspricht. Das Argument StringLength kann jeden beliebigen (positiven oder negativen) Ganzzahlwert haben, Auffüllzeichen werden aber nur verwendet, wenn der Wert von StringLength größer als die Anzahl der Zeichen in StringToPad ist. Wenn StringToPad mehr Zeichen als der Wert von StringLength hat, bleibt StringToPad unverändert.

altova:pad-string-left('AP', 1, 'Z') gibt 'AP' zurück
altova:pad-string-left('AP', 2, 'Z') gibt 'AP' zurück
altova:pad-string-left('AP', 3, 'Z') gibt 'ZAP' zurück
altova:pad-string-left('AP', 4, 'Z') gibt 'ZZAP' zurück
altova:pad-string-left('AP', -3, 'Z') gibt 'AP' zurück
altova:pad-string-left('AP', 3, 'YZ')gibt einen Fehler zurück, dass das Auffüllzeichen zu lang ist

 

 

Click to expand/collapsepad-string-right [altova:]

altova:pad-string-right(StringToPad als xs:string, Repeats als xs:integer, PadCharacter als xs:string) als xs:string     XP3.1 XQ3.1

Das Argument PadCharacter ist ein einzelnes Zeichen. Es wird rechts vom String als Auffüllzeichen eingefügt, um die Anzahl der Zeichen in StringToPad zu erhöhen, damit diese Anzahl dem Ganzzahlwert des Arguments StringLength entspricht. Das Argument StringLength kann jeden beliebigen (positiven oder negativen) Ganzzahlwert haben, Auffüllzeichen werden aber nur verwendet, wenn der Wert von StringLength größer als die Anzahl der Zeichen in StringToPad ist. Wenn StringToPad mehr Zeichen als der Wert von StringLength hat, bleibt StringToPad unverändert.

altova:pad-string-right('AP', 1, 'Z') gibt 'AP' zurück
altova:pad-string-right('AP', 2, 'Z') gibt 'AP' zurück
altova:pad-string-right('AP', 3, 'Z') gibt 'ZAP' zurück
altova:pad-string-right('AP', 4, 'Z') gibt 'ZZAP' zurück
altova:pad-string-right('AP', -3, 'Z') gibt 'AP' zurück
altova:pad-string-right('AP', 3, 'YZ')gibt einen Fehler zurück, dass das Auffüllzeichen zu lang ist

 

 

Click to expand/collapserepeat-string [altova:]

altova:repeat-string(InputString als xs:string, Repeats als xs:integer) als xs:string     XP2 XQ1 XP3.1 XQ3.1

Generiert einen String, der sich zusammensetzt aus dem ersten InputString-Argument, das die Anzahl der Repeats wiederholt wird.

 

altova:repeat-string("Altova #", 3) gibt "Altova #Altova #Altova #" zurück

 

 

Click to expand/collapsesubstring-after-last [altova:]

altova:substring-after-last(MainString als xs:string, CheckString als xs:string) als xs:string     XP3.1 XQ3.1

Falls in MainString CheckString gefunden wird, so wird der Substring zurückgegeben, der in MainString nach CheckString steht. Falls CheckString in MainString nicht gefunden wird, so wird der leere String zurückgegeben. Wenn CheckString ein leerer String ist, so wird der gesamte MainString zurückgegeben. Falls CheckString mehrmals in MainString, vorkommt, so wird der Substring nach der letzten Instanz von CheckString zurückgegeben.

altova:substring-after-last('ABCDEFGH', 'B') gibt 'CDEFGH' zurück
altova:substring-after-last('ABCDEFGH', 'BC') gibt 'DEFGH'zurück
altova:substring-after-last('ABCDEFGH', 'BD') gibt '' zurück
altova:substring-after-last('ABCDEFGH', 'Z') gibt '' zurück
altova:substring-after-last('ABCDEFGH', '') gibt 'ABCDEFGH' zurück
altova:substring-after-last('ABCD-ABCD', 'B') gibt 'CD' zurück
altova:substring-after-last('ABCD-ABCD-ABCD', 'BCD') gibt '' zurück

 

 

Click to expand/collapsesubstring-before-last [altova:]

altova:substring-before-last(MainString as xs:string, CheckString as xs:string) as xs:string     XP3.1 XQ3.1

Falls in MainString CheckString gefunden wird, so wird der Substring zurückgegeben, der in MainString vor CheckString steht. Falls CheckString in MainString nicht gefunden wird, so wird der leere String zurückgegeben. Wenn CheckString ein leerer String ist, so wird der gesamte MainString zurückgegeben. Falls CheckString mehrmals in MainString, vorkommt, so wird der Substring vor der letzten Instanz von CheckString zurückgegeben.

altova:substring-before-last('ABCDEFGH', 'B') gibt 'A' zurück
altova:substring-before-last('ABCDEFGH', 'BC') gibt 'A' zurück
altova:substring-before-last('ABCDEFGH', 'BD') gibt '' zurück
altova:substring-before-last('ABCDEFGH', 'Z') gibt '' zurück
altova:substring-before-last('ABCDEFGH', '') gibt '' zurück
altova:substring-before-last('ABCD-ABCD', 'B') gibt 'ABCD-A' zurück
altova:substring-before-last('ABCD-ABCD-ABCD', 'ABCD') gibt 'ABCD-ABCD-' zurück

 

 

Click to expand/collapsesubstring-pos [altova:]

altova:substring-pos(StringToCheck als xs:stringStringToFind als xs:string) als xs:integer     XP3.1 XQ3.1

Gibt die Zeichenposition der ersten Instanz von StringToFind im String StringToCheck zurück. Die Zeichenposition wird in Form einer Ganzzahl angegeben. Das erste Zeichen von StringToCheck hat die Position 1. Wenn StringToFind in StringToCheck nicht vorkommt, wird die Ganzzahl 0 zurückgegeben. Um den String auf eine zweite oder eine weiter hinten folgende Instanz von StringToCheck zu überprüfen, verwenden Sie die nächste Signatur dieser Funktion.

altova:substring-pos('Altova', 'to') gibt 3 zurück
altova:substring-pos('Altova', 'tov') gibt 3 zurück
altova:substring-pos('Altova', 'tv') gibt 0 zurück
altova:substring-pos('AltovaAltova', 'to') gibt 3 zurück

 

altova:substring-pos(StringToCheck als xs:stringStringToFind als xs:stringInteger als xs:integer) als xs:integer     XP3.1 XQ3.1

Gibt die Zeichenposition von StringToFind im String StringToCheck zurück. Die Suche nach StringToFind beginnt an der durch das Argument Integer angegebenen Zeichenposition; der Zeichen-Substring vor dieser Position wird nicht durchsucht. Die zurückgegebene Ganzzahl gibt jedoch die Position des gefundenen String innerhalb des gesamten String StringToCheck an. Diese Signatur dient dazu, die zweite oder eine weiter hinten folgende Position eines String zu finden, der mehrmals in StringToCheck vorkommt. Wenn StringToFind in StringToCheck nicht vorkommt, wird die Ganzzahl 0 zurückgegeben.

altova:substring-pos('Altova', 'to', 1) gibt 3 zurück
altova:substring-pos('Altova', 'to', 3) gibt 3 zurück
altova:substring-pos('Altova', 'to', 4) gibt 0 zurück
altova:substring-pos('Altova-Altova', 'to', 0) gibt 3 zurück
altova:substring-pos('Altova-Altova', 'to', 4) gibt 10 zurück

 

 

Click to expand/collapsetrim-string [altova:]

altova:trim-string(InputString als xs:string) als xs:string     XP3.1 XQ3.1

Diese Funktion verwendet ein xs:string Argument, entfernt alle voran- und nachgestellten Leerzeichen und gibt einen "getrimmten" xs:string zurück.

altova:trim-string("   Hello World   ")) gibt "Hello World" zurück
altova:trim-string("Hello World   ")) gibt "Hello World" zurück
altova:trim-string("   Hello World")) gibt "Hello World" zurück
altova:trim-string("Hello World")) gibt "Hello World" zurück
altova:trim-string("Hello   World")) gibt "Hello   World" zurück

 

 

Click to expand/collapsetrim-string-left [altova:]

altova:trim-string-left(InputString als xs:string) als xs:string     XP3.1 XQ3.1

Diese Funktion verwendet ein xs:string Argument, entfernt alle vorangestellten Leerzeichen und gibt einen "links getrimmten" xs:string zurück.

altova:trim-string-left("   Hello World   ")) gibt "Hello World   " zurück
altova:trim-string-left("Hello World   ")) gibt "Hello World   " zurück
altova:trim-string-left("   Hello World")) gibt "Hello World" zurück
altova:trim-string-left("Hello World")) gibt "Hello World" zurück
altova:trim-string-left("Hello   World")) gibt "Hello   World" zurück

 

 

Click to expand/collapsetrim-string-right [altova:]

altova:trim-string-right(InputString als xs:string) als xs:string     XP3.1 XQ3.1

Diese Funktion verwendet ein xs:string Argument, entfernt alle nachgestellten Leerzeichen und gibt einen "rechts getrimmten" xs:string zurück.

altova:trim-string-right("   Hello World   ")) gibt "   Hello World" zurück
altova:trim-string-right("Hello World   ")) gibt "Hello World" zurück
altova:trim-string-right("   Hello World")) gibt "   Hello World" zurück
altova:trim-string-right("Hello World")) gibt "Hello World" zurück
altova:trim-string-right("Hello   World")) gibt "Hello   World" zurück

 

 


© 2019 Altova GmbH