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-time

XSLT

 

La función fn:format-time da formato a la hora 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 hora (p.ej. 19:25 o 07:25 pm). El tercer argumento establece el idioma, 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 hora, de manera que se tendrán en cuenta diferencias regionales e históricas en la interpretación del calendario.

La hora se muestra con el formato HH:MM:SS. Es posible añadir una zona horaria prefijada, por ejemplo mediante 07:30:00+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 [H], [m] oder [s] se sustituyen mediante los componentes de la indicación horaria del primer argumento.

Si en una transformación XSLT hubiera más de una función fn:current-dateTime, se devolvería la misma hora como valor de salida para cada una.

Con ayuda de modificadores adicionales se puede definir más concretamente el formato de salida de los valores. Así, por ejemplo, con el modificador [m01] para los minutos se devolverá para un valor de 5 el número de dos cifras 05, o bien, con [m001] se devovería un número de tres cifras para el mismo valor de entrada, esto es, 005.

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-time es exclusiva de XSLT, no siendo válida en XQuery o XPath.

 

Argumentos

Indicación de hora

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

Tipo: xs:time

 

Modelo 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-time(current-time(), '[h]:[m01]:[s001] [PN]')

Resultado: 9:28:40.734 A.M.

El código [f001] genera en el resultado un número de tres dígitos para las milésimas de segundo. Con [PN] se devolverá uno de los valores a.m. o p.m. en mayúsculas, mientras que con [Pn] el valor aparecerá en minúsculas.

 

 

Ejemplo

format-time(xs:time('19:57:43.023+05:00'), '[h]:[m1]:[s1] [Pn]')

Resultado: 7:57:43 p.m.

 

 

Ejemplo

format-time(format-time(xs:time('19:57:43.023+05:00'), 'hora:[H] minuto:[m1] segundo:[s1] milisegundo:[f1] zona horaria: [z]')

Resultado: hora:19 minuto:57 segundo:43 milisegundo:023 zona horaria: UTC+5

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