我在 HTML 中使用 XSLT 来操作提供给我的一些 XML。提供一些关于我需要做什么的背景:
我会收到一些 XML 格式的
<base>
<string>
"Hi, this is a String"
</string>
<redlist>
<red>
<start>3</start>
<end>5</end>
</red>
<red>
<start>9</start>
<end>11</end>
</red>
</redlist>
</base>
这最终应该会生成一些输出 HTML,这些 HTML 将突出显示<red>
标记中以红色表示的包含字符。所以这应该输出“嗨,这是一个字符串”,“th”和“is”部分为红色。
我认为我需要对子字符串进行某种花哨的处理,但我真的不知道该怎么做。
有什么建议么?
更新:
我有以下 -
<xsl:for-each select="base/redlist">
<span style="color:black">
<xsl:value-of select="substring(../string, 0, red/start)">
</span>
<span style="color:red">
<xsl:value-of select="substring(../string, red/start, red/end)">
</span>
</xsl:for-each>
但显然这不起作用,因为在 for-each 循环的每次迭代中都是 0。