xsl-list
[Top] [All Lists]

[xsl] why does the linit not work here ?

2012-01-13 12:45:56


Hello, 

 

I have this xml : 

 

 

Master.xsl : 

 

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

 

<xsl:import href="../utilities/top.xsl"/>
<xsl:import href="../utilities/frontpage-article.xsl"/>
<xsl:import href="../utilities/recent_posts.xsl"/>
<xsl:import href="../utilities/navigation.xsl"/>

 

<xsl:output method="xml"
 doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";
 omit-xml-declaration="yes"
 encoding="UTF-8"
 indent="yes" />

 

<xsl:template match="/">
<xsl:apply-templates select="data/params" mode="top" />
     <body>
             <div id="outer">
                 <div id="container">
                     <div id="search">
                         <form method="get" id="searchform" 
action="http://test.tamarawobben.nl/search-page/"; >
                             <input type="text" value="" name="keywords" id="s" 
class="txtField" />
                             <input type="submit" id="searchsubmit" 
class="btnSearch" value="Find It " />
                        </form>
                     </div>
                         <div id="title">
                             <h2><xsl:text>Tamara Wobben</xsl:text></h2>
                        </div>
                     </div>
                     <div id="content">
                        <div class="col01">
                                <div class="post">
                                     <xsl:apply-templates select="data" />
                                </div></div>
                              <div class="side-columns">
                             <div class="col02">
                                 <div class="pages">
                                     <!-- hier komen de losse pagina's -->
                                 </div>
                                 <div class="pages-bottom"></div>
                                 <div class="categories-upper"></div>
                                 <div class="categories">
                                    <xsl:apply-templates select="data/menu" />
                                </div>
                                 <div class="categories-btm"></div>
                                </div>
                             <div class ="col03"> 
                                <div class="recent-posts" >
                                   <xsl:apply-templates 
select="data/recent-posts/entry" />
                                </div>
                                <div class="postit-bottom"></div>
                            </div>
                         </div>
<br style="clear:both" />
                     </div>
                     <xsl:apply-templates select="data/params" mode="down" />   
                              
                </div>              
            </body>            
</xsl:template>

</xsl:stylesheet>


Dagboek.xsl : 

 

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

 

<xsl:import href="../utilities/master.xsl"/>
<xsl:import href="../utilities/dagboek-article.xsl"/>

<xsl:param name="total_articles" 
select="data/dagboek/pagination/@total-entries" />

 

<xsl:param name="articles_per_page">
    <xsl:choose>
        <xsl:when test="$page = 1 and $year = 2005 and $month = 04">1</xsl:when>
        <xsl:otherwise>3</xsl:otherwise>
    </xsl:choose>
</xsl:param>

 

<xsl:param name="number_pages">
    <xsl:choose>
        <xsl:when test="$year = 2005 and $month = 04">3</xsl:when>
        <xsl:otherwise>
           <xsl:value-of select="ceiling($total_articles div 
$articles_per_page)" />
        </xsl:otherwise>
    </xsl:choose>
</xsl:param>

 

<xsl:param name="offset">
    <xsl:choose>
        <xsl:when test="$page = 1 and $year = 2005 and $month = 04">0</xsl:when>
        <xsl:when test="$page &gt; 1 and $year = 2005"><xsl:value-of 
select="($page - 1)* $articles_per_page -2" /> </xsl:when>
        <xsl:otherwise>
           <xsl:value-of select="$articles_per_page * $page  - 
$articles_per_page " />
        </xsl:otherwise>
    </xsl:choose>
</xsl:param>

 

<xsl:param name="end" select="$offset + $articles_per_page + 1" />

 

<xsl:template match="data">
       <xsl:apply-templates select="dagboek/entry[position() &gt; 
$offset][position() &lt; $end]" />
</xsl:template>

 

</xsl:stylesheet>

 

dagboek-article.xlt : 

 

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

 

<xsl:import href="../utilities/frontpage-article.xsl"/>
<xsl:import href="../utilities/date-time.xsl"/>

 

<xsl:template match="dagboek/entry" >
   <h3> 
    <xsl:value-of select="titel" /> 
  </h3>
  <div class="post-inner">
     <div class="date-tab">
         <span class="month">
               <xsl:call-template name="format-date">
            <xsl:with-param name="date" select="datum"/>
      <xsl:with-param name="format" select="'M'"/>
               </xsl:call-template>
         </span>
         <span class="day">
                <xsl:call-template name="format-date">
      <xsl:with-param name="date" select="datum"/>
      <xsl:with-param name="format" select="'d'"/>
                </xsl:call-template>
         </span>
   </div>
   <xsl:apply-templates select="tekst" />
</div>
</xsl:template>

 

</xsl:stylesheet>

 

frontpage-article.xsl : 

 

<?xml version="1.0" encoding="UTF-8"?>


<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

 

<xsl:template match="section/entry">
         <h3><xsl:value-of select="title" /></h3> 
         <div class="post-inner">
            <xsl:apply-templates select="tekst" />
         </div>
</xsl:template>

 

<xsl:template match="tekst//p[starts-with(., 'FLOAT : ')]" priority="1">
    <img class="float-left" src="{$workspace}/images/{substring-after(., 'FLOAT 
: ')}" />
</xsl:template>

 

<xsl:template match="tekst//*">
    <xsl:element name="{name()}">
        <xsl:apply-templates select="* | @* | text()"/>
    </xsl:element>
</xsl:template>

 

<xsl:template match="tekst//@*">
    <xsl:attribute name="{name(.)}">
        <xsl:value-of select="."/>
    </xsl:attribute>
</xsl:template>

 

</xsl:stylesheet>

 

 

Here's my xml : 

 

<data>

     <dagboek> 

          <pagination total-entries="8" total-pages="1" entries-per-page="20" 
current-page="1" /> 

          <section id="9" handle="dagboek">Dagboek</section> 

               <entry id="20"> 

                   <tekst mode="formatted"><p>Alvast bloed laten prikken voor 
de tripletest. De uitstag is dan binnen als de nekplooimeting wordt gedaan. 
Sinds kort kan dat in het S.M.T. in Hengelo, dus dat is mooi meegenomen. Nog 
niet veel mensen weten dat je in mijn buik aan het groeien bent, maar ik had 
het al wel tegen een vriendin verteld en het leuke was dat ik de week erna een 
hele stapel broeken te leen kreeg en een stapel Wij jonge ouders. Dus lees ik 
volop. Heerlijk om in weg te dromen en ik ben benieuwd hoe jij eruit zult 
zien.</p> 45 46<p>FLOAT : echo.jpg </p> 47 48<p>De hoeveelheid vocht in jouw 
nek is meer dan gebruikelijk, het is 3,2 mm, met alle gegevens erbij wordt een 
kansberekening gemaakt voor het Downsyndroom. De uitslag is een kans van 1 op 
24. Het lijkt niet veel maar toch. Verslagen verlaten we het ziekenhuis en in 
de trein wordt het mij teveel. De uitslag en het gezeur over de manier waarop 
de echo was geregeld werd me teveel en wat me al heel lang n!
 iet meer was overkomen gebeurt dan toch, ik zit te huilen in de trein.</p> 49 
50<p>Terug op het werk vertel ik mijn collega’s wat er is gezegd en neem dan 
pauze, even de honden uitlaten. Thuis schrik ik van het bericht op het 
antwoordapparaat. Mijn gynaecoloog, Dr. Veenstra heeft gebeld, de uitslag van 
de tripletest is binnen en ze wil me zo snel mogelijk spreken. Uitslag binnen, 
dat kon toch niet. Ik snap er niets meer van en ga eerst met de honden lopen en 
moed verzamelen. Dr. Veenstra is er ’s middags niet en ik word doorverbonden 
met Dr. Gnodde. Hij verontschuldigd zich voor het feit dat ik deze informatie 
over de telefoon krijg, maar het is heel belangrijk. De uitslag van de 
tripletest is dat er een kans is van 1 op 30 op een kindje met het 
Downsyndroom. Echter, samen met de nekplooimeting wordt het een kans van 1 op 
3! Als ik de telefoon neerleg is de grond onder mijn voeten weggeslagen. De 
honden voelen mijn verdriet en zitten dicht bij me. Ik bel jouw papa en spreek!
  met hem af dat ik hem op kom halen zodra ik rustig ben, ik he!
 b behoorlijk zitten huilen aan de telefoon.</p> <p>Terug op het werk zien mijn 
collega’s al dat niet goed gaat en ik vertel wat er is. Het werk wordt onder 
mijn handen weggepakt en ik moet je papa bellen. Hij is er heel snel en we gaan 
samen naar huis, een voordeel als je in het zelfde gebouw werkt.</p> 

          </tekst> 

                  <titel handle="nekplooimeting">Nekplooimeting </titel> 

                  <datum time="00:00" weekday="5">2005-04-01</datum> 

              </entry> 

              <entry id="21"> 

                    <tekst mode="formatted"><p>Er is veel gesproken over de 
echo, de vlokkentest en mijn angst hiervoor. Jouw papa en ik hebben besloten om 
het wel te doen, dan hebben we zekerheid. Ik heb het ziekenhuis gebeld en ik 
moet morgen naar het MST. Ik zie er als een berg tegenop.</p> 

                     </tekst> 

                     <titel handle="vlokkentest">Vlokkentest ?</titel> 

                     <datum time="19:16" weekday="1">2005-04-04</datum> 

               </entry> 

               <entry id="22"> 

              <tekst mode="formatted"><p>De dag van de vlokkentest. De 
ontvangst was beter dan de vorige keer. De echo die we hadden was mooi. Even 
leek je naar ons te zwaaien, jouw handje werd eerst een vuistje en vervolgens 
ging jouw duim richting je mond. Alsof je ons wilde zeggen dat het goed met je 
ging. 66 De voorbereidingen werden getroffen en de test kon beginnen. Oeps wat 
een grote naald en spuit. Even kreeg ik het Spaans benauwt, maar het viel 
allemaal mee. Dat ik daar zo tegenop heb gezien, nergens voor nodig. Nu twee 
weken wachten op de uitslag, dan weten we meer over je. </p> 

               </tekst> 

               <titel handle="vlokkentest">Vlokkentest</titel>

               <datum time="00:00" weekday="2">2005-04-05</datum> 

              </entry> 

               <entry id="23"> 

                   <tekst mode="formatted"><p>Ik ben samen met jouw oma Marie 
en tante Gerda naar de huishoudbeurs geweest. Zeer vermoeiend om zo’n tijd te 
lopen, maar ook zo lekker om je gedachten bij hele andere dingen te hebben. Tja 
en dan kom je op de negenmaanden beurs, heerlijk om daar zwanger rond te lopen. 
Ik vond wel dat het meer was voor mensen die kinderen hadden in de 
peuterleeftijd maar het was wel leuk. Er was een stand waar je naar het hartje 
van je kind kon luisteren. Dat wilde ik wel, jouw hartje horen. Volgens de 
folders kon dat vanaf 12 weken en jij bent 13,5 weken dus….. vragen ze doodleuk 
of ik met een volle blaas wil komen, ja echt niet. Rond lopen op de 
Huishoudbeurs met een volle blaas. Ze hebben je goed moeten zoeken, maar heel 
vaag was je hartje te horen yes yes yes. De rest van de dag heb je me op een 
roze wolk laten zitten</p> 

                 </tekst> 

                   <titel handle="dagje-uit-voor-mama">Dagje uit voor 
mama</titel> 

                  <datum time="00:00" weekday="4">2005-04-07</datum>

               </entry> 

               <entry id="24">

                 <tekst mode="formatted"><p>We zijn nog druk bezig met de 
woonkamer, als om half vijf de telefoon gaat. Het blijkt iemand van het MST te 
zijn met de uitslag van de vlokkentest. Nu al. De mededeling is zakelijk. Jij 
hebt het Downsyndroom en onze eigen gynaecoloog is nog niet op de hoogte van de 
uitslag. Goedenavond.  79Even dringt niet tot me door wat je papa mij verteld, 
maar na een paar minuten komt de informatie toch binnen. Wat ik zelf al 
vermoedde is waar. Maar wat er ook gebeurt jij bent ons kindje en je bent 
welkom. Morgen bel ik het SMT voor een afspraak bij dokter Veenstra. Nu eerst 
onze ouders en zussen bellen, iedereen is verdrietig maar ze steunen ons 
geweldig.  80Al is het vroeg, ik hoop dat je mij heel vroeg een teken van leven 
zult geven. Ik heb het even nodig om te weten dat mijn gevoel goed is.</p> 

                  </tekst> 

                  <titel handle="uitslag-vlokkentest">Uitslag 
vlokkentest</titel>

                  <datum time="00:00" weekday="1">2005-04-11</datum> 

            </entry> 

           <entry id="25"> 

          <tekst mode="formatted"><p>Het gesprek met dokter Veenstra was goed. 
Ze was niet blij met de gang van zaken maar kon er helaas niets meer aan 
veranderen. Voor het eerst hebben we je hartje gehoord via de doptone, het was 
mooier dan tijdens de huishoudbeurs en je papa was er nu bij. Een mooi 
treintje, super om te horen.  87Wij hebben contact gezocht met de SDS 
(Stichting DownSyndroom) en de opvang was zeer goed. Een luisterend oor en alle 
medewerking om ons van goede informatie te voorzien. Binnenkort kunnen wij een 
pakket met informatie verwachten. </p> 

           </tekst> 

           <titel handle="gesprek-dr-veenstra">Gesprek Dr. Veenstra</titel> 

           <datum time="00:00" weekday="5">2005-04-15</datum> 

         </entry> 

         <entry id="26"> 

             <tekst mode="formatted"><p>Het is er echt, zeker weten. Een heel 
harde plop in mijn buik. Nog steeds is mijn buik zo plat als een dubbeltje, 
maar er zit leven binnenin, jij zit in mijn buik. Ik geniet van het moment en 
niemand neemt me dit af. Heerlijk om zo zwanger te zijn. De enige twee dingen 
die ik heb zijn zere borsten en moeheid. Maar dat vind ik niet erg.  94De 
mensen van de SDS hebben hun woord gehouden, een enorm pak met folders hebben 
ze ons toegestuurd. De komende tijd hebben we genoeg te lezen om meer te weten 
te komen over het Down Syndroom.</p> 

         </tekst>

          <titel handle="plop">Plop</titel> 

          <datum time="00:00" weekday="7">2005-04-24</datum> 

      </entry>

 </dagboek>

</data>

 

What i was expecting was if I goto page 2 of april 2005 there will be 3 
articles displayed because articles_per_page has the value of 3 and offset has 
value of 1 and end has the value of 5.

So this rule : <xsl:apply-templates select="dagboek/entry[position() &gt; 
$offset][position() &lt; $end]" /  is supposed to display all the articles 
between 1 and 5. So articles 2,3,4.

But as you can see at http://test.tamarawobben.nl/dagboek/2005/04/02 also 
article 5 is displayed.

 

Can anyone help me figure out why this happens ?

 

Roelof

                                          
--~------------------------------------------------------------------
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>
--~--


<Prev in Thread] Current Thread [Next in Thread>