xslt 2.0 如何用转义美元替换 $ (用于转换为 LaTeX)

xslt 2.0 how replace $ by escaped dollar (for conversion to LaTeX)

我是 XSLT 的新手。我在谷歌上进行了大量搜索,但无法弄清楚如何执行以下操作:

我正在将 XML 转换为 LaTeX。当然,LaTeX 需要对 $ 和 # 等字符进行转义。我在替换功能中尝试了以下但它不起作用。 (它们在没有替换功能的情况下也能正常工作。)

<xsl:template match="xyz:doc">
\subsubsection{<xsl:value-of select="replace( xyz:headline, '($)', '$1' )"/>}  
...
</xsl:template>

<xsl:template match="xyz:doc">
\subsubsection{<xsl:value-of select="replace( xyz:headline, '$', '$' )"/>}  
...
</xsl:template>

可能需要转义的内容是: "Locally defined field #931" 或 "Locally defined subfield $b"

我做错了什么? 非常感谢您的回答!

如果要将输入中的美元符号 $ 替换为输出中的 $,请使用 replace(xyz:headline, '$', '\$').

如果有多个字符需要相同的转义,那么 replace(xyz:headline, '([$#])', '\') 应该可以。

样本位于 http://xsltransform.net/bdxtqX/1