我正在尝试使用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,'&size=100x100&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中,所以我没有替换功能的选项。有没有人知道如何处理这些&符号?提前谢谢!