[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: RE: How to implement an array
Wendell, The template you suggested seemed to have a flaw. > > This template will do this: > > > > <xsl:template match="Table1/Item" mode="celldata"> > > <xsl:variable name="thisitem" select="."/> > > <tr> > > <xsl:for-each select="$Table1Struct"> > > <td> > > <xsl:value-of > > select="$thisitem/*[name()=name(current())]"/> > > <!-- selects that child of the Item > whose > > name is the name of > > the $Table1Struct node we're > looking > > at --> > > <xsl:if > > > > > test="not($thisitem/*[name()=name(current())])"> </xsl:if> > > <!-- if there is none, gives us a space > > --> > > </td> > > </xsl:for-each> > > </tr> > > </xsl:template> When no row in the table contains any element for a particular column that column is excluded from the colum heading. But the above template would insert a blank cell in the table. So we get Heading: Col1 Col2 Col3 Data XXX YYY ZZZ Data XXX YYY ZZZ instead of: Heading: Col1 Col2 Col3 Data XXX YYY ZZZ Data XXX YYY ZZZ I think it is necessary to check if elements exist for all children nodes before inserting a cell data (<td> element). That was the logic I was struggling with. Imrran __________________________________________________ Do you Yahoo!? Yahoo! Shopping - Send Flowers for Valentine's Day http://shopping.yahoo.com XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|