xsl:使用CDATA进行测试时无法正常工作

时间:2016-06-08 12:28:37

标签: xml xslt xslt-1.0

Xml是:

   <field name="Type">
        <![CDATA[Amount]]>
    </field>

Xsl中的Xpath是

<xsl:when test="node()[@name='Type'] ='Amount'">

我正在尝试检查Type的值。但它没有用。 请帮忙。

1 个答案:

答案 0 :(得分:2)

提供XML标记

   <field name="Type">
        <![CDATA[Amount]]>
    </field>

field元素的字符串内容不仅是单词Amount,而且单词Amount前面和后面是空格。所以你需要使用normalize-space

normalize-space(field[@name = 'Type']) = 'Amount'

或者您需要使用contains支票

contains(field[@name = 'Type'], 'Amount')