XSLTで重宝しているコード

XSLTで重宝しているコード

  1. \n
  2. str * timesのようななにか

initialize.xslというXSLTをインクルードして使いまわしてる。非常にアレすぎるところもあるけど、あると便利なコードについて。

\n

<xsl:variable name="LF" select="'&#xA;'"/>

\n$LFという変数に代入しただけ。それでもXSLTでは\nなんてリテラルはないので馬鹿にできない。とおもう。

str * timesのようななにか

<xsl:template name="each-str">
  <xsl:param name="i"/>
  <xsl:param name="str"/>
  <xsl:if test="$i &gt; 0">
    <xsl:call-template name="each-str">
      <xsl:with-param name="i" select="$i - 1"/>
      <xsl:with-param name="str" select="$str"/>
    </xsl:call-template>
  </xsl:if>
</xsl:template>

XSLTは関数型プログラミング言語らしいので、それっぽい書き方になった。

iに繰り返す回数 (times) 、strに繰り返す文字列 (str) を指定してやる。

プレーンテキストに変換する時に重宝する…かも。