|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
xsl creating correct table problem
Hello,
first of all: I'm a xsl newbie And offcourse i've got a little problem. I want 2 create a table in xsl with the following outcome; <table> <tr> <td>A</td> <td> <table> <tr> <td>A beautiul mind</td> <td>Armageddon</td> </tr> </table> </td> <td>B</td> <td> <table> <tr> <td>Bad boys</td> <td>bad boys 2</td> </tr> </table> </td> </tr> </table> My xml tree looks like this: <collection> <character char="A"> - <movie id="57"> <moviename>A beautiful mind</moviename> <genre>thriller</genre> </movie> - <movie id="233"> <moviename>A bridge too far</moviename> <genre>action</genre> </movie> </character> <character char="B"> - <movie id="186"> <moviename>Bad boys</moviename> <genre>action</genre> </movie> - <movie id="135"> <moviename>Bad Boys 2</moviename> <genre>action</genre> </movie> </character> </collection> what's the best way 2 create a table as shown in the above example? I've already tried this: <table border="1"> <xsl:for-each select="collection/character/movie"> <tr> <td><xsl:value-of select="../@character"/></td> <td> <table> <tr> <th><xsl:value-of select="moviename"/></th> </tr> </table> </td> </tr> </xsl:for-each> But offcourse the character keeps repeating itself, and that's not what i want! Has anybody got an id? Please let me know regards, Richard |
|
#2
|
|||
|
|||
|
xsl creating correct table problem
Your xml:
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="C:\Rajitha\xml\xsl\movie.xsl"?> <collection> <character char="A"> - <movie id="57"> <moviename>A beautiful mind</moviename> <genre>thriller</genre> </movie> - <movie id="233"> <moviename>A bridge too far</moviename> <genre>action</genre> </movie> </character> <character char="B"> - <movie id="186"> <moviename>Bad boys</moviename> <genre>action</genre> </movie> - <movie id="135"> <moviename>Bad Boys 2</moviename> <genre>action</genre> </movie> </character> </collection> And the Movie xsl <?xml version="1.0" encoding="UTF-8"?> <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="/"> <table border="1"> <xsl:for-each select="collection/character"> <xsl:variable name="posval" select="@char"/> <tr> <td colspan="2"><xsl:value-of select="@char"/></td> </tr> <xsl:for-each select="/collection/character/movie"> <xsl:if test="starts-with(moviename,$posval)"> <tr> <td><xsl:value-of select="moviename"/></td> <td><xsl:value-of select="genre"/></td> </tr> </xsl:if> </xsl:for-each> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> Hope this will solve ur problem |
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > XML Programming > xsl creating correct table problem |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|