为xslt文件中的属性分配动态值

时间:2015-07-20 16:34:00

标签: xslt soa jdeveloper bpel

我们正在努力集成其中一个服务器,其中目标服务器需要以下面的格式输入有效负载。在这里我们必须传递几个参数和值,其中一个是动态的。 如下面的有效负载所示,对于属性storeID,我们需要传递一个应该来自转换的值。我没有看到我可以在SOA 11g中进行转换的选项

注意: - 我在BPEL中创建了一个变量,需要在这里传递相同的变量。

有人可以帮忙解决这个问题。

<modifyRequest dn="storeID=123456780,ou=store,o=xxxx.com">
 <modification name="TelephoneNo" operation="replace">
      <value>1231231230</value>
 </modification>

这就是我的xslt文件的样子: -

<ns6:modifyRequest>
    <xsl:attribute name="dn">
      <xsl:text disable-output-escaping="no">storeID=123456780,ou=sites,o=xxxx.com</xsl:text>
    </xsl:attribute>
    <ns6:modification>
      <xsl:attribute name="name">
        <xsl:text disable-output-escaping="no">TelephoneNo</xsl:text>
      </xsl:attribute>
      <xsl:attribute name="operation">
        <xsl:text disable-output-escaping="no">replace</xsl:text>
      </xsl:attribute>
      <ns6:value>
        <xsl:text disable-output-escaping="no">1212121212</xsl:text>
      </ns6:value>
     </ns6:modification>
  </ns6:modifyRequest>

1 个答案:

答案 0 :(得分:0)

除了使用xsl:text输出固定(常量)文本外,您还可以使用xsl:value-of输出评估XPath表达式所产生的文本。

您可以简单地交错xsl:textxsl:value-of。例如,假设您有一个名为storeID的变量:

<xsl:text>storeID=</xsl:text>
<xsl:value-of select="$storeID"/>
<xsl:text>,ou=sites,o=xxxx.com</xsl:text>

或者,或者,查看用于连接字符串的concat XPath函数。

<xsl:value-of select="concat('storeID=', $storeID, ',ou=sites,o=xxxx.com')"/>