1<?xml version="1.0"?> 2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 3<xsl:output method="text"/> 4<xsl:variable name="text_width" select="65"/> 5 6<xsl:template match="/"> 7 <xsl:text>mp3unicode ChangeLog

</xsl:text> 8 <xsl:apply-templates select="releases/release"/> 9</xsl:template> 10 11<xsl:template match="release"> 12 <xsl:value-of select="date"/> 13 <xsl:text> -- Version </xsl:text> 14 <xsl:value-of select="version"/> 15 <xsl:text>
</xsl:text> 16 <xsl:apply-templates select="changes/change"/> 17 <xsl:if test="position() != last()"> 18 <xsl:text>

</xsl:text> 19 </xsl:if> 20</xsl:template> 21 22<xsl:template match="change"> 23 <xsl:apply-templates/> 24 <xsl:text>
</xsl:text> 25</xsl:template> 26 27<xsl:template match="text()"> 28 <xsl:text>*</xsl:text> 29 <xsl:call-template name="wrapper"> 30 <xsl:with-param name="offset" select="1"/> 31 <xsl:with-param name="width" select="1"/> 32 </xsl:call-template> 33</xsl:template> 34 35<xsl:template name="wrapper"> 36 <xsl:param name="offset"/> 37 <xsl:param name="width"/> 38 <xsl:variable name="token" select="substring-before(substring(concat(.,' '),$offset),' ')"/> 39 <xsl:if test="string-length($token)>0"> 40 <xsl:if test="$text_width>=string-length($token)+$width+1"> 41 <xsl:text> </xsl:text><xsl:value-of select="$token"/> 42 <xsl:call-template name="wrapper"> 43 <xsl:with-param name="offset" select="$offset+string-length($token)+1"/> 44 <xsl:with-param name="width" select="$width+string-length($token)+1"/> 45 </xsl:call-template> 46 </xsl:if> 47 <xsl:if test="string-length($token)+$width+1>$text_width"> 48 <xsl:text>
 </xsl:text><xsl:value-of select="$token"/> 49 <xsl:call-template name="wrapper"> 50 <xsl:with-param name="offset" select="$offset+string-length($token)+1"/> 51 <xsl:with-param name="width" select="string-length($token)+2"/> 52 </xsl:call-template> 53 </xsl:if> 54 </xsl:if> 55</xsl:template> 56 57</xsl:stylesheet> 58