Subject: Fwd: Re: Fw: [xsl] Is it possible to reference the previous and next elements inside a for-each From: Ian Lang <ianplang@xxxxxxxxx> Date: Mon, 12 Apr 2004 10:54:03 -0700 (PDT) |
Your solution looked good. I had been using the for-each because I was redirecting to an index file as well as generating HTML content for each node. I switched to for-each for the index file and apply-templates for generation as you suggested but it did not work as expected. My navigation bar generating template was using preceding-sibling and following-sibling by default already. The problem was that the next and previous links still referenced elements that were not part of the apply-template's select statement. I have a case of nested containment like this: <toplevel> <container name="container1"> <children> <child name="simple1" type="simple"/> <child name="complex1" type="complex"/> <child name="simple2" type="simple"/> <container name="container2"> <children> <child name="simple3" type="simple"/> <child name="simple4" type="simple"/> <child name="complex2" type="complex"/> </children> </container> </children> </container> <toplevel> In the style sheet I have this to generate content HTML for all simple child elements: <xsl:apply-templates mode="createContent" select="//child[@type='simple']"> <xsl:sort select="@name"/> </xsl:apply-templates> But the previous and next links in the gernated HTML also include the elements of type complex which I do not want. Did I missunderstand what you were suggesting? IL "Andreas L. Delmelle" <a_l.delmelle@xxxxxxxxxx> wrote on 2004-04-12 01:17:50: > > -----Original Message----- > > From: Ian Lang [mailto:ianplang@xxxxxxxxx] > > > > > > I am working on a navigation bar for my output > > HTML. > > When executing a for-each like this: > > Hi, > > So, in short, the structure looks like: > > <xsl:for-each select="x"> > <xsl:sort select="..."/> > <xsl:apply-templates mode="createContent" > select="."> > <xsl:with-param name="prevEl" > select="..."/> > <xsl:with-param name="nextEl" > select="..."/> > </xsl:apply-templates> > </xsl:for-each> > > > Remember that if you were to do: > > <xsl:apply-templates select="x" > mode="createContent"> > <xsl:sort select="..." /> > </xsl:apply-templates> > > Then in the matching template the requested > previous and following x are > available on the preceding and following (-sibling) > axes, so there is really > no need to pass these in with parameters <snip> __________________________________ Do you Yahoo!? Yahoo! Tax Center - File online by April 15th http://taxes.yahoo.com/filing.html
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Comment nodes in XSLT fil, Michael Kay | Thread | [xsl] Newbie question: Incrementing, Durston, Andrew (AGR |
RE: [xsl] Comment nodes in XSLT fil, M. David Peterson | Date | Re: [xsl] Comment nodes in XSLT fil, Wendell Piez |
Month |