Fonctions XSLT et XPath/XQuery
Cette section réunit les fonctions d'extension Altova qui peuvent être utilisées dans les expressions XPath et/ou XQuery. Les fonctions d'extension Altova peuvent être utilisées avec les moteurs XSLT et XQuery d'Altova, et elles offrent des fonctions supplémentaires à celles disponibles dans les bibliothèques de fonctions définies dans les standards W3C.
Cette section décrit les fonctions d’extension XPath/XQuery qui ont été créées par Altova pour fournir des opérations. Ces fonctions d’extension peuvent être calculées par les moteurs XSLT et XQuery d’Altova selon les règles décrites dans cette section. Pour information sur les fonctions XPath/XQuery régulières, voir la Fonction de référence XPath/XQuery d’Altova.
Points généraux
Les points généraux suivants devraient être notés :
•Les fonctions des bibliothèques de fonction core définies dans les spécifications W3C speuvent être appelées sans préfixe. La raison étant que les moteurs XSLT et XQuery d’Altova lisent les fonctions sans préfixe comme appartenant à l’espace de nom http://www.w3.org/2005/xpath-functions, qui est l’espace de nom des fonctions par défaut spécifiées dans les spécifications des fonctions XPath/XQuery. Si cet espace de nom est déclaré explicitement dans un document XSLT ou XQuery, le préfixe utilisé dans la déclaration d'espace de nom peut aussi être utilisé en option sur les noms de fonction.
•En général, si une fonction escompte une séquence d'un item en tant qu'argument, et qu'une séquence de plus d'un item est soumise, une erreur sera retournée.
•Toutes les comparaisons de strings sont réalisées en utilisant la collation de point de code Unicode.
•Les résultats qui sont des QNames sont sérialisés sous la forme [prefix:]localname.
Précision de la décimale xs:
La précision se réfère au nombre de chiffres dans le nombre et la spécification requiert un minimum de 18 chiffres. Pour les opérations de division qui produisent un résultat de type xs:decimal, la précision est de 19 chiffres après le point décimal sans arrondissement.
Fuseau horaire implicite
Lorsque deux valeurs date, time, ou dateTime doivent être comparées, le fuseau horaire des valeurs comparées doit être connu. Si le fuseau n'est explicitement donné dans une telle valeur, le fuseau horaire implicite est utilisé. Le fuseau horaire implicite est prélevé de l'horloge du système et sa valeur peut être contrôlée avec la fonction implicit-timezone().
Collations
La collation par défaut est la collation de point de code Unicode qui compare les chaînes sur la base de leur point de code Unicode. Le processeur utilise l'Unicode Collation Algorithm. D’autres collations prises en charge sont les collations ICU recensées ci-dessous ; pour en utiliser une, fournissez son URI tel qu’énnoncé dans la table ci-dessous. Toute comparaison de chaîne, y compris en ce qui concerne les fonctions max et min, sera effectuée conformément à la collation spécifiée. Si l'option de collation n'est pas spécifiée, la collation de point de code Unicode par défaut sera utilisée.
Langage | URI |
da: Danois | da_DK |
de: Allemand | de_AT, de_BE, de_CH, de_DE, de_LI, de_LU |
en: Anglais | 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: Espagnol | 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: Français | 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: Italien | it_CH, it_IT |
ja: Japonais | ja_JP |
nb: Norvégien Bokmål | nb_NO |
nl: Néerlandais | nl_AW, nl_BE, nl_NL |
nn: Nynorsk | nn_NO |
pt: Portugais | pt_AO, pt_BR, pt_GW, pt_MZ, pt_PT, pt_ST |
ru: Russe | ru_MD, ru_RU, ru_UA |
sv: Suédois | sv_FI, sv_SE |
Axe du nom d'espace
L'axe du nom d'espace est devenu obsolète dans XPath 2.0. Néanmoins, l'utilisation de l'axe du nom d'espace est prise en charge. Pour accéder aux information de l'espace de nom, avec des mécanismes XPath 2.0, utilisez les fonctions in-scope-prefixes(), namespace-uri() et namespace-uri-for-prefix().