我有以下xml:
<?xml version="1.0" encoding="UTF-8"?>
<ClaimSystemConfig>
<MHC>
<businessArea>Test2</businessArea>
</MHC>
<MHC>
<businessArea>Test1</businessArea>
</MHC>
<PowerSTEPP>
<businessArea>Test3</businessArea>
</PowerSTEPP>
<Amisys>
<businessArea>CSAAQA</businessArea>
<WADL>
<url>Blah</url>
<services>
<service>
<name>authSearch</name>
<tenant>rest/clientd/</tenant>
<version>1</version>
</service>
<service>
<name>memberSearch</name>
<tenant>rest/clientd/</tenant>
<version>1</version>
</service>
<service>
<name>memberSummary</name>
<tenant>rest/clientd/</tenant>
<version>3</version>
</service>
</services>
</WADL>
</Amisys>
</ClaimSystemConfig>现在,我希望仅当任何一个<service>标记将<name>作为memberSummary,将<version>作为3时,才使用XSLT修改上面的xml。我正在尝试以下条件,但它不起作用。
<xsl:choose>
<xsl:when test="//ClaimSystemConfig/Amisys/WADL/services/service[name='memberSummary' and version=3]">
......do something.....
</xsl:when>
<xsl:otherwise>
...do nothing...
</xsl:otherwise>
</xsl:choose>有没有人能帮我确定正确的条件?
下面是部分XSLT:
<xsl:choose>
<xsl:when test="//ClaimSystemConfig/Amisys/WADL/services/service[name='memberSummary' and version=3]">
<type>WADL</type>
<METHOD>POST</METHOD>
<service>memberSummary</service>
<requestSpecific>healthplan/memberstatuses</requestSpecific>
<inputSchema>
<ver:routeData xmlns:ver="version3">
</ver:routeData>
</inputSchema>
<parms>
<parm>
<name>eao</name>
<value><xsl:value-of select="eao"/></value>
</parm>
</parms>
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>发布于 2014-12-04 17:32:10
目前,当您在XML上运行以下XSLT时,结果确实是“……做点什么……”
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<xsl:choose>
<xsl:when test="//ClaimSystemConfig/Amisys/WADL/services/service[3][name='memberSummary' and version=3]">
......do something.....
</xsl:when>
<xsl:otherwise>
...do nothing...
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>但是,只有当有问题的service元素是列表中的第三个元素时,它才会“执行某些操作”。因此,您需要将其更改为:
<xsl:when test="//ClaimSystemConfig/Amisys/WADL/services/service[name='memberSummary' and version=3]">https://stackoverflow.com/questions/27290319
复制相似问题