Erstellen einer XSLT-Zeichenfolge (Variable) in einer foreach-Schleife

9

Das Problem, vor dem ich stehe, scheint einfach zu sein, aber in allem XSL ein Neuling zu sein - ich muss noch eine richtige Lösung finden. Ich möchte eine Zeichenfolge erstellen, indem ich die Ergebnisse einer foreach Elementschleife verkette, die ich später als Wert für ein Attribut eines HTML-Elements verwenden kann.

Gegeben:

%Vor%

Gewünschte Ausgabe: CBS;RCA;Virgin records

Ich brauche einen gültigen Teil des XSLT Codes, der diese Transformation in der oben beschriebenen Weise durchführen würde. Ich glaube, ich brauche eine xsl-Variable , die das Ergebnis der Verkettung von <company> und ein Trennzeichen ; enthalten würde. Wie kann das gemacht werden? Danke.

    
electroglow 12.08.2012, 01:51
quelle

3 Antworten

13

Ich glaube nicht, dass Sie XSL-Variablen zum Verketten verwenden können, denn sobald ein variabler Wert festgelegt ist, kann nicht geändert werden . Stattdessen denke ich, dass du etwas wie:

willst %Vor%

Macht das für Sie Sinn?

Edit: Habe gerade gemerkt, dass ich vielleicht falsch gelesen habe, wie Sie die Variable verwenden wollten. Der Ausschnitt, den ich oben gepostet habe, kann zur späteren Verwendung in ein variables Element eingeschlossen werden, wenn Sie das so gemeint haben:

%Vor%     
Erika E 12.08.2012, 02:49
quelle
3

Hier ist eine einfache, wahre XSLT-Lösung :

%Vor%

Wenn diese Umwandlung auf das bereitgestellte XML-Dokument angewendet wird:

%Vor%

Das gewünschte, korrekte Ergebnis (alle Unternehmen, die verkettet und durch ; abgegrenzt sind) wird erzeugt :

%Vor%     
Dimitre Novatchev 12.08.2012 03:30
quelle
3

Wenn Sie XSLT 2.0 verwenden können, wäre einer der folgenden Schritte möglich:

Verwenden Sie die Funktion string-join() :

%Vor%

Verwenden Sie @separator mit xsl:value-of :

%Vor%     
Mads Hansen 12.08.2012 03:45
quelle

Tags und Links