XSLT Если условие Помощь - PullRequest
0 голосов
/ 24 мая 2011

У меня есть XML и XSLT. Я хочу использовать условие if, чтобы проверить, равен ли элемент 0, если он есть, то скрыть его, т.е. ничего не отображать. Если 0 найдено, просто отобразите пустую ячейку.

Вот основная концепция:

XML

 <Sheet1>
     <Build>0</Build>
     <Item>X</Item>
     <T1>0:06:00</T1>
     <T2>0:14:15</T2>
     <T3>0:07:22</T3>
 </Sheet1>

1008 * XSLT *

<table border="1">
    <tr bgcolor="#dccdc">
        <th align="center">Build</th>
        <th align="center">Item</th>
        <th align="center">T1</th>
        <th align="center">T2</th>
        <th align="center">T3</th>
    </tr>  

    <xsl:for-each select="Sheet1">
        <tr>
            <td bgcolor="#F2F5A9">
                <xsl:value-of select="Build" />
            </td>
            <td bgcolor="#F2F5A9">
                <xsl:value-of select="Item" />
            </td>
            <td bgcolor="#F2F5A9">
                <xsl:value-of select="T1" />
            </td>
            <td bgcolor="#F2F5A9">
                <xsl:value-of select="T2" />
            </td>
            <td bgcolor="#F2F5A9">
                <xsl:value-of select="T3" />
            </td>
         </tr>
     </xsl:for-each>
</table>

То, что я хочу сделать, это когда элемент Build = 0, я хочу, чтобы он ничего не печатал, поэтому я попытался поместить xsl: if вокруг элемента в XSLT:

<xsl:if test="Build!='0'">
    <td bgcolor="#F2F5A9">
        <xsl:value-of select="Build" />
    </td>
</xsl:if>

но это не похоже на работу, я получаю пустой выходной файл.

есть идеи?

Ответы [ 2 ]

2 голосов
/ 24 мая 2011

Самое простое решение - написать

    <td bgcolor="#F2F5A9">
        <xsl:value-of select="Build[. != 0]" />
    </td>
1 голос
/ 24 мая 2011

Правильный подход также (фрагмент):

  <td bgcolor="#F2F5A9">
    <xsl:if test="Build[text()!='0']">
      <xsl:value-of select="Build" />
    </xsl:if>
  </td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...