Funciones XSLT
Las funciones de extensión XSLT pueden utilizarse en expresiones XPath en contextos XSLT y no funcionan en contextos que no sean XSLT (por ejemplo, en contextos XQuery).
Nota sobre el nombre de las funciones y lenguajes
Puede utilizar todas las funciones de extensión de Altova en sus expresiones XPath/XQuery. Con ellas conseguirá funciones adicionales no disponibles en la biblioteca de funciones estándar de XPath, XQuery y XSLT. Las funciones de extensión de Altova están en el espacio de nombres https://www.altova.com/xslt-extensions y en esta sección se presentan con el prefijo, que se supone estará enlazado al espacio de nombres señalado. Tenga en cuenta que en futuras versiones del producto algunas funciones pueden dejar de ser compatibles o su comportamiento puede cambiar. Por tanto, consulte siempre la documentación del producto para conocer el funcionamiento de estas funciones en cada versión del producto.
|
Funciones generales
altova:distinct-nodes(node()*) como node()* Xslt1 XSLT2 XSLT3 Toma un conjunto de nodos como entrada y devuelve el mismo conjunto menos los nodos que tengan el mismo valor (es decir, devuelve los nodos que son únicos). La comparación se hace con la función XPath/XQuery fn:deep-equal.
|
altova:evaluate(ExpresiónXPath como xs:string[, ValorDe\$p1, ... ValorDe\$pN]) Xslt1 XSLT2 XSLT3 Toma una expresión XPath, pasada como cadena, como argumento obligatorio. Devuelve el resultado de la expresión evaluada. Por ejemplo, evaluate('//Name[1]') devuelve el contenido del primer elemento Name del documento. Observe que para pasar la expresión //Name[1] como cadena basta con ponerla entre comillas simples.
La función altova:evaluate puede tomar más argumentos, que son los valores de las variables del ámbito que se llaman p1, p2, p3... pN. Recuerde que (i) las variables deben definirse con nombres de tipo pX, siendo X un entero; (ii) los argumentos de la función altova:evaluate (ver firma más abajo), a partir del segundo argumento, ofrecen los valores de las variables, correspondiendo la secuencia de argumentos a la secuencia numérica de variables: p1 corresponde a pN y el segundo argumento será el valor de la variable p1, el tercer argumento al de la variable p2, y así sucesivamente; (iii) los valores de las variables deben ser de tipo item*.
La función de extensión altova:evaluate() es muy práctica cuando una expresión XPath de la hoja de estilos XSLT contiene partes que se deben evaluar de forma dinámica. Por ejemplo, imagine que el usuario selecciona un criterio de ordenación y este criterio se almacena en el atributo UserReq/@sortkey. En la hoja de estilos podría tener esta expresión:
<xsl:sort select="altova:evaluate(../UserReq/@sortkey)" order="ascending"/>
La función altova:evaluate() lee el atributo sortkey del elemento secundario UserReq del primario del nodo de contexto. Imagine que el valor del atributo sortkey es Price. En ese caso, la función altova:evaluate() devuelve Price, que se convierte en el valor del atributo select:
<xsl:sort select="Price" order="ascending"/>
Si esta instrucción sort aparece dentro del contexto de un elemento llamado Order, entonces los elementos Order se ordenan según el valor de los secundarios Price. Otra opción es que, si el valor de @sortkey fuera Date, por ejemplo, entonces los elementos Order se ordenarían según el valor de los secundarios Date. Es decir, el criterio de ordenación para Order se selecciona del atributo sortkey en tiempo de ejecución. Esto no sería posible con una expresión como:
<xsl:sort select="../UserReq/@sortkey" order="ascending"/>
En este caso, el criterio de ordenación sería el propio atributo sortkey, no Price ni Date (ni otro contenido actual de sortkey).
Nota: el contexto estático incluye espacios de nombres, tipos y funciones (pero no variables) del entorno de llamada. El URI base y el espacio de nombres predeterminado se heredan.
|
altova:encode-for-rtf(entrada como xs:string, conservarEspaciosEnBlanco como xs:boolean, conservarLíneasNuevas como xs:boolean) como xs:string XSLT2 XSLT3 Convierte la cadena de entrada en código para RTF. Los espacios en blanco y las líneas nuevas se conservan o no dependiendo del valor booleano especificado para los correspondientes parámetros.
|
[ Subir ]
Funciones XBRL
Las funciones XBRL de Altova solo funcionan en las ediciones de los productos de Altova que son compatibles con XBRL.
altova:xbrl-footnotes(node()) como node()* XSLT2 XSLT3 Toma un nodo como argumento de entrada y devuelve el conjunto de nodos de nota al pie XBRL al que hace referencia el nodo de entrada.
|
altova:xbrl-labels(xs:QName, xs:string) como node()* XSLT2 XSLT3 Toma dos argumentos de entrada: un nombre de nodo y la ubicación del archivo de taxonomía en el que está el nodo. La función devuelve los nodos de etiqueta XBRL asociados al nodo de entrada.
|
[ Subir ]