xsl-list
[Top] [All Lists]

RE: [xsl] Can grouping here the solution ?

2011-11-21 11:53:12

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(_dot_)Pelssers(_at_)nxp(_dot_)com
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)hotmail(_dot_)com]
Sent: Monday, November 21, 2011 6:33 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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(_at_)lists(_dot_)mulberrytech(_dot_)com; 
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
From: gkholman(_at_)CraneSoftwrights(_dot_)com
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(_at_)CraneSoftwrights(_dot_)com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers: http://www.CraneSoftwrights.com/legal


--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
                                        
--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--