RE: [xsl] XSL Newbie seeks help

Subject: RE: [xsl] XSL Newbie seeks help
From: mylistaddress@xxxxxxxxxx
Date: Tue, 08 Feb 2005 16:47:08 -0800 (PST)
Hi again,
I am obviously not so bright. I have tried to apply
many of the code samples, and keep getting an error
along the lines of "xsl:for-each-group not permitted at
this position in the XSL".

Here is what my xml looks like:
------------------------------
<Response>
<Record>
<Field FieldName="COUNTRY">France</Field>
<Field FieldName="COUNTRY">USA</Field>
<Field FieldName="HEADLINE">Blah, blah, blah</Field>
...More XML omitted goes here...
</Record>
</Response>

As mentioned, I used a simple xsl sheet that includes

<xsl:template match="Field">
  <xsl:apply-templates/>
<xsl:template>

(HTML omitted)

This results in a table with one row per Field. When
there is more than one instance of a field/attribute, I
would like to only have one row. So, in this case, I
would have "France, USA" on one row in my table instead
of across 2 rows.

I would appreciate a little direction if possible.

Thanks

JIM




On Tue, 8 Feb 2005 13:30:53 -0000, "Michael Kay" wrote:

> 
> Your problem is known as "grouping" and there is a
vast
> literature on the
> subject.
> 
> XSLT 2.0 has an instruction xsl:for-each-group to
> handle the problem, and
> the techniques you can use in XSLT 1.0 are explained
at
> http://www.jenitennison.com/xslt/grouping
> 
> Michael Kay
> http://www.saxonica.com/ 
> 
> > -----Original Message-----
> > From: mylistaddress@xxxxxxxxxx
> [mailto:mylistaddress@xxxxxxxxxx] 
> > Sent: 08 February 2005 13:15
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: [xsl] XSL Newbie seeks help
> > 
> > HI,
> > I searched the archives and must admit I am not sure
> if
> > I found what I needed, as a lot of what I see is all
> > new to me.
> > 
> > I am successfully applying a very basic XSL sheet to
> an
> > XML document using <xsl:template match="Field">
> against
> > an XML document which has multiple "Field" nodes but
> > with different names, like this:
> > 
> > <Field FieldName="DOCID">abc1223</Field>
> > <Field FieldName="COUNTRY">USA</Field>
> > <Field FieldName="COUNTRY">Canada</Field>
> > 
> > This works great, but as you may have noticed, some
> > fields have the same FieldName attribute, and
> sometimes
> > there can be a dozen countries, and this make my
> > transformed document (HTML table) much longer as it
> > creates a row for each COUNTRY entry.
> > 
> > How would I evaluate that there is more than one
> > occurance of the Field/FieldName combination so
that I
> > can create a concatenated list of contries so as to
> > display them all on only one row?
> > 
> > Any help appreciated.
> > 
> > Jim

Current Thread