Xirpy: XML-Formatierung - Zeilenumbruch im String

Beitrag lesen

Heho Thomas,
besten Dank für deine Hilfe! Ich habe meine Aufgabe lösen können.
Hier mal der XSL-Code:

  
<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 name="MyFunc">  
        <xsl:param name="string"/>  
        <xsl:variable name="length" select="string-length($string)"/>  
        <xsl:choose>  
            <xsl:when test="contains($string,'#')">  
                <xsl:value-of select="substring-before($string,'#')"/>  
                <xsl:copy-of select="' '"/>  
                <xsl:text>&#10;&#9;&#9;&#9;#</xsl:text>  
                <xsl:call-template name="MyFunc">  
                    <xsl:with-param name="string"  
                                    select="substring-after($string,'#')"/>  
                    <xsl:with-param name="from" select="'#'"/>  
                    <xsl:with-param name="to" select="' '" />  
                </xsl:call-template>  
            </xsl:when>  
            <xsl:otherwise>  
                <xsl:choose>  
                    <xsl:when test="$length=2">  
                        <xsl:text>[]"</xsl:text>  
                    </xsl:when>  
                    <xsl:otherwise>  
                        <xsl:value-of select="substring-before($string,']')" />  
                        <xsl:text>&#10;&#9;&#9;&#9;]"</xsl:text>  
                    </xsl:otherwise>  
                </xsl:choose>  
            </xsl:otherwise>  
        </xsl:choose>  
    </xsl:template>  
  
    <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;&#9;&#9;attribute1 = "</xsl:text>  
        <xsl:call-template name="MyFunc">  
            <xsl:with-param name="string" select="@attribute1"/>  
        </xsl:call-template>  
        <xsl:text>&#10;&#9;&#9;attribute2 = "</xsl:text>  
        <xsl:call-template name="MyFunc">  
            <xsl:with-param name="string" select="@attribute2"/>  
        </xsl:call-template>  
        <xsl:text disable-output-escaping="yes">/&gt;</xsl:text>  
    </xsl:template>  
  
</xsl:stylesheet>  

Wenn noch jemanden Verbesserungsvorschläge zur Optimierung des Codes hat, bin ich für jeden Tipp dankbar :)