Xirpy: XML-Formatierung - Zeilenumbruch im String

Beitrag lesen

Besten Dank, Thomas für deine schnelle Antwort!

Mit substring hat das Ganze schon super geklappt. Hier der XSL-Code:

  
<?xml version="1.0" encoding="iso-8859-1"?>  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
    <xsl:key name="content1-only" match="element" use="@attribute1"/>  
    <xsl:template match="data">  
        <xsl:text>&#10;</xsl:text>  
        <data>  
            <xsl:apply-templates>  
            </xsl:apply-templates>  
        </data>  
    </xsl:template>  
    <xsl:template match="element">  
        <xsl:text disable-output-escaping="yes">&#9;&lt;element</xsl:text>  
        <xsl:text>&#10;</xsl:text>  
        <xsl:text>&#9;&#9;attribute1="[</xsl:text>  
        <xsl:text>&#10;&#9;&#9;&#9;</xsl:text>  
        <xsl:value-of select="substring-after(substring-before(@attribute1,','),'[')"/>  
        <xsl:text>,&#10;&#9;&#9;   </xsl:text>  
        <xsl:value-of select="substring-before(substring-after(@attribute1,','),']')"/>  
        <xsl:text>&#10;&#9;&#9;]"&#10;</xsl:text>  
        <xsl:text>&#9;&#9;attribute2="[</xsl:text>  
        <xsl:text>&#10;&#9;&#9;&#9;</xsl:text>  
        <xsl:value-of select="substring-after(substring-before(@attribute2,','),'[')"/>  
        <xsl:text>,&#10;&#9;&#9;   </xsl:text>  
        <xsl:value-of select="substring-before(substring-after(@attribute2,','),']')"/>  
        <xsl:text>&#10;&#9;&#9;]"&#10;</xsl:text>  
        <xsl:text disable-output-escaping="yes">&#9;/&gt;</xsl:text>  
    </xsl:template>  
</xsl:stylesheet>  

Das ergibt folgenden XML-Output:

  
<?xml version="1.0" encoding="utf-8"?>  
<data>  
   	<element  
		attribute1="[  
		    #content1,  
		    #content2  
		]"  
		attribute2="[  
		    #content3,  
		    #content4  
		]"  
	/>  
</data>  

Wie kann ich das Ganze aber gestalten, wenn die Anzahl der Inhalte variiert? Zum Beispiel:

  
<element attribute1="[#content1, #content2, #content3, #content4]"  

Kann man vorher den Inhalt auslesen und so die Anzahl ermitteln? Und damit die Formatierung an die Gegebenheiten anpassen?