确定<xsl:value-of> context item / node </xsl:value-of>的值

时间:2014-07-10 18:13:22

标签: java sql xml xslt xpath

关于XML和XPath的新手问题。我调试了一些使用XML转换生成的报告,以及一些相关的java和sql函数。有人可以帮我确定在将关联的xslt应用于源XML时如何填充以下值。

我在xslt中有以下语句:

<xsl:if test="$prodType = 'IRS' or $prodType = 'ZCS' or $prodType = 'BASIS'">
  <xsl:value-of select="$root/ISDA"/>
</xsl:if>

$ root变量在xslt的顶部定义为:

<xsl:variable name="root" select="/*"/>

所以,我希望我能找到一个&#34; ISDA&#34;源XML中的元素,但情况并非如此。我看到我们在java代码中填充了一个相关变量(这是我确定的报告中显示的内容),但是我无法在&#34之间建立连接。 ; ISDA&#34; xslt中的项目和&#34; isda&#34;我们的java代码中的变量。

问题:

  1. 我是否缺少Xpath功能?
  2. xslt转换如何获取&#34; isda&#34;来自java(或可能是SQL)的值?
  3. 不应该是&#34; ISDA&#34; item / variable在某处定义?我不能 找到它(我搜索了属性文件和相关的unix 启动脚本,但不是我无法访问的SQL代码。
  4. 任何指针都会受到赞赏。

    源XML将从以下内容开始:

    <SWAP>
     <TradeId>467262IC</TradeId>
     <TradeType>SWAP</TradeType>
     <Env TYPE="EntList" SINGLE="Y">
      <ENV>
      ...
    

    非常感谢,

    Al D。

1 个答案:

答案 0 :(得分:0)

我能够找到用于填充上述变量的java方法。 java方法按顺序执行了几个转换,其中只有一个使用我在上面评论过的xslt和XML源文件。在另一个包含我感兴趣的值的转换中使用了一个XML参考源(隐藏在另一个文件夹中)。

非常感谢,

Al D。

有趣的是,没有调用上面提到的另一种方法,它持有类似的isda变量,看起来有点臃肿。使搜索更加困难:^)