Xslt, wie bedingte ungerade / gerade Zeilen formatiert werden

8

Ich habe eine HTML-Tabelle geschrieben mit xslt-Transformation, die so aussieht

%Vor%

Ich brauche eine Möglichkeit, verschiedene Klassen oddRow / evenRow auf tr elems anzuwenden.

%Vor%

Ich habe versucht, eine Vorlage wie diese nach jedem & lt; tr & gt; elem

%Vor%

aber das funktioniert nicht. Irgendeine Idee?

    
mickthompson 15.07.2010, 10:41
quelle

3 Antworten

17

In einfach css

könntest du wahrscheinlich davonkommen %Vor%

Wenn Sie nicht können, könnten Sie etwas wie

tun %Vor%

Beachten Sie, dass ich dies in die SO-Textbox geschrieben und nicht getestet habe.

    
Kris 15.07.2010 10:54
quelle
3

Diese Umwandlung :

%Vor%

bei Anwendung auf dieses XML-Dokument :

%Vor%

erzeugt das gewünschte Ergebnis :

%Vor%

Beachten Sie :

  1. Wir verwenden das feingranularste Traversal und die Verarbeitung eines XML-Dokuments - Knoten für Knoten . Nach der Identitätstransformation ist dies das zweitwichtigste XSLT-Entwurfsmuster.

  2. Der Rest der kleinen Tricks ist nicht so wichtig .

Dimitre Novatchev 16.07.2010 02:37
quelle
0

Es sieht so aus, als ob die Vorlage conditionalRowStyle zum Hinzufügen von Stilen zu der Tabelle im selben Stylesheet wie die Tabellengruppe liegt. Wenn dies der Fall ist, wird es nicht wie erwartet funktionieren, da die in der conditionalRowStyle Vorlage ausgewählten Knoten aus dem Quelldokument (mit someNode ) stammen und nicht aus dem Zieldokument (wo die generierten Tabellenelemente sind.)

Sie können dies "hacken", indem Sie zuerst die Tabellenausgabe der someNode -Templates zu einer Variablen sammeln, auf der Sie dann die Vorlage conditionalRowStyle zuerst ausführen können, bevor Sie schließlich den Variablenwert als Ergebnis des Stylesheets ausgeben. Aber es ist viel einfacher, zwei Stylesheets zu verwenden, die Sie nacheinander in einer Pipeline ausführen. Das erste Stylesheet konvertiert die someNode -Daten in eine Tabelle und die zweite wendet conditionalRowStyle Formatierung auf die Tabelle an.

    
mdma 15.07.2010 11:04
quelle

Tags und Links