|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Exclude by Sibling Condition
On Thu, 1 Dec 2005 20:07:27 -0600
"Jay Bryant" <jay@xxxxxxxxxxxx> wrote:
> Hi, Mike,
>
> That's a question to which you can find an answer in Dave Pawson's FAQ at
> http://www.dpawson.co.uk/xsl/sect2/N2696.html
>
> In your case, something like the following will do the trick:
>
> <xsl:template match="page[not(@tab=following::page/@tab)]">
> <!-- Process the page nodes with unique values for the tab attribute
> here -->
> </xsl:template>
What I ended up doing is the following:
<xsl:for-each select="page">
<xsl:variable name="prev" select="preceding-sibling::page[position()=1]"/>
<xsl:if test="not($prev) or @tab!=$prev/@tab">
I'm not sure how this differs from your method but I found that a)
[position()=1] must be used to isolate only the immediate sibling and b)
the @tab!=$prev/@tab strangely returns false if $prev is nil.
Mike
> You can do the same trick in the select attributes of apply-templates or
> for-each instructions, too, depending on exactly what you need to do.
>
> Jay Bryant
> Bryant Communication Services
>
>
> ----- Original Message -----
> From: "Michael B Allen" <mba2000@xxxxxxxxxx>
> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
> Sent: Thursday, December 01, 2005 3:53 PM
> Subject: Exclude by Sibling Condition
>
>
> > Considering the following XML fragment:
> >
> > <page name="p0" tab="products"/>
> > <page name="p1" tab="products"/>
> > <page name="p2" tab="products"/>
> > <page name="d" tab="downloads"/>
> > <page name="s" tab="support"/>
> >
> > How can I select a subset that excludes elements with a tab attribute
> > value matching that of a previous sibling?
> >
> > Meaning I want a list with no redundant @tab values like:
> >
> > <page name="p0" tab="products"/>
> > <page name="d" tab="downloads"/>
> > <page name="s" tab="support"/>
> >
> > Thanks,
> > Mike
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








