Ich habe eine xml lists.xml
:Umgang mit Leerraum in XSLT
<?xml version="1.0" encoding="UTF-8"?>
<data>
<list>
<item>Salt</item>
<item>Sugar</item>
</list>
<list>
<item>Eggs</item>
<item>Butter</item>
</list>
</data>
und einen XSLT-Stylesheet transform.xslt
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
<xsl:output method="text"/>
<xsl:template match="//list/item">
<xsl:text> - </xsl:text>
<xsl:value-of select="." />
<xsl:text>
</xsl:text><!--put a line-break between two list points--->
<xsl:if test="position() = last()"><!--put another line-break at the end of a list-->
<xsl:text>
</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Meine erwartete Ausgabe ist in etwa wie folgt:
- Salt
- Sugar
- Eggs
- Butter
aber stattdessen bekomme ich das oben genannte mit viel zu viel ausgabe, wenn ich mit sachsen (oder oth) trasforme Prozessoren). Wie behandle ich White-Space in XSLT richtig?
Hinweis: Ich bin komplett neu in XSLT und ich bin mir bewusst, dass mein Code oben schlecht sein könnte - so, neben der Frage, schätze ich alle Vorschläge, um es eleganter/besser zu lesen/schneller/kürzer. ..
danke, hat perfekt funktioniert! – chr