Funciones XSLT y XPath

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

format-date

XSLT

 

La función fn:format-date da formato a la fecha introducida en el primer argumento. Es posible definir el formato sólo con el segunto atributo, o bien, usando los cuatro atributos siguientes. La función puede tener pues dos o cinco atributos y devuelve una cadena en el resultado.

El segundo argumento es obligatorio y define básicamente el formato de la fecha (p.ej. 2 de septiempre de 2007 o 2007-09-02). El tercer argumento establece el idioma en que se muestran los meses y días de la semana, mientras que con el cuarto puede elegirse entre los distintos calendarios (gregoriano, musulmán, etc). El quinto argumento asigna un lugar geográfico a la fecha, de manera que se tendrán en cuenta diferencias regionales e históricas en la interpretación del calendario.

La fecha se especifica en el formato AAAA-MM-DD. Es posible añadir además una zona horaria prefijada, por ejemplo en la forma: 2008-12-24+01:00 (CET = UTC+1). Los otros argumentos se definen a través de códigos especiales o mediante una combinación de los mismos. El segundo argumento puede contener cualquier cadena, si bien códigos como [Y], [M] o [D] se sustituyen mediante los componentes de los años, meses y días en la indicación de fecha del primer argumento.

Con ayuda de modificadores adicionales se puede definir más concretamente el formato de salida de los valores. Por ejemplo, si se introduce [MN] aparecerá NOVIEMBRE en lugar del número 11 o, en su caso, noviembre si se introduce el códico [Mn].

El idioma en que se mostrarán los nombres de los días y meses se introduce, como hemos mencionado más arriba, en el tercer argumento mediante un código formado por dos caracteres. Por ejemplo "es" para español, "en" para inglés, "de" para alemán, etc. Para definir el calendario, en caso de usarse el calendario gregoriano, bastará una secuencia vacía, ya que éste es el valor por defecto. La compatibilidad con otros calendarios dependerá de la aplicación y se introduce a través de una cadena predeterminada de caracteres en mayúscula. La indicación de lugar y de idioma son redundantes.

La función fn:format-date es exclusiva de XSLT, no siendo válida en XQuery o XPath.

 

Argumentos

Indicación de fecha

Es obligatorio, pero puede ser una secuencia vacía.

Tipo: xs:date

 

Muestra de formato

Obligatorio

Tipo: xs:string

 

Indicación de idioma

Opcional, sólo junto con la indicación de calendario y lugar .

Tipo: xs:string

 

Indicación de calendario

Opcional, sólo junto con la indicación de lugar e idioma.

Tipo: xs:string

 

Indicación de lugar

Opcional, sólo junto con la indicación de calendario e idioma.

Tipo: xs:string

 

Valor de salida

Cadena

Tipo: xs:string

 

 

Ejemplo

format-date(xs:date(current-date()), '[D]. [M]. [Y]','es', (),())

Resultado: 28. 1. 2009

La fecha actual se mostrará según el patrón predefinido en esta expresión. El idioma será español y para las variables de lugar y calendario se tomarán los valores por defecto.

 

 

Ejemplo

format-date(xs:date('2008-12-24'), '[D]. [Mn] [Y]','it', (),())

Resultado: 24. dicembre 2008

"it" es el código para italiano.

 

 

Ejemplo

format-date(xs:date('2008-12-24'), '[D]-[M]-[Y]')

Resultado: 24-12-2008

 

 

Ejemplo

format-date(xs:date('2008-12-24'), '[Y]')

Resultado: 2008

 

 

Ejemplo

format-date(xs:date('2008-12-24'), '[F], [D] de [Mn] de [Y]')

Resultado: Miércoles, 24 de diciembre de 2008

El código [F] indica el día de la semana. Aquí el idioma por defecto sería español (es). No obstante, debe tenerse en cuenta que procesadores como Saxon no soportan el idioma español.

  > Volver a la referencia alfabética de XSLT y XPATH