Altova StyleVision 2024 Enterprise Edition

XSLT and XPath/XQuery Functions

Home Prev Top Next

This section lists Altova extension functions and other extension functions that can be used in XPath and/or XQuery expressions. Altova extension functions can be used with Altova's XSLT and XQuery engines, and provide functionality additional to that available in the function libraries defined in the W3C standards.


This section mainly describes XPath/XQuery extension functions that have been created by Altova to provide additional operations. These functions can be computed by Altova's XSLT and XQuery engines according to the rules described in this section. For information about the regular XPath/XQuery functions, see Altova's XPath/XQuery Function Reference.


General points

The following general points should be noted:


Functions from the core function libraries defined in the W3C specifications can be called without a prefix. That's because the Altova XSLT and XQuery engines read non-prefixed functions as belonging to the namespace, which is the default functions namespace specified in the XPath/XQuery functions specifications. If this namespace is explicitly declared in an XSLT or XQuery document, the prefix used in the namespace declaration can also optionally be used on function names.

In general, if a function expects a sequence of one item as an argument, and a sequence of more than one item is submitted, then an error is returned.

All string comparisons are done using the Unicode codepoint collation.

Results that are QNames are serialized in the form [prefix:]localname.



Precision of xs:decimal

The precision refers to the number of digits in the number, and a minimum of 18 digits is required by the specification. For division operations that produce a result of type xs:decimal, the precision is 19 digits after the decimal point with no rounding.



Implicit timezone

When two date, time, or dateTime values need to be compared, the timezones of the values being compared need to be known. When the timezone is not explicitly given in such a value, the implicit timezone is used. The implicit timezone is taken from the system clock, and its value can be checked with the implicit-timezone() function.




The default collation is the Unicode codepoint collation, which compares strings on the basis of their Unicode codepoint. The engine uses the Unicode Collation Algorithm. Other supported collations are the ICU collations listed below; to use one of these, supply its URI as given in the table below. Any string comparisons, including for the max and min functions, will be made according to the specified collation. If the collation option is not specified, the default Unicode-codepoint collation is used.




da: Danish


de: German

de_AT, de_BE, de_CH, de_DE, de_LI, de_LU

en: English

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: Spanish

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: French

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: Italian

it_CH, it_IT

ja: Japanese


nb: Norwegian Bokmal


nl: Dutch

nl_AW, nl_BE, nl_NL

nn: Nynorsk


pt: Portuguese

pt_AO, pt_BR, pt_GW, pt_MZ, pt_PT, pt_ST

ru: Russian

ru_MD, ru_RU, ru_UA

sv: Swedish

sv_FI, sv_SE



Namespace axis

The namespace axis is deprecated in XPath 2.0. Use of the namespace axis is, however, supported. To access namespace information with XPath 2.0 mechanisms, use the in-scope-prefixes(), namespace-uri() and namespace-uri-for-prefix() functions.


© 2018-2024 Altova GmbH