XPath/XQuery-Funktionen: Numerische

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

Startseite >  Anhänge > XSLT- und XPath/XQuery-Funktionen > Altova-Erweiterungsfunktionen >

XPath/XQuery-Funktionen: Numerische

Die numerischen Erweiterungsfunktionen von Altova können in XPath- und XQuery-Ausdrücken verwendet werden und stellen zusätzliche Funktionen für die Verarbeitung von Daten 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.

Um Altova-Erweiterungsfunktionen von Funktionen in der Standardbibliothek zu unterscheiden, wurde Altova-Erweiterungsfunktionen in dieser Dokumentation das Suffix [altova:] angehängt, z.B. add-years-to-date [altova:].
Wenn Sie Altova-Erweiterungsfunktionen jedoch in Ihren XPath/XQuery-Ausdrücken verwenden, müssen Sie die Funktion genau wie jede andere XPath/XQuery-Standardfunktion ohne Präfix oder Suffix verwenden. Verwenden Sie eine Altova-Erweiterungsfunktion folgendermaßen: add-years-to-date(xs:date("2014-01-15"), 10).

 

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

 

 

Funktionen zur automatischen Nummerierung

Click to expand/collapsegenerate-auto-number [altova:]

generate-auto-number(ID als xs:string, StartsWith als xs:double, Increment als xs:double, ResetOnChange als xs:string) als xs:integer     XP1 XP2 XQ1 XP3.1 XQ3.1

Generiert jedes Mal, wenn die Funktion aufgerufen wird, eine Zahl. Die erste Zahl, die beim ersten Aufruf der Funktion generiert wird, wird durch das Argument StartsWith definiert. Bei jedem erneuten Aufruf der Funktion wird eine neue Zahl generiert. Diese Zahl wird durch den im Argument Increment definierten Wert anhand der zuvor generierten Zahl inkrementiert. Auf diese Art erstellt die Funktion generate-auto-number einen Zähler, dessen Name durch das Argument ID definiert wird und der jedes Mal, wenn die Funktion aufgerufen wird, inkrementiert wird. Wenn sich der Wert des Arguments ResetOnChange seit dem vorherigen Funktionsaufruf geändert hat, so wird der Wert der zu generierenden Zahl auf den Wert StartsWith zurückgesetzt. Die Automatische Nummerierung kann auch mit der Funktion reset-auto-number zurückgesetzt werden.

generate-auto-number("ChapterNumber", 1, 1, "SomeString") gibt bei jedem Aufruf der Funktion eine einzige Zahl beginnend mit 1 zurück, die bei jedem Aufruf der Funktion um 1 inkrementiert wird. Solange das vierte Argument in jedem anschließenden Aufruf "SomeString" bleibt, wird die Inkrementierung fortgesetzt. Wenn sich der Wert des vierten Arguments ändert, wird der Zähler (namens ChapterNumber) auf 1 zurückgesetzt. Der Wert von ChapterNumber kann auch folgendermaßen durch Aufruf der Funktion reset-auto-number zurückgesetzt werden: reset-auto-number("ChapterNumber").

 

 

Click to expand/collapsereset-auto-number [altova:]

reset-auto-number(ID als xs:string)     XP1 XP2 XQ1 XP3.1 XQ3.1

Diese Funktion setzt die Zahl des im ID-Argument angegebenen Zählers zur automatischen Nummerierung zurück. Die Zahl wird auf die Zahl zurückgesetzt, die durch das Argument StartsWith der Funktion generate-auto-number, die den im ID-Argument genannten Zähler erstellt hat, definiert ist

reset-auto-number("ChapterNumber") setzt die Zahl des Zählers zur automatischen Nummerierung (ChapterNumber), der durch die Funktion generate-auto-number erstellt wurde, zurück. Die Zahl wird auf den Wert des Arguments StartsWith der Funktion generate-auto-number, die ChapterNumber erstellt hat, zurückgesetzt.

 

 

[ Nach oben ]

 

Numerische Funktionen

Click to expand/collapsehex-string-to-integer [altova:]

hex-string-to-integer(HexString als xs:string) als xs:integer     XP3.1 XQ3.1

Verwendet ein String-Argument, das das Base-16-Äquivalent einer Ganzzahl im Dezimalsystem (Base-10) ist, und gibt die dezimale Ganzzahl zurück.

hex-string-to-integer('1') gibt 1 zurück
hex-string-to-integer('9') gibt 9 zurück
hex-string-to-integer('A') gibt 10 zurück
hex-string-to-integer('B') gibt 11 zurück
hex-string-to-integer('F') gibt 15 zurück
hex-string-to-integer('G') gibt einen Fehler zurück
hex-string-to-integer('10') gibt 16 zurück
hex-string-to-integer('01') gibt 1 zurück
hex-string-to-integer('20') gibt 32 zurück
hex-string-to-integer('21') gibt 33 zurück
hex-string-to-integer('5A') gibt 90 zurück
hex-string-to-integer('USA') gibt einen Fehler zurück

 

 

Click to expand/collapseinteger-to-hex-string [altova:]

integer-to-hex-string(Integer as xs:integer) as xs:string     XP3.1 XQ3.1

Verwendet ein Ganzzahlargument und gibt das Base-16-Äquivalent als String zurück.

integer-to-hex-string(1) gibt 1 zurück
integer-to-hex-string(9) gibt '9' zurück
integer-to-hex-string(10) gibt 'A' zurück
integer-to-hex-string(11) gibt 'B' zurück
integer-to-hex-string(15) gibt 'F' zurück
integer-to-hex-string(16) gibt '10' zurück
integer-to-hex-string(32) gibt '20' zurück
integer-to-hex-string(33) gibt '21' zurück
integer-to-hex-string(90) gibt '5A' zurück

 

 

[ Nach oben ]

 

Funktionen zur Formatierung von Zahlen

Click to expand/collapsemt-format-number [altova:]

mt-format-number(Number als xs:numericPictureString als xs:string) als xs:string     XP3.1 XQ3.1

Erhält als erstes Argument eine Zahl, formatiert diese entsprechend dem zweiten Argument (PictureString) und gibt die formatierte Zahl als String zurück. Diese Funktion eignet sich, um schwer lesbare Zahlen in einem lesbaren Format zu formatieren. Der Musterstring kann auch Zeichen wie z.B. Währungssymbole enthalten und kann auch verwendet werden, um Zeichen in die formatierte Ausgabe einzufügen. Wenn an einer Ziffernstelle, an der in der Input-Zahl keine Ziffer vorhanden ist, eine Null eingefügt werden soll, so verwenden Sie im Musterstring an dieser Ziffernstelle eine Null (siehe Beispiele unten). Wenn nicht zwingend eine Null (oder ein anderes Zeichen) eingefügt werden soll, verwenden Sie die Raute (#).

 

Ziffern vor dem Dezimaltrennzeichen werden nie gekürzt. Der Dezimalteil einer Zahl (rechts vom Dezimaltrennzeichen) sowie die Stelle für die Währung (erste Stelle links vom Dezimaltrennzeichen) werden abgerundet, wenn der Musterstring des Dezimalteils kürzer als die Anzahl der Dezimalstellen in der Input-Zahl sind.

 

Anmerkung: Das Gruppenstrennzeichen und das Dezimaltrennzeichen in der formatierten Ausgabe auf dem Mobilgerät entsprechen den Zeichen, die in der auf dem Mobilgerät eingestellten Sprache verwendet werden.

mt-format-number(12.3, '$#0.00') gibt $12.30 zurück
mt-format-number(12.3, '$00.00') gibt $12.30 zurück
mt-format-number(12.3, '$0,000.00') gibt $0,012.30 zurück
mt-format-number(12.3, '$#,000.00') gibt $012.30 zurück
mt-format-number(1234.5, '$#,##0.00') gibt $1,234.50 zurück
mt-format-number(1234.5, '$#0.00') gibt $1234.50 zurück
mt-format-number(123.4, '$0') gibt $123 zurück
mt-format-number(1234.5, '$0') gibt $1235  zurück
mt-format-number(1234.54, '$0.0') gibt $1234.5 zurück
mt-format-number(1234.55, '$0.0') gibt $1234.6  zurück

 

 

Click to expand/collapsegenerate-auto-number [altova:]

generate-auto-number(ID als xs:string, StartsWith als xs:double, Increment als xs:double, ResetOnChange als xs:string) als xs:integer     XP1 XP2 XQ1 XP3.1 XQ3.1

Generiert jedes Mal, wenn die Funktion aufgerufen wird, eine Zahl. Die erste Zahl, die beim ersten Aufruf der Funktion generiert wird, wird durch das Argument StartsWith definiert. Bei jedem erneuten Aufruf der Funktion wird eine neue Zahl generiert. Diese Zahl wird durch den im Argument Increment definierten Wert anhand der zuvor generierten Zahl inkrementiert. Auf diese Art erstellt die Funktion generate-auto-number einen Zähler, dessen Name durch das Argument ID definiert wird und der jedes Mal, wenn die Funktion aufgerufen wird, inkrementiert wird. Wenn sich der Wert des Arguments ResetOnChange seit dem vorherigen Funktionsaufruf geändert hat, so wird der Wert der zu generierenden Zahl auf den Wert StartsWith zurückgesetzt. Die Automatische Nummerierung kann auch mit der Funktion reset-auto-number zurückgesetzt werden.

generate-auto-number("ChapterNumber", 1, 1, "SomeString") gibt bei jedem Aufruf der Funktion eine einzige Zahl beginnend mit 1 zurück, die bei jedem Aufruf der Funktion um 1 inkrementiert wird. Solange das vierte Argument in jedem anschließenden Aufruf "SomeString" bleibt, wird die Inkrementierung fortgesetzt. Wenn sich der Wert des vierten Arguments ändert, wird der Zähler (namens ChapterNumber) auf 1 zurückgesetzt. Der Wert von ChapterNumber kann auch folgendermaßen durch Aufruf der Funktion reset-auto-number zurückgesetzt werden: reset-auto-number("ChapterNumber").

 

 

[ Nach oben ]

 


© 2019 Altova GmbH