我向客户提供许多.xslt
(XSLT 1.0) 文件,用于生成电子邮件正文。 它们被设计和提供<xsl:output method="**html**" />
,一切都很好。
客户被告知,如果他们的邮件系统无法处理 HTML,他们可以简单地将.xslt
文件更改为 <xsl:output method="**text**" />
。 一切都很好。 现在我已经进行了更改,以便模板包含 CSS style
声明,例如:
<style>
body { font-family: Verdana, Arial, Sans-Serif; font-size: 10pt; }
</style>
虽然 text
输出方法正确知道省略<style>
标语行,但输出文本最终会包含body { font-family: Verdana, Arial, Sans-Serif; font-size: 10pt; }
,这在文本邮件内容中显然是不需要的!
我可以对该片段做些什么来防止它在
method="text"
时输出? (我对此表示怀疑。或者,
<xsl:if test="..."
有什么方法可以访问输出方法,以便我可以省略文本?
正如我在评论中所说,我认为这不是一个好方法 - 但您可以使用以下表达式获取输出方法的值:
document('')/*/xsl:output/@method