I'm new at xsl and I'm having problems with flattening(?) a multi-level
structure into a HTML table. I'm actually quite embarassed to be posting as I
feel this should be relatively easy to solve.
I need to create a table that looks like this:
Group1_name SubGroup1_name Data_name Data_attrib1 Data_attrib2
Data_name Data_attrib1 Data_attrib2
SubGroup2_name Data_name Data_attrib1 Data_attrib2
Data_name Data_attrib1 Data_attrib2
Group2_name SubGroup1_name Data_name Data_attrib1 Data_attrib2
Data_name Data_attrib1 Data_attrib2
or in HTML:
<table border="1">
<tr>
<td>Group1_name</td>
<td>SubGroup1_name</td>
<td>Data_name</td>
<td>Data_attrib1</td>
<td>Data_attrib2</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Data_name</td>
<td>Data_attrib1</td>
<td>Data_attrib2</td>
</tr>
<tr>
<td> </td>
<td>SubGroup2_name</td>
<td>Data_name</td>
<td>Data_attrib1</td>
<td>Data_attrib2</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>Data_name</td>
<td>Data_attrib1</td>
<td>Data_attrib2</td>
</tr>
<tr>
<td>Group2_name</td>
<td>SubGroup1_name</td>
<td>Data_name</td>
<td>Data_attrib1</td>
<td>Data_attrib2</td>
</tr>
</table>
The data is nicely formatted in pre-sorted heirarchical format (I also have
full control of the format of the input):
<example>
<group>
<name>group1_name</name>
<subgroup>
<name>subgroup1_name</name>
<data attrib1="attrib1" attrib2="attrib2">
<name>Data_name</name>
</data>
<data attrib1="attrib1" attrib2="attrib2">
<name>Data_name</name>
</data>
</subgroup>
<subgroup>
<name>subgroup2_name</name>
<data attrib1="attrib1" attrib2="attrib2">
<name>Data_name</name>
</data>
<data attrib1="attrib1" attrib2="attrib2">
<name>Data_name</name>
</data>
</subgroup>
</group>
<group>
<name>Group2_name</name>
<subgroup>
<name>subgroup1_name</name>
<data attrib1="attrib1" attrib2="attrib2">
<name>Data_name</name>
</data>
</subgroup>
</group>
</example>
I can't seem to correctly suppress the group name and the subgroup
name when it is repeated. Can anyone help?
Thanks in advance,
-Steve Skarupa
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list