我正在通过 XSLT 使用 XML 数据创建幻灯片。该过程的一部分是使用标题初始化一个数组:
item[0] = ["How do I jump?"];
item[1] = ["I know how to jump!"];
item[2] = ["Did you read "how to jump""];
请注意,第三个元素的书名用双引号括起来?好吧,初始化该元素会导致样式表的编译出现问题(应该如此),但是有什么方法可以删除双引号并用单引号替换它们?
<xsl:variable name="apos"><xsl:text>'</xsl:text></xsl:variable>
<xsl:variable name="double_quote"><xsl:text>"</xsl:text></xsl:variable>
<xsl:for-each select="/data/calendar/event/title">
<xsl:variable name="index">
<xsl:value-of select="position() - 1"/>
</xsl:variable>
<xsl:variable name="safeTitle" select="translate(text(),$double_quote, $apos)" /><!-- prevents double quotes from being used inside an array using double quotes -->
fadetitlesSS12<xsl:value-of select="/data/calendar/id" />[<xsl:value-of select="$index" />]=["<xsl:value-of select="$safeTitle" />"];
</xsl:for-each>