我有一个 XSLT 模板,它将地址数据输出为 CSV。我想将一些值用双引号括起来,因为它们包含逗号作为地址数据的一部分。
我的问题是转换后,双引号丢失了。我可以让处理器插入几乎任何东西,但不能插入我想要的双引号。
这是一些示例代码:
<xsl:value-of select="./*/*/LotNumber"/>
<xsl:value-of select="$delim"/>
<xsl:value-of select="./*/*/StreetName"/>
<xsl:value-of select="$delim"/>
<xsl:value-of select="./*/*/StreetType"/>
我之前将 $delim 定义为:
<xsl:param name="delim" select="','" />
所以这个模板会输出例如:
10,SMITH,ST
假设为了争论,我想将街道名称用双引号括起来,这样它就可以显示为:
10,"SMITH",ST
我尝试了很多东西,但它们都是声明双引号的主题的变体:
<xsl:param name="quote">"</xsl:param>
然后将我的价值包装为:
<xsl:value-of select="$quote"/>
<xsl:value-of select="./*/*/StreetName"/>
<xsl:value-of select="$quote"/>
但是当转换运行时,我什么也得不到。它只是看起来和以前一样。我尝试过的其他事情是:
- 将双引号作为文字放在模板中。完全把事情搞砸了。
- 用“代替”。没有效果,无论如何我输出的是文本而不是 html。
- 使用和选择变量。
有什么建议么?