【发布时间】:2016-04-04 11:25:08
【问题描述】:
我有两个不同的 xslt 执行两个不同的任务。我需要创建一个执行这两项任务的 xslt。请参阅 bwloe 两个 xslt 的代码,并让 mw 知道它们是否可以组合成一个 xslt。
第一个 xsl 使用 dp url open 将请求发布到 url。第二个 xsl 在请求中搜索一个标签,如果该标签存在,该标签将被加密。
我希望在单个 xslt 中完成这两项任务,即。查找标签,对其进行加密,将请求(如果存在,则带有加密标签)发布到 url。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dp="http://www.datapower.com/extensions" xmlns:env="http://schemas.xmlsoap.org/soap/envelope"
extension-element-prefixes="dp" exclude-result-prefixes="dp" version="1.0">
<xsl:template match="/">
<xsl:variable name="result">
<dp:url-open target="{$URL}" response="responsecode-ignore" ssl-proxy="BlankSSL"
data-type="xml" http-method="post" timeout="30">
<xsl:copy-of select="." />
</dp:url-open>
</xsl:variable>
</xsl:template>
与
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dp="http://www.datapower.com/extensions" xmlns:env="http://schemas.xmlsoap.org/soap/envelope"
extension-element-prefixes="dp" exclude-result-prefixes="dp" version="1.0">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template match="/*[local-name()='Envelope']/*[local-name()='accountNumber']">
<xsl:copy>
<xsl:value-of select="dp:encrypt-string('http://www.w3.org/2001/04/xmlenc#tripledes-cbc','hex:1728289',/*[local-name()='Envelope']/*[local-name()='accountNumber'])"/>
</xsl:copy>
</xsl:template>
【问题讨论】:
标签: xslt xslt-1.0 xslt-2.0 ibm-datapower