Fonctions XSLT
Les fonctions d'extension XSLT peuvent être utilisées dans les expressions XPath dans un contexte XSLT. Elles ne fonctionneront pas dans un contexte non-XSLT (par exemple dans un contexte XQuery).
Note concernant le nommage de fonctions et de l'applicabilité de la langue
Les fonctions d'extension Altova peuvent être utilisées dans les expressions XPath/XQuery. Elles fournissent des fonctions supplémentaires aux fonctions d'ores et déjà disponibles dans la librairie standard des fonctions XPath, XQuery et XSLT. Les fonctions d'extension Altova se trouvent dans l'espace de nom des fonctions d'extension Altova, http://www.altova.com/xslt-extensions, et sont indiquées dans cette section par le préfixe altova:, qui est présupposé être lié à cet espace de nom. Veuillez noter que, en ce qui concerne les versions futures de votre produit, la prise en charge d'une fonction peut être interrompue et le comportement de certaines fonctions peut changer. Veuillez consulter la documentation lors des publications à venir pour plus d'informations concernant la prise en charge des fonctions d'extension Altova de cette version.
|
Fonctions générales
altova:distinct-nodes(node()*) asnode()* XSLT1 XSLT2 XSLT3 Prend un ensemble d'un ou de plusieurs nœuds en tant que son entrée et retourne le même ensemble moins les nœuds avec des valeurs dupliquées. La comparaison s'effectue en utilisant la fonction XPath/XQuery fn:deep-equal.
|
altova:evaluate(XPathExpression as xs:string[, ValueOf$p1, ... ValueOf$pN]) XSLT1 XSLT2 XSLT3 Prend une expression XPath, passée en tant que chaîne, en tant que son argument obligatoire. Elle retourne la sortie de l'expression évaluée. Par exemple : altova:evaluate('//Name[1]') retourne les contenues du premier élément Name dans le document. Veuillez noter que l'expression //Name[1] est passée en tant que chaîne en l'enfermant dans des guillemets simples.
La fonction altova:evaluate peut prendre des arguments supplémentaires en option. Ces arguments sont les valeurs des variables in-scope qui portent les noms p1, p2, p3... pN. Veuillez noter les points suivants concernant l'utilisation : (i) Les variables doivent être définies avec les noms de la formule pX, lorsque X est un entier ; (ii) les arguments de la fonction altova:evaluate (voir signature ci-dessus), à partir du deuxième argument, fournissent les valeurs de la variables, avec la séquence des arguments correspondant à la séquence des variables classées numériquement : p1 à pN: le deuxième argument sera la valeur de la variable p1, le troisième argument celui de la variable p2, etc. ; (iii) Les valeurs de variable doivent être de type item*.
La fonction d'extension altova:evaluate() est utile lorsqu'une expression XPath dans la feuille de style XSLT contient une ou plusieurs parties qui doivent être évaluées dynamiquement. Par exemple, prenez comme exemple une situation dans laquelle un utilisateur saisit sa requête pour le critère de tri et le critère est stocké dans l'attribut UserReq/@sortkey. Dans la feuille de style, vous pouvez ensuite avoir l'expression : <xsl:sort select="altova:evaluate(../UserReq/@sortkey)" order="ascending"/>. La fonction altova:evaluate() lit l'attribut sortkey de l'élément enfant UserReq du parent du nœud contextuel. Si, par exemple, la valeur de l'attribut sortkey est Price, alors Price est retourné par la fonction altova:evaluate() et devient la valeur de l'attribut select : <xsl:sort select="Price" order="ascending"/>. Si cette instruction sort apparaît dans le contexte d'un élément appelé Order, alors les éléments Order seront triés conformément aux valeurs de leurs enfants Price. En alternative, si la valeur de @sortkey était, par exemple, Date, alors les éléments Order seraient triés selon les valeurs de leurs enfants Date. Donc le critère de triage pour Order est choisi à partir de l'attribut sortkey lors de l'exécution. Cela n'aurait pas pu se réaliser avec une expression telle que : <xsl:sort select="../UserReq/@sortkey" order="ascending"/>. Dans le cas montré ci-dessus, le critère de tri aurait été l'attribut sortkey lui-même, et non pas Price ou Date (ou tout autre contenu actuel de sortkey).
|
altova:encode-for-rtf(input as xs:string, preserveallwhitespace as xs:boolean, preservenewlines as xs:boolean) asxs:string XSLT2 XSLT3 Convertit la chaîne d'entrée en tant que code pour RTF. Les espaces blancs et les nouvelles lignes seront préservés selon la valeur booléenne spécifiée pour leurs arguments respectifs.
|
[ Haut ]
Fonctions XBRL
Les fonctions XBRL Altova peuvent uniquement être utilisées avec des éditions des produits Altova qui présentent une prise en charge XBRL.
altova:xbrl-footnotes(node()) asnode()* XSLT2 XSLT3 Prend un nœud en tant que son argument d'entrée et retourne l'ensemble des nœuds de notes de pieds XBRL référencées par le nœud d'entrée.
|
altova:xbrl-labels(xs:QName, xs:string) asnode()* XSLT2 XSLT3 Prend deux arguments d'entrée : un nom de nœud et l'emplacement de fichier de taxonomie contenant le nœud. La fonction retourne les nœuds de libellés XBRL associés avec le nœud d'entrée.
|
[ Haut ]