我向客户提供了许多.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="..."
是否可以访问输出方法,以便我可以省略文本?
答案 0 :(得分:1)
正如我在评论中所说,我认为这不是一个好方法 - 但是可以通过使用以下表达式来获取输出方法的值:
document('')/*/xsl:output/@method