RE: [xsl] iterating over unstructured data

Subject: RE: [xsl] iterating over unstructured data
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Mon, 4 Feb 2002 13:39:57 -0000
You don't choose between pull and push (for-each vs. apply-templates) on the
basis of performance. You choose on the basis of potential for change: the
apply-templates solution is generally more robust to variations in the
structure of the source document.

Michael Kay
Software AG
home: Michael.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx

> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of
> Andrew Welch
> Sent: 04 February 2002 13:12
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] iterating over unstructured data
>
>
>
> Thanks Mike, I was looking for the non for-each solution.  Performance
> wise - which is best?
>
> cheers
>
> andrew
>
> ===
>
> [ps.  <xsl:template match="bar"/> needed to include <xsl:value-of
> select="."/> to output the text for anyone else using this]
>
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Michael Kay
> Sent: Monday, February 04, 2002 12:30 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] iterating over unstructured data
>
>
> >
> > This may be a faq, but my searches have so far been unproductive.
> >
> > For the data:
> >
> > <root>
> >   <foo>1</foo>
> >   <bar>2</bar>
> >   <foo>3</foo>
> >   <bar>4</bar>
> >   <foo>5</foo>
> >   <bar>6</bar>
> >   <foo>7</foo>
> >   <bar>8</bar>
> >   <foo>9</foo>
> >   <bar>10</bar>
> > </root>
> >
> > I want to output the following format (foo followed by bar on
> > each line):
> >
> > 1	2
> > 3	4
> > 5	6
> > 7	8
> > 9	10
> >
> > What is the best way of going about this?
> >
> <xsl:template match="foo">
> <tr>
> <td><xsl:value-of select="."/></td>
> <td><xsl:value-of select="following-sibling::bar[1]"/></td>
> </tr>
> </xsl:template>
>
> <xsl:template match="bar"/>
>
> <xsl:template match="root">
> <table>
> <xsl:apply-templates select="foo"/>
> </table>
> </xsl:template>
>
> Michael Kay
> Software AG
> home: Michael.H.Kay@xxxxxxxxxxxx
> work: Michael.Kay@xxxxxxxxxxxxxx
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread