En este caso, trataremos sobre un workaround en XSLT 1.0 para una función nativa de XSLT 2.0. para mostrar la fecha actual.
XSL es un lenguaje que junto a XPath permite describir cómo la información contenida en un documento XML cualquiera debe ser transformada o formateada para su presentación. Con XSLT 2.0 tenemos a nuestra disposición muchas más funcionalidades de las que teníamos con la versión 1.0
De manera que en XSLT 2.0 disponemos de maneras de hacerlo nativamente:
<xsl:value-of select="current-dateTime()" />
<xsl:value-of select="current-date()" />
Sin embargo, con XSLT 1.0 no disponemos de funciones XPath avanzadas, de manera que solo dependiendo de paquetes de terceros podremos mostrar la fecha.
Aquí 2 maneras diferentes de lograrlo:
- Descargando la extension EXSLT "Dates and Times" (http://exslt.org/date/index.html) que se puede encontrar enGithub (https://github.com/exslt/exslt.github.io/tree/master/date).
- Extraer date.xsl donde necesitemos para hacer referencia mas tarde a el en nuestro header.
- Añadir en el header (ejemplo):
<xsl:stylesheet version="1.0" xmlns:date="http://exslt.org/dates-and-times" extension-element-prefixes="date" ....>
<xsl:import href="/date.xsl">
<xsl:template match="//root">
<xsl:value-of select="date:date-time()" />
</xsl:template>
</xsl:stylesheet>
Si trabajamos con Eclipse XSLT podremos usar también una función Java. Solo necesitamos importar en nuestra cabecera la referencia correspondiente.
<xsl:value-of select="java:util.Date.new()" />
Solo necesitamos importar en nuestra cabecera
<xsl:stylesheet ... xmlns:java="java" ........>


