Funciones de extensión de Altova
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 http://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.
Las funciones definidas en las especificaciones XPath/XQuery Functions del W3C se pueden usar en (i) expresiones XPath en contextos XSLT y en (ii) expresiones XQuery en documentos XQuery. En esta documentación las funciones que se pueden usar en el primer contexto (XPath en XSLT) llevan el símbolo XP y se les llama funciones XPath. Las funciones que se pueden usar en contextos XQuery llevan el símbolo XQ y funcionan como funciones XQuery. Las especificaciones XSLT del W3C también definen funciones que se pueden usar en expresiones XPath en documentos XSLT. Estas funciones llevan el símbolo XSLT y se les denomina funciones XSLT. Por cada función se indica en qué versión de XPath/XQuery y XSLT se puede usar (ver símbolos más abajo). Las funciones de las bibliotecas de funciones XPath/XQuery y XSLT aparecen sin prefijo. Las funciones de extensión de otras bibliotecas, como las funciones de extensión de Altova, aparecen con un prefijo.
Funciones XPath (en expresiones XPath en XSLT): | XP1 XP2 XP3.1.1 |
Funciones XSLT (en expresiones XPath en XSLT): | XSLT1 XSLT2 XSLT3 |
Funciones XQuery (en expresiones XQuery en XQuery): | XQ1 XQ3.1 |
Cómo usar las funciones de extensión de Altova
Para poder usar las funciones de extensión de Altova debe declarar el espacio de nombre correspondiente (el primer resaltado en el extracto de código siguiente) y después usar las funciones de extensión para que se resuelvan como si pertenecieran a ese espacio de nombres (véase el segundo resaltado). En el ejemplo siguiente puede ver cómo se usa la función de extensión de Altova age.
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions"
xmlns:altova="http://www.altova.com/xslt-extensions">
<xsl:output method="text" encoding="ISO-8859-1"/>
<xsl:template match="Persons">
<xsl:for-each select="Person">
<xsl:value-of select="concat(Name, ': ')"/>
<xsl:value-of select="altova:age(xs:date(BirthDate))"/>
<xsl:value-of select="' years
'"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Las funciones XSLT solo se pueden utilizar en expresiones XPath en un contexto XSLT (igual que las funciones XSLT 2.0 current-group() o key()). Estas funciones no están pensadas para contextos no XSLT (p. ej. contextos XQuery) y, por tanto, no funcionarán en contextos que no sean XSLT. Recuerde que las funciones XSLT para XBRL solamente se pueden utilizar con ediciones de los productos de Altova compatibles con XBRL.
Funciones XPath/XQuery
Las funciones XPath/XQuery se pueden utilizar en expresiones XPath, en contextos XSLT y en expresiones XQuery:
•Funciones XPath/XQuery de fecha y hora
•Funciones XPath/XQuery de geoubicación
•Funciones XPath/XQuery relacionadas con imágenes
•Funciones XPath/XQuery numéricas
•Funciones XPath/XQuery de secuencia
•Funciones XPath/XQuery de cadena
•Funciones XPath/XQuery varias