как реализовать в xsl вывод некоторого списка в два или более столбца (слева направа, сверху вниз):
?
xml.xml, например:
| Код | <?xml version = "1.0" ?> <?xml-stylesheet type="text/xsl" href="xml.xsl" ?> <editor_contacts> <editor> <name>Name1</name> <e_mail>[email protected]</e_mail> </editor> <editor> <name>Name2</name> <e_mail>[email protected]</e_mail> </editor> <editor> <name>Name3</name> <e_mail>[email protected]</e_mail> </editor> <editor> <name>Name4</name> <e_mail>[email protected]</e_mail> </editor> <editor> <name>Name5</name> <e_mail>[email protected]</e_mail> </editor> </editor_contacts>
|
xml.xsl хотелось бы сделать так, но чтоб было правильно:
| Код | <?xml version = "1.0" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="/"> <HTML> <BODY>
<h1>Contacts</h1> <table border="1"> <xsl:for-each select="editor_contacts/editor"> <xsl:sort order="ascending" select="first_name"/> <xsl:if test="position() mod 2 != 0"> <tr> </xsl:if> <td> <h2><i>Name: </i> <xsl:value-of select="name"/></h2> <p><i>E-Mail: </i> <xsl:value-of select="e_mail"/></p> </td> </tr> <xsl:if test="position() mod 2 = 0"> </tr> </xsl:if> </xsl:for-each> </table>
</BODY> </HTML> </xsl:template> </xsl:stylesheet>
|
|