Trabajar con fechas

www.altova.com Expandir/Contraer todos Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Archivos SPS: otras funciones >

Trabajar con fechas

Si el documento de origen contiene nodos que toman valores de fecha, puede usar los tipos de datos xs:date o xs:dateTime del esquema XML subyacente para aprovechar las potentes funciones de manipulación de datos de XPath 2.0/3.0 (ver ejemplos). StyleVision es compatible con los tipos de datos xs:date y xs:dateTime y ofrece un amplio abanico de opciones de formato de fechas (disponibles a través de la característica Formato de valor).

 

Nota:los datos de fecha y hora no se pueden manipular con XPath 1.0. No obstante, si usa XPath 1.0 en su diseño puede usar la característica Formato de valor para dar formato a las fechas.

 

Calcular fechas con XPath 2.0

Puede manipular fechas con ayuda de cálculos automáticos basados en expresiones XPath 2.0. A continuación ofrecemos algunos ejemplos.

 

Las funciones XPath 2.0 current-date() y current-dateTime() sirven para obtener la fecha y la fecha-hora actuales respectivamente.
Puede realizar substracciones con valores de fecha. Por ejemplo: current-date() - DueDate devolvería un valor xdt:dayTimeDuration como P24D, por ejemplo, que indica una diferencia positiva de 24 días.
Puede usar funciones XPath 2.0 para extraer unidades de tiempo de duraciones. Por ejemplo: days-from-duration(xdt:dayTimeDuration('P24D')) devolvería el entero 24.

 

El siguiente ejemplo muestra una expresión XPath 2.0 dentro de un cálculo automático. La expresión calcula un interés anual del 4% sobre una cantidad no pagada por cada día de retraso y devuelve la suma de la cantidad principal más el interés acumulado:

 

 if                (current-date() gt DueDate)

 then        (round-half-to-even(InvoiceAmount +

                         (InvoiceAmount*0.04 div 360 *        
                                 days-from-duration((current-date() - DueDate))), 2))

 else        InvoiceAmount

 

Este cálculo se podría hacer con XPath 2.0 si el elemento DueDate tuviera definido el tipo de datos xs:date y el contenido del elemento se insertara en su formato léxico correcto (es decir, YYYY-MM-DD[±HH:MM]), siendo el componente de uso horario (prefijo ±) opcional.

 

 

 


© 2019 Altova GmbH