xslt - Subtrahieren von Tagen

8

Ist es möglich mit xslt ein Datumsfeld zu nehmen und N Tage davon zu subtrahieren? Wenn ja, kannst du mir bitte ein Beispiel geben?

    
MattM 07.10.2010, 19:43
quelle

5 Antworten

13

Hier ist eine Demonstration, wie man das in XSLT 2.0 macht:

%Vor%

Wenn diese Transformation auf ein beliebiges XML-Dokument angewendet wird (nicht verwendet), wird das gewünschte, korrekte Ergebnis erzeugt :

%Vor%     
Dimitre Novatchev 08.10.2010, 03:07
quelle
5

Ja, mit XSLT 2.0 ist es möglich und sehr einfach.

Es gibt viele Funktionen für Datum / Uhrzeit / Dauer in XPATH 2.0 , die Teil von XSLT 2.0 sind.

Dieses Beispiel subtrahiert 1 Tag vom Datum 2010-01-01 bis zum 31.12.2009:

%Vor%     
Mads Hansen 08.10.2010 00:48
quelle
1

Nun, XSLT kann Strings teilen und Zahlen parsen, also ja, es wäre "möglich".

Es wäre jedoch viel einfacher und effizienter, wenn Sie Erweiterungsfunktionen verwenden und diese in einer anderen Sprache implementieren könnten. Ob und wie das funktioniert, hängt jedoch von der verwendeten XSLT Engine ab.

EXSLT kann alles haben, was Sie brauchen: Ссылка

    
Lucero 07.10.2010 19:50
quelle
0

Ich kann sehen, dass alle erwähnten Lösungen für XSLT 2.0 sind. Ich habe eine ähnliche Lösung für XSLT 1.0 mit EXSLT date: add

Beispiel: Beachten Sie, dass die Anzahl der zu subtrahierenden Tage 365 ist und wir sie als Standardstartdatum benötigen. In diesem Fall müssen wir die Dauer 365 Tage im Format xs: dayTimeDuration angeben, d. H. "-P365D".

Hier finden Sie den Code.

%Vor%     
Arpit Agarwal 22.05.2017 22:40
quelle
-2
%Vor%     
Fredo 19.02.2014 23:16
quelle

Tags und Links