Wolfgang Schlaupitz: XSLT - Separatoren einfügen

Beitrag lesen

Hallo

Ich möchte Elemente durch einen Separator trennen.

XML:
<vater>
text(<kind id="1">text</kind>)Text(<kind id="2">Text</kind><kind id="3">Text</kind><kind id="4">Text</kind><kind id="5">Text</kind>
<kind id="6">Text</kind><kind  id="7">Text</kind>)Text(Text<kind id="8">Text</kind>
<kind id="9">Text</kind><kind id="10">Text</kind><kind id="11">Text</kind><kind id="12">Text</kind>).
</vater>

Der Separator soll nur dann eingfügt werden, wenn auf ein <kind>-Element
ein weiteres folgt.

XSLT:
...
<xsl:when test="following-sibling::kind">
...
<xsl:value-of select="." />xsl:text;&#160;</xsl:text>
...

Ergebnis:
<vater>
text(<kind id="1">text</kind>;&#160;)Text(<kind id="2">Text</kind>;&#160;<kind id="3">Text</kind>;&#160;<kind id="4">Text</kind>;&#160;<kind id="5">Text</kind>;&#160;
<kind id="6">Text</kind>;&#160;<kind  id="7">Text</kind>;&#160;)Text(Text<kind id="8">Text</kind>;&#160;
<kind id="9">Text</kind>;&#160;<kind id="10">Text</kind>;&#160;<kind id="11">Text</kind>;&#160;<kind id="12">Text</kind>).
</vater>

Problem:
Es kommt vor, dass in der Ausgabe zwischen den <kind>-Elementen Text steht. Zusammenhängende <kind>-Elemente sind durch runde Klammern begrenzt.
Der Separtator so nur in diesem Fall gesetzt werden:
...</kind><kind...
=>...</kind>;&#160;<kind...
und nicht bei
</kind>)Text(Text<kind...
(falsches ergebnis: ...</kind>;&#160;)Text(Text<kind...)

Kann mir hierbei jemand weiterhelfen.

Danke mal.

Gruss
Wolfgang