1

これは私が試したことです。それ以外の場合は常に機能します。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>
4

1 に答える 1

3

<type>ノードに空白が含まれているためです。normalize-space()関数を使用します。

normalize-space(type) = 'WEEKLY'

またはcontains()関数:

contains(type, 'WEEKLY')
于 2012-11-19T22:51:04.707 に答える