<xsl:输出方法= "text" /> 产生一些不需要的输出



我向客户提供许多.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

相关内容

  • 没有找到相关文章

最新更新