我正在开发一个以电子邮件地址作为参数的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以便正确转义“@”符号。请注意,我可以访问将提供输入参数的进程,并且还可以在该点进行转义如果我知道要将其转义为什么。
答案 0 :(得分:1)
经过进一步调查后,问题是我使用 - param 参数为 xsltproc 提供参数。使用 - stringparam 代替解决此问题。