Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
ConstC 27.11.2003 18:29
Здравствуйте, есть необходимость сделать следующее преобразование:<?xml version="1.0" encoding="Windows-1251"?> <gallery photos_per_row="2" photos_per_column="2" title="My very first gallery" author="Nobody" date="" type="Misc"> <photos> <photo id="0" title="First photo" author="Nobody" date="01.01.2003" descr="This is my first photo" /> <photo id="1" title="Second shot" author="Nobody" date="02.01.2003" descr="This is my second photo. Isn't it cool?" /> <photo id="2" title="The last, but not the least" author="Nobody" date="03.01.2003" descr="" /> <photo id="3" title="4-th photo" author="Nobody" date="01.01.2003" descr="This is my first photo" /> <photo id="4" title="5-th shot" author="Nobody" date="02.01.2003" descr="This is my second photo. Isn't it cool?" /> <photo id="5" title="6-th photo" author="Nobody" date="03.01.2003" descr="" /> <photo id="6" title="7-th photo" author="Nobody" date="03.01.2003" descr="" /> <photo id="7" title="8-th photo" author="Nobody" date="03.01.2003" descr="" /> </photos> </gallery>============8<==========
<tr><td>1</td><td>2</td><td>3</td></tr> <tr><td>4</td><td>5</td><td>6</td></tr>============8<==========
<?xml version="1.0" encoding="windows-1251" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="gallery"> <html><head><title><xsl:value-of select="@title" /></title></head> <body><h1 align="center"><xsl:value-of select="@title" /></h1> <table cellspacing="0" cellpadding="3" border="1" bordercolor="#135094" align="center"> <xsl:apply-templates select="photos" /> </table> </body></html> </xsl:template> <xsl:template match="photos"> <tr> <xsl:for-each select="photo"> <xsl:choose> <xsl:when test="@id mod 4=0"> {!!!}</tr><tr><td><xsl:value-of select="@title"/><xsl:value-of select="@id"/></td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="@title"/><xsl:value-of select="@id"/></td> </xsl:otherwise> </xsl:choose> </xsl:for-each> </tr> </xsl:template> </xsl:stylesheet>============8<==========
</tr><tr>естественно не получается, т.к. закрывающий тэг предшествует открывающему.
<section></section>, но на мой взгляд это не есть gut, т.к. сразу накладывает ограничение на форматирование...