for-each card[position() mod 9 = 1]
<table>
for-each (.|following-sibling[position()<9])[position() mod 3 = 1]
<tr>
for-each (.|following-sibling[position()<3])
<td>
value-of .
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference