У меня проблема с преобразованием входного XHTML-документа, чтобы лучше отображать страницу на мобильных устройствах. Каждый входной документ имеет множество таблиц HTML с определенным идентификатором. В одной такой таблице мне нужно идентифицировать ячейку, чтобы не только изменить ее атрибут «colspan», но и атрибуты «colspan» для ячеек по обе стороны от нее. Я не могу изменить входной HTML, это получено извне. Я могу только преобразовать это.
В каждом случае ячейки, которую я пытаюсь преобразовать, слева и справа от нее есть пустая ячейка, обе с атрибутом «colspan = 2». Мне нужно сделать так, чтобы эта средняя ячейка имела атрибут «colspan = 4», левая ячейка имела атрибут «colspan = 1», а правая ячейка была удалена.
Я использовал XSLT и до сих пор сумел добиться ряда других преобразований с моим документом, поэтому я знаю, что это должно быть как-то возможно. Пример таблицы приведен ниже.
Пример таблицы, которую я имею:
<html>
<body>
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
<td>row 1, cell 3</td>
<td>row 1, cell 4</td>
<td>row 1, cell 5</td>
</tr>
<tr>
<td colspan = "2">row 2, cell 1</td>
<td>Cell I Need</td>
<td colspan = "2">row 2, cell 3</td>
</tr>
<tr>
<td>row 3, cell 1</td>
<td>row 3, cell 2</td>
<td>row 3, cell 3</td>
<td>row 3, cell 4</td>
<td>row 3, cell 5</td>
</tr>
</table>
Таблица мне нужна:
<table border="1">
<tr>
<td>row 1, cell 1</td>
<td>row 1, cell 2</td>
<td>row 1, cell 3</td>
<td>row 1, cell 4</td>
<td>row 1, cell 5</td>
</tr>
<tr>
<td colspan = "1">row 2, cell 1</td>
<td colspan = "4">Cell I Need</td>
</tr>
<tr>
<td>row 3, cell 1</td>
<td>row 3, cell 2</td>
<td>row 3, cell 3</td>
<td>row 3, cell 4</td>
<td>row 3, cell 5</td>
</tr>
</table>
</body>
<html>
Будем весьма благодарны за любые предложения о том, как идентифицировать и преобразовать эту ячейку с использованием XSLT.
Большое спасибо,
Кристиан