如何检查节点是否包含xsl中的特定值

时间:2017-11-29 12:27:17

标签: xml xslt

这是我的xml文件:

    <MT_extension>
        <WebDescription xmlns="http://matalan.co.uk/DNArts/">WebDescription</WebDescription>
        <StyleDescription xmlns="http://matalan.co.uk/DNArts/">DVD Style</StyleDescription>
        <PriceStatus xmlns="http://matalan.co.uk/DNArts/">Markdown</PriceStatus>
    </MT_extension>

这是我的xsl代码:

<xsl:variable name="bMarkdownFlag">
  <xsl:if test="./MT_extension/PriceStatus = 'Markdown'">-1</xsl:if>
</xsl:variable>

我想检查此PriceStatus是否为Markdown,但它始终返回false

1 个答案:

答案 0 :(得分:0)

让@hobbes说你必须在你的XSLT中声明命名空间,并在xpath表达式中使用例如

<xsl:variable name="bMarkdownFlag" xmlns:dna="http://matalan.co.uk/DNArts/">
    <xsl:if test="./MT_extension/dna:PriceStatus = 'Markdown'">-1</xsl:if>
</xsl:variable>