Subject: [xsl] XPath Query From: Bryan Tulloch <b.tulloch@xxxxxxxxxxxxx> Date: Mon, 16 Jul 2001 09:39:16 +0100 |
Hi, I have tried to get the following to work, but thus far have only been able to get part of the output I need. My XML: <DATA> <HISTORY> <NAME>21</NAME> <DESCRIPTION>This is a history item 1</DESCRIPTION> </HISTORY> <HISTORY> <NAME>22</NAME> <DESCRIPTION>This is a history item 2</DESCRIPTION> </HISTORY> <HISTORY> <NAME>21</NAME> <DESCRIPTION>This is a history item 3</DESCRIPTION> </HISTORY> <HISTORY> <NAME>24</NAME> <DESCRIPTION>This is a history item 4</DESCRIPTION> </HISTORY> <HISTORY> <NAME>21</NAME> <DESCRIPTION>This is a history item 5</DESCRIPTION> </HISTORY> <NAME CODE="21"> <PERSON>Fred Bloggs</PERSON> </NAME> <NAME CODE="22"> <PERSON>John Smith</PERSON> </NAME> <NAME CODE="24"> <PERSON>Fred Jones</PERSON> </NAME> </DATA> My desired output: <TABLE> <TR><TD>This is a history item 1</TD><TD>Fred Bloggs</TD></TR> <TR><TD>This is a history item 2</TD><TD>John Smith</TD></TR> <TR><TD>This is a history item 3</TD><TD>Fred Bloggs</TD></TR> <TR><TD>This is a history item 4</TD><TD>Fred Jones</TD></TR> <TR><TD>This is a history item 5</TD><TD>Fred Bloggs</TD></TR> </TABLE> My XSL (below) displays the description in the first column of the table. However, I have not been able to find the correct XPath expression to put the data needed for the second column into the table. I imagine that I need to call another template such as "third" below, but don't know what to put in it. By the way, I have spent several hours trying to solve this one, so I'm not just being lazy! <?xml version="1.0" encoding="utf-8"?> <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="items" select="//DATA[HISTORY/NAME=NAME/@CODE]/HISTORY/NAME" /> <xsl:template match="/"> <TABLE> <xsl:call-template name="second" /> </TABLE> </xsl:template> <xsl:template name="second"> <xsl:for-each select="//DATA[./NAME/@CODE=$items]/HISTORY"> <TR> <TD> <xsl:value-of select="DESCRIPTION" /> </TD> </TR> </xsl:for-each> <xsl:call-template name="third" /> </xsl:template> <xsl:template name="third"> </xsl:template> </xsl:transform> Bryan XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Background color problem , Thomas B. Passin | Thread | Re: [xsl] XPath Query, David Carlisle |
RE: [xsl] Background color problem , Bedwell Tom | Date | [xsl] Another (hopefully not stupid, Christian Cäsar |
Month |