在XSL中转义“@”/“at”符号

时间:2013-04-19 18:04:30

标签: xml escaping

我正在开发一个以电子邮件地址作为参数的XSLT。当 xsltproc 到达转换中实际使用传入值的点时,它会失败,因为电子邮件地址包含“@”符号:

<xsl:template match="revision/author/email"> 
    <xsl:element name="email">
        <xsl:value-of select="$email" />
    </xsl:element>
</xsl:template>

返回的输出是:

XPath error : Invalid expression
curses@example.com

如何修改XSL以便正确转义“@”符号。请注意,我可以访问将提供输入参数的进程,并且还可以在该点进行转义如果我知道要将其转义为什么。

1 个答案:

答案 0 :(得分:1)

经过进一步调查后,问题是我使用 - param 参数为 xsltproc 提供参数。使用 - stringparam 代替解决此问题。