как это я не заметил такую интересную дискуссию?
про валидный xml:
есть xml-схема, есть DTD, есть прочее, т.е. проблем с проверкой нету, есть проблема с составлением правил(что обрезать, а что нет).
про xslt:
предлагается следующее упражнение(типичная задача для вывода каталога):
1. есть некоторый xml-файл с данными(там только данные, как и предложил denver). что-то типа:
<catalog>
<item>
<id>1</id>
<title>АААААААА</title>
</item>
<item>
<id>2</id>
<title>БББББББББ</title>
</item>
<item>
<id>3</id>
<title>ВВВВВВВВв</title>
</item>
<item>
<id>4</id>
<title>ГГГГГГГ</title>
</item>
</catalog>
....
2. есть некоторый шаблон(xslt).
3. есть код на php, который выдает html(ну то есть типа: $xsltInstObj->out("my.xml","my.xsl")
внимание задача

:
вывести все данные в n-столбцов, отсортированные свверху вниз, т.е. типа:
а г ж й
б д з
в е и
за n возьмем - 4(столбца)
причем баланс столбцов должен сохраниться, т.е. все столбцы должны содержать максимально возможное равное число элементов(формулу не привожу, т.к. в ней часть решения

).
если еще усложнить задачку, то вывод должен быть таким:
<table>
<tr>
<td>
1 элемент 1 столбца
</td>
<td>
1 элемент 2 столбца
</td>
<td>
1 элемент 3 столбца
</td>
<td>
1 элемент 4 столбца
</td>
</tr>
</table>
по идее в подходе Денвера, это логика вывода, которая ложится на верстальщика. Завтра все приходим на работу и даем задание верстальщикам, о результатах пишем здесь