0
我有以下XML:XSLT“当测试”工作不正常
<?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>
现在,我想用XSLT仅在<service>
标签中的任何一个有权修改上面的XML <name>
为memberSummary
和<version>
如3
。我正在尝试以下条件,但不起作用。
<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 09:33:50
@Tim C,当我测试外使用任何XPath测试器工具的条件下,它返回我结果'元= ' memberSummary 其余/ clientd/ '',但是,当我在我的应用程序中加入了相同的更改,控件不会处于'when'状态。看起来有点不对劲。 –
2014-12-04 09:39:53
我认为你需要展示更多的XSLT。如果您可以提供一个完整但很少的XSLT示例来演示问题,那将有所帮助。例如,你确定它甚至可以达到'xsl:choose'吗? – 2014-12-04 09:42:37