Walter,
At this URL: http://www.dpawson.co.uk/xsl/sect2/N4486.html#d3975e94
there are a few answers to this specific question, i.e. putting things
in tables, three-to-a-row.
One of them includes putting your </tr><tr> in a CDATA section. :-p
Lars
Walter Crockett wrote:
Each Crate may have from 1 to more than 100 Oranges. When I list them
alphabetically, in paragraph form, the code looks like this:
<xsl:for-each
select="//Object[(_at_)id=$CrateID]/Relationships/Relationship[Name
='Has_Orange']
/ValueList/Value/Reference">
<xsl:sort select="." data-type="text" order="ascending"/>
<xsl:variable name="OrangeName" select="."/>
<xsl:variable name="OrangeID" select="./@Id"/>
<a href="{$OrangeID}"><xsl:value-of select="$OrangeName"/></a>
<xsl:if test="position() != last()">, </xsl:if>
</xsl:for-each>
But this is messy. Instead, I would like to list them in
three columns side
by side.
I tried the following:
<table>
<tr>
<xsl:for-each
select="//Object[(_at_)id=$CrateID]/Relationships/Relationship[Name
='Has_Orange']
/ValueList/Value/Reference">
<xsl:variable name="OrangeName" select="."/>
<xsl:variable name="OrangeID" select="./@Id"/>
<td>
<a href="{$OrangeID}"><xsl:value-of select="$OrangeName"/></a>
</td>
<xsl:if test="position() mod 3 = 0"> [something here to
end a row and
start a new row]</xsl:if>
</xsl:for-each>
</tr>
</table>
But I couldn't make anything work inside the if test, because
it doesn't
like to see </tr><tr>.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list