This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
delete empty elements
- To: "Xsl-List (E-Mail)" <xsl-list at lists dot mulberrytech dot com>
- Subject: [xsl] delete empty elements
- From: Michael Zehrer <zehrer at optimal-systems dot de>
- Date: Mon, 2 Jul 2001 12:47:06 +0200
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi list,
I have XML like this:
<page>
<element id="86">data</element>
<element id="23"></element>
<element id="56">moredata</element>
<element id="89">muchmoredata</element>
...
</page>
And, with help from the FAQ and the list :-), I'm able to sort this in a
balanced two column table. But how can I sort out these empty
<element></element> Tags in my xsl?
<xsl:variable name="t-size" select="count(//element)"/>
<xsl:variable name="half" select="ceiling($t-size div 2)"/>
<table>
<xsl:for-each select="//element[position() <= $half]">
<xsl:variable name="here" select="position()"/>
<tr>
<td>
<xsl:value-of select="@id"/>
</td>
<td>
<xsl:value-of select="."/>
</td>
<td>
<xsl:value-of select="../element[$here+$half]/@id"
/>
</td>
<td>
<xsl:choose>
<xsl:when test="../element[$here+$half]">
<xsl:value-of
select="../element[$here+$half]"/>
</xsl:when>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</table>
Regards, Michael
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list