comment-escape-string — Prepare a string for inclusion in an XML comment


The comment-escape-string template returns a string that has been transformed so that it can safely be output as an XML comment. Internal occurrences of "--" will be replaced with "- -" and a leading and/or trailing space will be added to the string, if necessary.

<xsl:template name="comment-escape-string">
  <xsl:param name="string" select="''"></xsl:param>

  <xsl:if test="starts-with($string, '-')">
    <xsl:text> </xsl:text>

  <xsl:call-template name="comment-escape-string.recursive">
    <xsl:with-param name="string" select="$string"></xsl:with-param>

  <xsl:if test="substring($string, string-length($string), 1) = '-'">
    <xsl:text> </xsl:text>