我有一个项目需要从JBOSS 6发送电子邮件。我希望我可以从样式表中完成。有没有办法从XSL调用JBOSS 6中的'sendmail'服务?我只是不确定它是否可能,甚至不知道如何做到这一点。如果它不可能,也许我可以让样式表将一些文本输出到某个文件中,以供PowerShell观看和发送邮件吗?
编辑:我添加了代码
这是我尝试生成“.txt”文件的一些代码,但它没有生成。我从变压器中看不到任何错误。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="exslt"
exclude-result-prefixes="exsl"
version="1.0">
<xsl:output method="text" indent="no"/>
<xsl:variable name="emailPID" select="attr[@tag='00100020']"/>
<xsl:variable name="emailPName" select="attr[@tag='00100010']"/>
<!-- overwritten by application with actual values -->
<xsl:param name="calling" select="'SAMPLE_MOD'"/>
<xsl:param name="called" select="'SERVER1'"/>
<xsl:param name="date" select="'20051206'"/>
<xsl:param name="time" select="'115600.000'"/>
<xsl:template match="/dataset">
<exsl:document href="c:\apps\foo.txt">
<xsl:copy-of select="$emailPID"/>
<xsl:copy-of select="$emailPName"/>
</exsl:document>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:0)
如果我的样式表使用XSLT1,我可以在一个文件中使用'TWO'输出方法吗?一个为我的应用程序执行“method =”xml“”,另一个执行“method =”text“”生成文本文件?
不,使用纯XSLT 1.0,无法生成多个输出文件。
您可以使用EXSLT的扩展功能,请参阅Dimitre Novatchev的回答here。你的问题的另一个解决方案是编写两个单独的XSLT样式表,一个产生“文本”输出,另一个产生“xml”。
此外,method
元素的xsl:output
属性是唯一的,并且在XSLT 1.0样式表中不能同时存在“xml”和“text”。
但是,如果使用XSLT 2.0,xsl:result-document
元素将涵盖此功能。此元素可以多次使用,并且还具有method
属性。