在xsl变量中转义&符号

时间:2016-03-28 20:40:45

标签: xslt-1.0

我正在尝试使用qrserver.com将某些文本变量编码为QR码。 (具体来说,装箱单上的礼物信息) 以下是与编码相关的代码片段:

<!-- gift message -->
                   <xsl:for-each select="Customer/Order/Item">
                             <xsl:for-each select="Option[Name='Gift Message (optional)']">

                        <xsl:variable name="test" select="translate(Description,'','')" />
                             <xsl:value-of select="concat('https://api.qrserver.com/v1/create-qr-code/?data=', $test,'&amp;size=100x100&amp;charset-source=UTF-8')" />
                             </xsl:for-each>
                </xsl:for-each>

有时文字会包含&符号,例如“圣诞快乐和新年快乐”,所以传递的网址是

https://api.qrserver.c-o-m/v1/create-qr-code/?data=Merry圣诞节&amp;新年快乐&尺寸= 100x100

并且&符号后的所有内容都被截断了。结果是一个QR码编码“圣诞快乐”,但没有新年快乐。我尝试使用translate函数将“&”替换为“and”,但translate(Description,'&amp;','和')仅适用于第一个字母,因此它将“&”替换为“a”。这是在xsl 1.0中,所以我没有替换功能的选项。有没有人知道如何处理这些&符号?提前谢谢!

0 个答案:

没有答案