|
Subject: RE: [xsl] Collecting sibling nodes under groupings From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 12 Jan 2006 15:02:10 -0000 |
Right, well that's a standard grouping problem then:
<xsl:for-each select="Entry" group-by="Subject">
<Subject>
<xsl:value-of select="current-grouping-key()"/>
<xsl:copy-of select="current-group()/Title">
</Subject>
</xsl:for-each>
It won't replicate your indentation but should be otherwise OK.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Mark Wilson [mailto:drmark@xxxxxxxxxxxxxxx]
> Sent: 12 January 2006 14:45
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] Collecting sibling nodes under groupings
>
> Hello Michael,
> Using real data in an XML fragment, my output would look like:
>
> <SubjectList>
> <Subject>Cats
> <Title>All about Cats</Title>
> <Title>Wildcats I have known</Title>
> </Subject>
> <Subject>Dogs
> <Title>The Dog Lovers handbook</Title>
> <Title>Dogs of the American West</Title>
> </Subject>
> </SubjectList>
>
> from the original XML:
>
> <EntryList>
> <Entry>
> <Subject>Cats</Subject>
> <Title>All about Cats>
> </Entry>
> <Entry>
> <Subject>Cats</Subject>
> <Title>Wildcats I have known</Title>
> </Entry>
> <Entry>
> <Subject>Dogs</Subject>
> <Title>The Dog Lovers handbook</Title>
> </Entry>
> <Entry>
> <Subject>Dogs</Subject>
> <Title>Dogs of the American West</Title>
> </Entry>
> </EntryList>
>
> I hope this is clearer.
> Mark
>
> ----- Original Message -----
> From: "Michael Kay" <mike@xxxxxxxxxxxx>
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> Sent: Thursday, January 12, 2006 9:17 AM
> Subject: RE: [xsl] Collecting sibling nodes under groupings
>
>
> > It's not clear to me what "Some subjects" is. Is this a
> list of subjects,
> > if
> > so what form does it take? Are you trying to get a single
> entry grouped
> > under more than one subject?
> >
> > Michael Kay
> > http://www.saxonica.com/
> >
> >> -----Original Message-----
> >> From: Mark Wilson [mailto:drmark@xxxxxxxxxxxxxxx]
> >> Sent: 12 January 2006 13:17
> >> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> >> Subject: [xsl] Collecting sibling nodes under groupings
> >>
> >> It was suggested that I resubmit my question with a more
> >> specific subject
> >> line.
> >>
> >> I am building a library catalog for my club. I put each
> >> book's description
> >> in an XML sequence like (but simplified)
> >> <List>
> >> <Entry>
> >> <Subject>Some Subjects</Subject>
> >> <Title>Some Title</Title>
> >> <Publisher>Some Publisher</Publisher>
> >> </Entry>
> >> .......
> >> </List>
> >>
> >> Using Saxon 8, I then did a grouping using XSLT 2.0's new
> >> grouping element
> >> so that I get a list of all the subjects, but only a single
> >> entry for each.
> >> Now I want to create:
> >> <List>
> >> <Subject>First Subject
> >> <Title> First title associated with this subject</Title>
> >> <Publisher>Publisher associated with this
> >> title</Publisher>
> >> <Title> Next title associated with this subject</Title>
> >> <Publisher>Publisher associated with this
> >> title</Publisher>
> >> </Subject>
> >> .....
> >> </List>
> >> More to the point, I want to collect all of the sibling nodes
> >> from an entry
> >> with all of the sibling nodes from other entries that share
> >> the same subject
> >> value. I have really looked and just failed to understand
> >> what I am looking
> >> at. The examples appear to show how to collect attributes,
> >> but not how to
> >> collect sibling nodes. My attemps have all failed.
> >> Thanks,
> >> Mark
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] Collecting sibling nodes , Mark Wilson | Thread | [xsl] not showing namespace in outp, Ian Ring |
| Re: [xsl] Collecting sibling nodes , Mark Wilson | Date | [xsl] not showing namespace in outp, Ian Ring |
| Month |