テキスト内のキーワードを強調するスタイルシートを書きたい。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<xsl:param name="keyword">keyword</xsl:param>
<html>
<body>
<xsl:for-each select="element()">
<xsl:variable name="elValue" select="."/>
<xsl:analyze-string select="upper-case(.)" regex="{upper-case($keyword)}*">
<xsl:matching-substring>
<i>
<xsl:value-of select="."/>
</i>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."/>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
正規表現を使用しました。
私の問題:html出力全体が大文字になりました。変数elValueを使用して元の値を保存しようとしましたが、機能しません。変数は、各ループに新しい値を追加しているようです(新しい値が含まれているだけではありません)。
要素の元の形式(大文字なし)を出力する方法はありますか?
前もって感謝します、