[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Need help with xsl:for-each and xsl:value-of
Subject: Re: [xsl] Need help with xsl:for-each and xsl:value-of From: "Joerg Heinicke" <joerg.heinicke@xxxxxx> Date: Wed, 20 Mar 2002 23:06:48 +0100 |
Hello Chris, using disable-output-escaping is the completely wrong. Please look here for more information: http://www.dpawson.co.uk/xsl/sect2/N2215.html. Why aren't you creating the table on element test? And a second hint: why not using templates? In general I prefer templates instead of for-each. http://www.dpawson.co.uk/xsl/sect2/N7654.html Every thing about XSLT: http://www.dpawson.co.uk/xsl/sect2/sect21.html. <xsl:template match="test"> <table> <thead> <tr> <td>att1</td> <td>att2</td> </tr> </thead> <tbody> <xsl:apply-templates select="item"/> </tbody> </table> </xsl:template> <xsl:template match="item"> <tr> <td> <xsl:value-of select="@att1"/> <xsl:if test="not(@att1)">default</xsl:if> </td> <td> <xsl:value-of select="@att2"/> <xsl:if test="not(@att2)">default</xsl:if> </td> </tr> </xsl:template> Regards, Joerg > I have a simple table I am trying to create. Here is the sample XML file. > > <?xml version="1.0" encoding="UTF-8"?> > <test> > <item att1="foo1" att2="bar1"/> > <item att2="bar2"/> > <item att1="foo3"/> > <item/> > <item att1="foo5" att2="bar5"/> > </test> > > I am currently using XMLSpy to create a XSL file to create my HTML table. > It does create a basic table but not exaclty what I want. Right now, if > either att1 or att2 if not set, nothing gets placed in the table cell. What > I would like to do it do a test of that value to see if it is defined and if > not, place some other fixed value there. I have tried adding various if > conditions without any success. Can this be done?? Should I use some other > command other that xsl:for-each? Here is the stylesheet it is generating. > > Thanks > Chris > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:xs="http://www.w3.org/2001/XMLSchema"> > <xsl:template match="/"> > <html> > <head /> > <body> > <xsl:for-each select="test"> > <xsl:for-each select="item"> > <xsl:if test="position()=1"> > <xsl:text disable-output-escaping="yes"><table > border="1"></xsl:text> > </xsl:if> > <xsl:if test="position()=1"> > <thead> > <tr> > <td>att1</td> > <td>att2</td> > </tr> > </thead> > </xsl:if> > <xsl:if test="position()=1"> > <xsl:text > disable-output-escaping="yes"><tbody></xsl:text> > </xsl:if> > <tr> > <td> > <xsl:for-each select="@att1"> > <xsl:value-of select="." /> > </xsl:for-each> > </td> > <td> > <xsl:for-each select="@att2"> > <xsl:value-of select="." /> > </xsl:for-each> > </td> > </tr> > <xsl:if test="position()=last()"> > <xsl:text > disable-output-escaping="yes"></tbody></xsl:text> > </xsl:if> > <xsl:if test="position()=last()"> > <xsl:text > disable-output-escaping="yes"></table></xsl:text> > </xsl:if> > </xsl:for-each> > </xsl:for-each> > </body> > </html> > </xsl:template> > </xsl:stylesheet> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Need help with xsl:for-each a, Williams, Chris D. | Thread | RE: [xsl] Need help with xsl:for-ea, Michael Kay |
Re: [xsl] Wrox book still the best , G. Ken Holman | Date | RE: [xsl] Wrox book still the best , Max Dunn |
Month |