Holge r: Text Absätze markieren

Beitrag lesen

Hallo,

falls es noch nicht gelöst ist sollte nachfolgendes stylesheet deine Aufgabe lösen. Allerdings ist es wichtig zu wissen, wie das xml erstellt wurde, da keine schriftcodierung vorhanden ist, kann man nur raten. Du must also wissen wie die zeilenumbrüchen gesetzt werden, hier das sheet:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="/">
        xsl:apply-templates/
    </xsl:template>
    <xsl:template match="TextArea">
        <TextArea>
        <!-- tokenize trigger nicht nur '&#10;' sondern ' &#10;' -->
            <xsl:for-each select="tokenize(text(),' &#10;')">
                <xsl:if test="not(normalize-space(.) ='')">
                    <Text>
                        <xsl:value-of select="normalize-space(.)"/>
                    </Text>
                </xsl:if>
            </xsl:for-each>
        </TextArea>
    </xsl:template>
</xsl:stylesheet>

Ergibt bei mir:
<?xml version="1.0" encoding="UTF-8"?>
<TextArea>
   <Text>Titel</Text>
   <Text>Das ist ein Text mit mehreren Abschnitten.</Text>
   <Text>Hier kommt wieder ein Abschnitt, welcher auch noch einzelne Zeilenumbrüche enthält, die ebenfalls erhalten bleiben sollen.</Text>
   <Text>Und zum Schluss noch ein Absatz.</Text>
</TextArea>