Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/07/2007, 03:17
Kimppa
 
Fecha de Ingreso: julio-2007
Mensajes: 22
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: Formato de fechas en XSL

He ido eliminando cosas hasta que me ha quedado algo asi:
Cita:
<?xml version="1.0"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:doc="http://xsltsl.org/xsl/documentation/1.0"
xmlns:dt="http://xsltsl.org/date-time"
xmlns:str="http://xsltsl.org/string"
extension-element-prefixes="doc str">

<xsl:template name="dt:format-date-time">

<xsl:param name='xsd-date-time'/>
<xsl:param name='year'/>
<xsl:param name='month'/>
<xsl:param name='day'/>
<xsl:param name='format' select="%B"/>


<xsl:value-of select="substring-before('%B', '%')"/>

<xsl:variable name="code" select="substring(substring-after('%B', '%'), 1, 1)"/>

<xsl:choose>

<xsl:when test='$xsd-date-time'>
<xsl:call-template name='dt:format-date-time'>

<xsl:with-param name='year'>2007</xsl:with-param>
<xsl:with-param name='month'>11</xsl:with-param>
<xsl:with-param name='day'>24</xsl:with-param>

<xsl:with-param name='format'>
<xsl:choose>
<xsl:when test='contains($format, "%")'>
<xsl:value-of select='substring-after("%B", "%")'/>
</xsl:when>

<xsl:otherwise>
<xsl:value-of select='B'/>
</xsl:otherwise>
</xsl:choose>
</xsl:with-param>

</xsl:call-template>
</xsl:when>

<!-- Full month name -->
<xsl:when test="$code='B'">
<xsl:call-template name="dt:get-month-name">
<xsl:with-param name="month" select="11"/>
</xsl:call-template>
</xsl:when>

</xsl:choose>

<xsl:variable name="remainder" select="substring-after('%B', '%')"/>

<xsl:if test="not($xsd-date-time) and $remainder">
<xsl:call-template name="dt:format-date-time">
<xsl:with-param name="year" select="2007"/>
<xsl:with-param name="month" select="11"/>
<xsl:with-param name="day" select="24"/>
<xsl:with-param name="format" select="$remainder"/>
</xsl:call-template>
</xsl:if>

</xsl:template>


<xsl:template name="dt:get-month-name">
<xsl:param name="month" select="11"/>

<xsl:choose>
<xsl:when test="$month=01">Enero</xsl:when>
<xsl:when test="$month=02">Febrero</xsl:when>
<xsl:when test="$month=03">Marzo</xsl:when>
<xsl:when test="$month=04">Abril</xsl:when>
<xsl:when test="$month=05">Mayo</xsl:when>
<xsl:when test="$month=06">Junio</xsl:when>
<xsl:when test="$month=07">Julio</xsl:when>
<xsl:when test="$month=08">Agosto</xsl:when>
<xsl:when test="$month=09">Septiembre</xsl:when>
<xsl:when test="$month=10">Octubre</xsl:when>
<xsl:when test="$month=11">Noviembre</xsl:when>
<xsl:when test="$month=12">Diciembre</xsl:when>
<xsl:otherwise>error: <xsl:value-of select="$month"/></xsl:otherwise>

</xsl:choose>

</xsl:template>

</xsl:stylesheet>

La cosa es que me saca en pantalla todos los meses y yo solo quiero que me saque el que corresonda al numero que le mando (ejemplo: 11->noviembre)
Alguien que me eche una mano¿?