Re: [xsl] Replicating parent elements in table with children.

Subject: Re: [xsl] Replicating parent elements in table with children.
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 01 Nov 2002 15:17:51 -0500
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@xxxxxxxxxxxxxxxx
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



Current Thread