у меня проблема :-)
Я хотел бы распечатать xml и написать для него xslt. проблема в том, что я хотел бы построить таблицу с моими xml-элементами, но я должен подсчитать, имеет ли каждая строка одинаковое количество столбцов, а если нет, мне нужно добавить элемент значения.
Я знаю, что не могу изменить значение переменных после того, как установил значение, но как тогда я могу сравнить количество процессов в категориях / строках таблицы? (и добавить пустые строки)
XML:
<Settings>
...
..
<DashBoard>
<Category NAME="ph" PICNAME="prh">
<Process NAME="pd" URL="" PICNAME="prh_prd" />
<Process NAME="md" URL="" PICNAME="prh_prd" />
<Process NAME="t" URL="" PICNAME="prh_prd" />
</Category>
<Category NAME="cm" PICNAME="cam">
<Process NAME="ps" URL="" PICNAME="cam_pls" />
<Process NAME="ea" URL="" PICNAME="cam_eas" />
</Category>
<Category NAME="sm" PICNAME="sum">
<Process NAME="frm" URL="" PICNAME="sum_frm" />
</Category>
</DashBoard>
</Settings>
XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl=".....">
<xsl:output method="xml" indent="yes"/>
<xsl:variable name="relurl" select="/Settings/Picture/@RELATIVEURL"/>
<xsl:template match="Settings">
<table id="dashframe" >
<xsl:apply-templates/>
</table>
</xsl:template>
<xsl:template match="Category">
<xsl:variable name="altname" select="@NAME" />
<xsl:variable name="picname" select="@PICNAME" />
<tr>
<th>
<img alt="{$altname}" src="{$relurl}dash_{$picname}_p_01.png" />
</th>
<xsl:apply-templates/>
</tr>
</xsl:template>
<xsl:template match="Process">
<xsl:variable name="altname" select="@NAME" />
<xsl:variable name="picname" select="@PICNAME" />
<td>
<img alt="{$altname}" src="{$relurl}dash_{$picname}_p_01.png" />
</td>
</xsl:template>
</xsl:stylesheet>
Желаемый результат:
<table id="dashframe" >
<tr>
<th>titel 1</th>
<td>....</td>
<td>....</td>
<td>....</td>
</tr>
<tr>
<th>titel 2</th>
<td>....</td>
<td>....</td>
<td></td>
</tr>
<tr>
<th>titel 3</th>
<td>....</td>
<td></td>
<td></td>
</tr>
</table>