我想編寫一個樣式表,其中突出顯示文本中的關鍵字。使用xslt在文本中查找關鍵字
<?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來保存原始值,但這不起作用。該變量似乎在每個循環中附加新值(並且不僅包含新值)。
有沒有辦法輸出原始格式的元素(無大寫)?
由於提前,
使用
i
標誌考慮後你想用XSLT來創建一個最小的,但完整的XML輸入樣本和HTML結果對於該示例,我們可以展示正確的XSLT方法。到目前爲止,您只展示了一些XSLT,它不會執行您想要的任何操作,而不會讓我們看到您針對其執行的輸入。 –