如何从样式表调用JBOSS服务?

时间:2014-03-05 15:52:45

标签: xslt powershell jboss

我有一个项目需要从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>

1 个答案:

答案 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属性。