XSLT- und XPath/XQuery-Funktionen
Dieser Abschnitt enthält eine Liste von Altova-Erweiterungsfunktionen und anderen Erweiterungsfunktionen, die in XPath und/oder XQuery-Ausdrücken verwendet werden können. ltova-Erweiterungsfunktionen können mit dem XSLT- und XQuery-Prozessor von Altova verwendet werden und bieten zusätzliche Funktionalitäten zu den in den W3C-Standards definierten Funktionsbibliotheken.
In diesem Abschnitt werden hauptsächlich XPath/XQuery-Erweiterungsfunktionen, die von Altova für zusätzliche Operationen sowie andere Erweiterungsfunktionen erstellt wurden, beschrieben. Diese Erweiterungsfunktionen können vom Altova-XSLT- und XQuery-Prozessor gemäß den in diesem Abschnitt beschriebenen Regeln verarbeitet werden. Informationen zu den regulären XPath/XQuery-Funktionen finden Sie in der Altova XPath/XQuery-Funktionsreferenz
Allgemeine Punkte
Beachten Sie bitte die folgenden allgemeinen Punkte:
•Funktionen aus den in den W3C-Spezifikationen definierten core-Funktionsbibliotheken können ohne Präfix aufgerufen werden, da der Altova-XSLT- und XQuery-Prozessor Funktionen, die kein Präfix haben, als Funktionen des in der XPath/XQuery Functions-Spezifikation Standard-Funktions-Namespace http://www.w3.org/2005/xpath-functions liest. Wenn dieser Namespace in einem XSLT- oder XQuery-Dokument explizit deklariert ist, kann das in der Namespace-Deklaration definierte Präfix optional auch in Funktionsnamen verwendet werden.
•Wenn bei einer Funktion eine Sequenz von einem Datenelement als Argument erwartet wird und eine Sequenz von mehr als einem Datenelement gesendet wird, wird ein Fehler zurückgegeben.
•Alle String-Vergleiche werden unter Verwendung der Unicode Codepoint Collation ausgeführt.
•Ergebnisse, bei denen es sich um QNames handelt, werden in der Form [prefix:]localname serialisiert.
Präzision von xs:decimal
Die Präzision bezieht sich auf die Anzahl der Stellen in einer Zahl. Laut Spezifikation sind mindestens 18 Stellen erforderlich. Bei Divisionen, bei denen ein Ergebnis vom Typ xs:decimal erzeugt wird, beträgt die Präzision 19 Kommastellen ohne Runden.
Implizite Zeitzone
Beim Vergleich zweier date, time, oder dateTime-Werte muss die Zeitzone der verglichenen Werte bekannt sein. Wenn die Zeitzone in einem solchen Wert nicht explizit angegeben ist, wird die implizite Zeitzone verwendet. Als implizite Zeitzone wird die der Systemuhr verwendet. Der Wert kann mit Hilfe der Funktion implicit-timezone() überprüft werden.
Collations
Die Standard-Collation ist die Unicode Codepoint Collation, die Strings auf Basis ihrer Unicode-Codepunkte vergleicht. Der Prozessor verwendet den Unicode Collation-Algorithmus. Andere unterstützte Collations sind die hier aufgelisteten ICU-Collations. Um eine bestimmte Collation zu verwenden, geben Sie Ihre URI an (siehe Tabelle unten). String-Vergleiche, wie die Funktionen fn:max und fn:min werden anhand der angegebenen Collation durchgeführt. Wenn die Collation-Option nicht definiert ist, wird die Standard-Unicode Codepoint Collation verwendet.
Sprache | URIs |
da: Dänisch | da_DK |
de: Deutsch | de_AT, de_BE, de_CH, de_DE, de_LI, de_LU |
en: Englisch | en_AS, en_AU, en_BB, en_BE, en_BM, en_BW, en_BZ, en_CA, en_GB, en_GU, en_HK, en_IE, en_IN, en_JM, en_MH, en_MP, en_MT, en_MU, en_NA, en_NZ, en_PH, en_PK, en_SG, en_TT, en_UM, en_US, en_VI, en_ZA, en_ZW |
es: Spanisch | es_419, es_AR, es_BO, es_CL, es_CO, es_CR, es_DO, es_EC, es_ES, es_GQ, es_GT, es_HN, es_MX, es_NI, es_PA, es_PE, es_PR, es_PY, es_SV, es_US, es_UY, es_VE |
fr: Französisch | fr_BE, fr_BF, fr_BI, fr_BJ, fr_BL, fr_CA, fr_CD, fr_CF, fr_CG, fr_CH, fr_CI, fr_CM, fr_DJ, fr_FR, fr_GA, fr_GN, fr_GP, fr_GQ, fr_KM, fr_LU, fr_MC, fr_MF, fr_MG, fr_ML, fr_MQ, fr_NE, fr_RE, fr_RW, fr_SN, fr_TD, fr_TG |
it: Italienisch | it_CH, it_IT |
ja: Japanisch | ja_JP |
nb: Norwegisch (Bokmal) | nb_NO |
nl: Holländisch | nl_AW, nl_BE, nl_NL |
nn: Norwegisch (Nynorsk) | nn_NO |
pt: Portugiesisch | pt_AO, pt_BR, pt_GW, pt_MZ, pt_PT, pt_ST |
ru: Russisch | ru_MD, ru_RU, ru_UA |
sv: Schwedisch | sv_FI, sv_SE |
Namespace-Achse
Die Namespace-Achse wird in XPath 2.0 nicht mehr verwendet, wird aber weiterhin unterstützt. Um Namespace-Informationen mit XPath 2.0-Mechanismen aufzurufen, verwenden Sie die Funktionen in-scope-prefixes(), namespace-uri() und namespace-uri-for-prefix().