XSLT 加入元素 bpel
XSLT to join elements bpel
我有一个输入
<features>
<feature name="Television" featureSpecID="2000">
<displayName>TV</displayName>
<parameters>
<parameter name="Remote" >
</parameter>
<parameter name="Cable Box">
</parameter>
<parameter name="Carrier"/>
</parameter>
</parameters>
我应该在哪里转换为
<productname>Remote;Cable Box;Carrier</productname>
我通过为每个参数
执行我的代码
<xsl:if test='count(tns:parameters/tns:parameter) > "0"'>
<xsl:for-each select="tns:parameters/tns:parameter">
<productname>
<xsl:value-of select='concat(@name,";")'/>
</productname>
</xsl:for-each>
</xsl:if>
<productname>
节点应该在 <xsl:for-each>
循环之外。请修改如下
<productname>
<xsl:for-each select="tns:parameters/tns:parameter">
...
</xsl:for-each>
</productname>
根据示例输出,需要添加条件以不在产品名称末尾附加 semi-colon
。
<xsl:if test="position() != last()">
<xsl:value-of select="';'"/>
</xsl:if>
XSLT 代码更改
<productname>
<xsl:for-each select="tns:parameters/tns:parameter">
<xsl:value-of select="@name" />
<xsl:if test="position() != last()">
<xsl:value-of select="';'"/>
</xsl:if>
</xsl:for-each>
</productname>
输出
<productname>Remote;Cable Box;Carrier</productname>
我有一个输入
<features>
<feature name="Television" featureSpecID="2000">
<displayName>TV</displayName>
<parameters>
<parameter name="Remote" >
</parameter>
<parameter name="Cable Box">
</parameter>
<parameter name="Carrier"/>
</parameter>
</parameters>
我应该在哪里转换为
<productname>Remote;Cable Box;Carrier</productname>
我通过为每个参数
执行我的代码<xsl:if test='count(tns:parameters/tns:parameter) > "0"'>
<xsl:for-each select="tns:parameters/tns:parameter">
<productname>
<xsl:value-of select='concat(@name,";")'/>
</productname>
</xsl:for-each>
</xsl:if>
<productname>
节点应该在 <xsl:for-each>
循环之外。请修改如下
<productname>
<xsl:for-each select="tns:parameters/tns:parameter">
...
</xsl:for-each>
</productname>
根据示例输出,需要添加条件以不在产品名称末尾附加 semi-colon
。
<xsl:if test="position() != last()">
<xsl:value-of select="';'"/>
</xsl:if>
XSLT 代码更改
<productname>
<xsl:for-each select="tns:parameters/tns:parameter">
<xsl:value-of select="@name" />
<xsl:if test="position() != last()">
<xsl:value-of select="';'"/>
</xsl:if>
</xsl:for-each>
</productname>
输出
<productname>Remote;Cable Box;Carrier</productname>