JavaDoc Kommentare per XSLT ausgeben
Dieses XSLT Template formatiert einen Text als JavaDoc Kommentar indem
dieser in '/**' und '*/' eingeschlossen wird und
jeder Zeile ein ' * ' vorangestellt wird. Die Einrücktiefe kann als Parameter
übergeben werden.
<xsl:template name="format-comment">
<xsl:param name="str" />
<xsl:param name="indent" />
<xsl:value-of select="$indent" />
<xsl:text>/**</xsl:text>
<xsl:call-template name="format-comment-recursive">
<xsl:with-param name="str" select="$str" />
<xsl:with-param name="indent" select="$indent" />
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:value-of select="$indent" />
<xsl:text> */</xsl:text>
</xsl:template>
<xsl:template name="format-comment-recursive">
<xsl:param name="str" />
<xsl:param name="indent" select="''" />
<xsl:if test="string-length($str) > 0">
<xsl:text> </xsl:text>
<xsl:value-of select="$indent" />
<xsl:text> * </xsl:text>
<xsl:choose>
<xsl:when test="contains($str, ' ')">
<xsl:value-of select="substring-before($str, ' ')" />
<xsl:call-template name="format-comment-recursive">
<xsl:with-param name="str" select="substring-after($str, ' ')" />
<xsl:with-param name="indent" select="$indent" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$str" />
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:template>
