xsl-list
[Top] [All Lists]

RE: [xsl] Can grouping here the solution ?

2011-11-21 10:46:06
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>
--~--