xsl 1.x如何根据选择更改输出?

时间:2012-11-19 22:45:29

标签: xml xslt xpath

这是我尝试过的,否则总能奏效。如果type ='WEEKLY',我需要输出“W”

  <xsl:for-each select="times/weekly_monthly">
    <tr>
  <td>
  <xsl:choose>
  <xsl:when test="type='WEEKLY'">W</xsl:when>
  <xsl:otherwise>
  otherwise always works
  </xsl:otherwise>
  </xsl:choose>
  </td>

  </tr>
</xsl:for-each> 

如果我拿出选择,它会很好地迭代。 这是xml

        <?xml version="1.0" encoding="ISO-8859-1"?>
        <?xml-stylesheet type= "text/xsl" href= "test.xsl"?>  

        <!-- Edited by XMLSpy® -->

        <times>
        <weekly_monthly>
        <type>
        WEEKLY
        </type>
        </weekly_monthly>
        <weekly_monthly>
        <type>
        MONTHLY
        </type>
        </weekly_monthly>
        <weekly_monthly>
        <type>
        NULL
        </type>
        </weekly_monthly>
        </times>

1 个答案:

答案 0 :(得分:3)

这是因为<type>节点包含空格。使用normalize-space()函数,即:

normalize-space(type) = 'WEEKLY'

contains()功能:

contains(type, 'WEEKLY')