Änderungen von Dokument XSL-Transformation


Von Version 4.2
bearbeitet von gru
am 13.01.2023, 18:02
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 4.3
bearbeitet von gru
am 13.01.2023, 18:42
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -2,8 +2,37 @@
2 2  
3 3  == Unterstützte Versionen des XSLT- und XPath-Standards ==
4 4  
5 -Bis zur {{formcycle/}} Version 7.2 werden nur //XSL-Transformationen// im Sprachstandard XSLT 1.0 und XPath 1.0 unterstützt.
5 +Bis einschließlich {{formcycle/}} Version 7.2.1 werden nur //XSL-Transformationen// im Sprachstandard XSLT 1.0 und XPath 1.0 unterstützt.
6 6  
7 7  {{version major="7" minor="3" patch="0"/}}Ab {{formcycle/}} Version 7.3 wird ein anderer Prozessor verwendet, welcher XSLT 3.0 und XPath 3.1 unterstützt.
8 8  
9 +== Unterschiede bei der Verwendung von XSL-Transformationen ab {{formcycle/}} Version 7.3 ==
9 9  
11 +Grundsätzlich
12 +
13 +Der in älteren {{formcycle/}} Versionen verwendete XSLT-Prozessor erlaubte aber an manchen Stellen mehr, als der Sprachstandard zwingend vorschreibt. Dies kann dazu führen, dass bestehende XSL-Transformationen nach einem Update auf eine {{formcycle/}} Version größer gleich 7.3 nicht mehr funktionieren.
14 +
15 +Bisher sind folgende Probleme bekannt:
16 +
17 +=== Verschaltet Funktionsaufrufe ===
18 +
19 +Funktionsaufrufe in der Form
20 +{{code language="none"}}{{/code}}
21 +sind nicht mehr möglich. Stattdessen kann man das Ergebnis der inneren Funktion zum Beispiel in Variablen zwischenspeichern:
22 +{{code language="none"}}{{/code}}
23 +
24 +=== Leerzeichen
25 +
26 +Insbesondere bei der Auflösung von Schleifenvariablen müssen in bestimmten Konstellationen Leerzeichen zwingend verwendet werden, wo dies zuvor nicht nötig war.
27 +
28 +=== Funktionen in For-Each-Schleifen ===
29 +
30 +Der Vergleich der position() Variable z.B. innerhalb eines xsl:if-Blocks konnte zuvoer gegen einen String mit dem Positionswert erfolgen.
31 +
32 +Dies entsprach nie dem Standard, und ist nicht mehr möglich. Stattdessen muss der Vergleich mit dem reinen Zahlenwert erfolgen:
33 +
34 +
35 +
36 +
37 +
38 +