【发布时间】:2019-05-07 14:16:26
【问题描述】:
我在我的 BPEL 中使用 xslt 将我的有效负载转换为我正在使用的具有 SQL 命令的 Web 服务的可接受格式。现在我的有效负载中有这个元素,我需要在我的搜索查询中使用它。
例如:
<DocumentID>12341241123-124124-124124</DocumentID>
我想在我的 SQL 查询中使用这个元素“DocumentID”的值作为参数。在以下意义上:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
<!-- a whole bunch of namespaces -->
<xsl:template match="/">
<xsl:for-each select="current()[string-length(DocumentID) >= $STRING_LENGTH]/DocumentID">
<xsl:element name="SearchRequest" type="SomeRequestType">
<xsl:element name="SearchScope" type="SomeStoreScope"
objectStore="SomeObjectStore"/>
<xsl:element name="SearchSQL">SELECT [Id] FROM Document WHERE
VersionNumber ='{12341241123-124124-124124}'
AND SecondStatement = true</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
但是,在前面的示例中,“VersionNumber”是硬编码的。我希望这是一个用我的有效负载中的实际“DocumentID”元素覆盖的参数。
xslt 中是否有任何方法可以从现有的有效负载元素中获取值并将其用作另一个元素的值的一部分。如果应该将变量插入到所述元素的属性中,该怎么做?
按这个顺序有什么东西吗?
<xsl:element name="SearchSQL">SELECT [Id] FROM Document WHERE
VersionNumber ='$DocumentID'
AND SecondStatement = true</xsl:element>
</xsl:element>
提前感谢您的帮助,请随时要求澄清!
干杯,
杰斯帕
【问题讨论】: