DocBook: in a table, fix a typo in a condition.

Before this patch, all table cells had a semicolon at the beginning of their style:

<td style='; border-bottom:

This unwanted behaviour is only due to a typo in a condition when concatenating two styles: the previous code was checking the second part of the style once the first was output, instead of the first one.
This commit is contained in:
Thibaut Cuvelier 2024-02-26 16:09:26 +01:00
parent 8e0bc01d50
commit baccce7d2d
2 changed files with 28 additions and 28 deletions

View File

@ -153,31 +153,31 @@ I am no more code. </para>
<caption>I am a table caption below the table.</caption> <caption>I am a table caption below the table.</caption>
<tbody> <tbody>
<tr> <tr>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table 1</para> <para>Table 1</para>
</td> </td>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table 2</para> <para>Table 2</para>
</td> </td>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table 3</para> <para>Table 3</para>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align='center' valign='top'> <td style='border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Row 1</para> <para>Row 1</para>
</td> </td>
<td align='center' valign='top'></td> <td style='border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'></td>
<td align='center' valign='top'> <td style='border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Col 3, row 1</para> <para>Col 3, row 1</para>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align='center' valign='top'> <td style='border-bottom: 1.000000px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Row 2</para> <para>Row 2</para>
</td> </td>
<td align='center' valign='top'></td> <td style='border-bottom: 1.000000px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'></td>
<td align='center' valign='top'> <td style='border-bottom: 1.000000px solid; border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Col 3, row 2</para> <para>Col 3, row 2</para>
</td> </td>
</tr> </tr>
@ -187,31 +187,31 @@ I am no more code. </para>
<caption>I am a table caption above the table.</caption> <caption>I am a table caption above the table.</caption>
<tbody> <tbody>
<tr> <tr>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table 1</para> <para>Table 1</para>
</td> </td>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table 2</para> <para>Table 2</para>
</td> </td>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table 3</para> <para>Table 3</para>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align='center' valign='top'> <td style='border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Row 1</para> <para>Row 1</para>
</td> </td>
<td align='center' valign='top'></td> <td style='border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'></td>
<td align='center' valign='top'> <td style='border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Col 3, row 1</para> <para>Col 3, row 1</para>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align='center' valign='top'> <td style='border-bottom: 1.000000px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Row 2</para> <para>Row 2</para>
</td> </td>
<td align='center' valign='top'></td> <td style='border-bottom: 1.000000px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'></td>
<td align='center' valign='top'> <td style='border-bottom: 1.000000px solid; border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Col 3, row 2</para> <para>Col 3, row 2</para>
</td> </td>
</tr> </tr>
@ -220,31 +220,31 @@ I am no more code. </para>
<informaltable> <informaltable>
<tbody> <tbody>
<tr> <tr>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table that has no caption 1</para> <para>Table that has no caption 1</para>
</td> </td>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table that has no caption 2</para> <para>Table that has no caption 2</para>
</td> </td>
<td align='center' valign='top'> <td style='border-bottom: 3.000000px double; border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Table that has no caption 3</para> <para>Table that has no caption 3</para>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align='center' valign='top'> <td style='border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Row 1</para> <para>Row 1</para>
</td> </td>
<td align='center' valign='top'></td> <td style='border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'></td>
<td align='center' valign='top'> <td style='border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Col 3, row 1</para> <para>Col 3, row 1</para>
</td> </td>
</tr> </tr>
<tr> <tr>
<td align='center' valign='top'> <td style='border-bottom: 1.000000px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Row 2</para> <para>Row 2</para>
</td> </td>
<td align='center' valign='top'></td> <td style='border-bottom: 1.000000px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'></td>
<td align='center' valign='top'> <td style='border-bottom: 1.000000px solid; border-right: 1px solid; border-left: 1px solid; border-top: 1.000000px solid' align='center' valign='top'>
<para>Col 3, row 2</para> <para>Col 3, row 2</para>
</td> </td>
</tr> </tr>

View File

@ -3842,7 +3842,7 @@ docstring Tabular::xmlRow(XMLStream & xs, const row_type row, OutputParams const
const std::vector<std::string> styles = computeCssStylePerCell(row, c, cell); const std::vector<std::string> styles = computeCssStylePerCell(row, c, cell);
std::string attr_str_prefix = "style='" + style.str(); std::string attr_str_prefix = "style='" + style.str();
if (!styles.empty()) if (!style.str().empty())
attr_str_prefix += "; "; attr_str_prefix += "; ";
for (auto it = styles.begin(); it != styles.end(); ++it) { for (auto it = styles.begin(); it != styles.end(); ++it) {
attr_str_prefix += *it; attr_str_prefix += *it;