Hi Michael,
> <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?
I would build a variable like this
<xsl:variable name="elements" select="//element[normalize-space()]" />
<!-- all elements whose normalized string value is not the empty string -->
After that replace all //element and ../element in your code with $elements.
Haven't tested this, but I think it should work.
> <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>
Cheers,
Oliver
/-------------------------------------------------------------------\
| ob|do Dipl.Inf. Oliver Becker |
| --+-- E-Mail: obecker@xxxxxxxxxxxxxxxxxxxxxxx |
| op|qo WWW: http://www.informatik.hu-berlin.de/~obecker |
\-------------------------------------------------------------------/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|