2013-12-06 3 views
0

Я работаю с XML, который содержит таблицу HTML с rowspan. Мне нужно получить общее количество столбцов и строк этой таблицы, мне нужно работать с xslt, чтобы сделать преобразование. Я пытаюсь сделать что-то вроде этого:XSLT Считать общее количество строк в таблице

<xsl:value of select="count(./tr) - count(./tr/td/@rowspan > 1 and ./tr/td =1)"</xsl:value-of>   

Конечно, это не работает, потому что у меня есть некоторые <tr> с более чем одним <td>. Мне нужно учитывать только при проверке этих двух условий. Я предполагаю, что xslt выглядит ВСЕ <tr> и не проверяет то же самое, где первое условие истинно.

Любая помощь/предложение?

В этом примере у нас есть 5, но «реальный» счет должен быть 4. (Выход HTML имеет 4 строки).

<table border="2"> 
      <tr> 
       <td align="left" colspan="3" valign="top"> 
        text 
       </td> 
      </tr> 
      <tr> 
       <td align="left" rowspan="3" valign="top"> 
        text 
       </td> 
      </tr> 
      <tr> 
       <td align="left" rowspan="2" valign="top"> 
        text 
       </td> 
       <td align="left" valign="top"> 
        text 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        text 
       </td> 
      </tr> 
      <tr> 
       <td align="left" valign="top"> 
        text 
       </td> 
       <td align="left" valign="top"> 
        text 
       </td> 
      </tr> 
</table>  
+1

Я вижу только 2 строки, которые имеют более одного 'td' элемента. Вы можете подсчитать их с помощью этого выражения: ''. Если это не то, что вы имеете в виду, то, пожалуйста, объясните в простых словах, каковы условия. –

+0

Мне нужно подсчитать все строки с rowspan> 1, которые имеют более одного td. –

ответ

1

Мне нужно подсчитать все строки с RowSpan> 1, которые имеют более одного тд.

Существует только один так:

<xsl:value-of select="count(table/tr[td/@rowspan > 1 and count(td) > 1])"/> 
Смежные вопросы