Я использую xslt в своем BPEL, чтобы преобразовать мою полезную нагрузку в принятый формат для веб-службы, которую я использую и которая содержит команду SQL.Теперь у меня есть этот элемент в моей полезной нагрузке, значение которого мне нужно использовать в моем поисковом запросе.
Например:
<DocumentID>12341241123-124124-124124</DocumentID>
Я хочу использовать значение этого элемента «DocumentID» в качестве параметра в моем запросе SQL.В следующем смысле:
<?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>
Заранее спасибо за помощь, пожалуйста, не стесняйтесьпросить разъяснений!
Приветствия,
Jesper