Alan,
Try:
<xsl:template match="Table">
<table>
<xsl:apply-templates select="Table1"/>
<xsl:if test="not(Table1)">
<tr><xsl:apply-templates/></tr>
</xsl:if>
</table>
</xsl:template>
<xsl:template match="Table1">
<tr>
<xsl:apply-templates select="../AvgScore | DeliveryID"/>
</tr>
</xsl:template>
<xsl:template match="AvgScore | DeliveryID">
<td>
<xsl:apply-templates/>
</td>
</xsl:template>
This gets you most of the way there. But you haven't said *how* you want
"the contents of <table>" when there's no table1 (so I guessed). Maybe it's
unrelated, but you also haven't shown where the "975" comes from in your
sample data.
At 03:01 PM 11/1/2002, you wrote:
I need help with the looping/xpath approach to make this happen.
As you may be able to see from my code, the solution may not be in any
"looping/xpath" approach at all. Actually, the sooner you can unlearn to
think about "looping" (generally speaking a foreign concept to XSLT), the
sooner you can see how to write XSLT.
Cheers,
Wendell
<NewDataSet>
<Table>
<AvgScore>323</AvgScore>
<Table1>
<DeliveryID>4102</DeliveryID>
</Table1>
<Table1>
<DeliveryID>4103</DeliveryID>
</Table1>
<Table1>
<DeliveryID>4104</DeliveryID>
</Table1>
</Table>
<Table>
<AvgScore>975</AvgScore>
</Table>
</NewDataSet>
<table>
<tr><td>323</td><td>4102</td></tr>
<tr><td>323</td><td>4103</td></tr>
<tr><td>323</td><td>4104</td></tr>
<tr><td>975</td></tr>
</table>
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list