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, '([$#])', '\')
应该可以。
我是 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, '([$#])', '\')
应该可以。