Here is my XML
---------------------------------------------
<people>
<person firstName="Johnny">
<date day="2002-01-01">
<funThing>Ate Pizza</funThing>
<badThing>Hit Brother</badThing>
</date>
<date day="2002-02-01">
<funThing>Bought Bike</funThing>
<badThing>Stole Candy</badThing>
</date>
<date day="2002-03-01">
<funThing>Ran in Park</funThing>
<badThing>Skipped class</badThing>
</date>
</person>
<person firstName="Billy">
<date day="2002-01-01">
<funThing>Swam in lake</funThing>
<badThing>Told a lie</badThing>
</date>
<date day="2002-02-01">
<funThing>Jumped on Tramp</funThing>
<badThing>Hid valuables</badThing>
</date>
<date day="2002-03-01">
<funThing>Visited Disney</funThing>
<badThing>Cussed</badThing>
</date>
</person>
</people>
---------------------------------------------
Here is what I want in my output:
---------------------------------------------
Johnny FunThing Johnny BadThing Billy FunThing
Billy BadThing
2002-01-01 Ate Pizza Hit Brother Swam in lake Told a
lie
2002-02-01 Bought Bike Stole Candy Jumped on Tramp Hid valuables
2002-03-01 Ran in Park Skipped class Visited Disney Cussed
---------------------------------------------
Here is my xsl that kinda works (shows correct output but sorting doesn't work):
---------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<table border="1">
<tr>
<td></td>
<td>Johnny FunThing</td>
<td>Johnny BadThing</td>
<td>Billy FunThing</td>
<td>Billy BadThing</td>
</tr>
<xsl:for-each select="people/person/date[../@firstName = 'Johnny']">
<xsl:sort select="@day" order="ascending" data-type="text"/>
<xsl:variable name="pos" select="position()"/>
<tr>
<td><xsl:value-of select="@day"/></td>
<td><xsl:value-of select="funThing"/></td>
<td><xsl:value-of select="badThing"/></td>
<td><xsl:for-each select="../../person/date[../@firstName =
'Billy'][position() = $pos]"><xsl:value-of
select="funThing"/></xsl:for-each></td>
<td><xsl:for-each select="../../person/date[../@firstName =
'Billy'][position() = $pos]"><xsl:value-of
select="badThing"/></xsl:for-each></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
---------------------------------------------
I want to be able to sort on the Billy funThing or Billy badThing columns.
Seems like I am doing too much to set variable with position, jump out of that
loop to get the Billy contents.
any help would be appreciated.
thanks,
will
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list