[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] Can grouping here the solution ?


Subject: RE: [xsl] Can grouping here the solution ?
From: Roelof Wobben <rwobben@xxxxxxxxxxx>
Date: Mon, 21 Nov 2011 17:52:58 +0000

Thanks but the problem is that the 2005-02 is on the url but the pagenumber is
a xslt variable which is not on the url.



Roelof



----------------------------------------
> From: Robby.Pelssers@xxxxxxx
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Date: Mon, 21 Nov 2011 18:41:58 +0100
> Subject: RE: [xsl] Can grouping here the solution ?
>
> You can do something like
>
> <xsl:for-each group select="display-articles/section/entry"
group-by="concat(substring(datum/text(), 1,7), '/', page/text())">
> <!-- this way you group on unique combinations of e.g. strings like
'2005-02/1' -->
> </xsl:for-each>
>
> Robby
>
> -----Original Message-----
> From: Roelof Wobben [mailto:rwobben@xxxxxxxxxxx]
> Sent: Monday, November 21, 2011 6:33 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] Can grouping here the solution ?
>
>
> what I try to achieve is this.
>
>
>
> As you can see I have some articles for testing purposes.
>
> I like to display them per month and per page where I can decide how many
articles are displayed.
>
> This depends on the month and the page the user is on my website.
>
>
>
> I hope it's clear what I want.
>
>
>
> Roelof
>
>
>
> ----------------------------------------
> > Date: Mon, 21 Nov 2011 11:45:42 -0500
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx; xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > From: gkholman@xxxxxxxxxxxxxxxxxxxx
> > Subject: RE: [xsl] Can grouping here the solution ?
> >
> > At 2011-11-21 16:29 +0000, Roelof Wobben wrote:
> > >Can I select the group on multiple things
> >
> > Yes, by grouping the groups as I showed you.
> >
> > >This script does what i need but I don't see how I can take care
> > >that ony 1 month and 1 page are displayed.
> >
> > I do not understand your concern. Can you please post what you want
> > to display for the XML content you showed us?
> >
> > Perhaps the problem is in your choice of the word "grouping". If you
> > want to only show from your content all of the titles for a given
> > month and page, then you do not need grouping, you only need filtering.
> >
> > I hope the filtering example below helps. It does not rely on grouping.
> >
> > . . . . . . . . . . Ken
> >
> > t:\ftemp>type roelof.xml
> > <?xml version="1.0" encoding="UTF-8"?>
> > <display-articles>
> > <section id="1" handle="blog">Blog</section>
> > <entry id="1">
> > <titel handle="zwanger">Zwanger ??</titel>
> > <datum time="23:00" weekday="5">2005-02-04</datum>
> > <page>1</page>
> > <tekst mode="formatted"><p>Hoera, het is zover, eindelijk (...)</p>
> > </tekst>
> > </entry>
> > <entry id="2">
> > <titel handle="7-weken-echo">7 weken echo</titel>
> > <datum time="22:00" weekday="1">2005-02-21</datum>
> > <page>1</page>
> > <tekst mode="formatted"><p>Ik stond al onder behandeling (...)</p>
> > </tekst>
> > </entry>
> > <entry id="3">
> > <titel handle="appelgebak">Appelgebak</titel>
> > <datum time="23:00" weekday="6">2005-02-26</datum>
> > <page>2</page>
> > <tekst mode="formatted"><p>Met appelgebak zijn we naar jouw (...)</p>
> > </tekst>
> > </entry>
> > </display-articles>
> >
> > t:\ftemp>xslt2 roelof.xml roelof2.xsl roelof.out "month=02" "page=2"
> >
> > t:\ftemp>type roelof.out
> > For month "02" and page "2":
> > Appelgebak
> >
> > t:\ftemp>xslt2 roelof.xml roelof2.xsl roelof.out "month=02" "page=1"
> >
> > t:\ftemp>type roelof.out
> > For month "02" and page "1":
> > Zwanger ??
> > 7 weken echo
> >
> > t:\ftemp>type roelof2.xsl
> > <?xml version="1.0" encoding="UTF-8"?>
> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> > version="2.0">
> > <xsl:output method="text"/>
> >
> > <xsl:param name="month" required="yes"/>
> > <xsl:param name="page" required="yes"/>
> >
> > <xsl:template match="display-articles">
> > <xsl:text>For month "</xsl:text>
> > <xsl:value-of select="$month"/>
> > <xsl:text>" and page "</xsl:text>
> > <xsl:value-of select="$page"/>
> > <xsl:text>":
> > </xsl:text>
> > <xsl:for-each select="entry[substring(datum,6,2)=$month and page=$page]">
> > <xsl:value-of select="titel"/>
> > <xsl:text>
> > </xsl:text>
> > </xsl:for-each>
> > </xsl:template>
> >
> > </xsl:stylesheet>
> > t:\ftemp>
> >
> >
> > --
> > Contact us for world-wide XML consulting and instructor-led training
> > Free 5-hour video lecture: XSLT/XPath 1.0 & 2.0 http://ude.my/t37DVX
> > Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
> > G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
> > Google+ profile: https://plus.google.com/116832879756988317389/about
> > Legal business disclaimers: http://www.CraneSoftwrights.com/legal


Current Thread
Keywords