xsl-list
[Top] [All Lists]

RE: XPATH restricting preceding nodes

2003-09-10 06:28:52
As David said, using the preceding axis is a very inefficient way of
doing this. Use Muenchian grouping, described at
www.jenitennison.com/xslt/grouping. 

Michael Kay

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com 
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of 
Kloeck, Erwin
Sent: 10 September 2003 10:20
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: AW: [xsl] XPATH restricting preceding nodes 



Hi,

I made this XML document too simple in the last post. Entries 
are not siblings! The XML document should rather something like this: 

<top>
      <page>
              <paragraph>
                      <entry text='aaa'/>
              </paragraph>
              <paragraph>
                      <entry text='bbb'/>
              </paragraph>
              <paragraph>
                      <entry text='aaa'/>
              </paragraph>
      </page>
      <page>
              <paragraph>
                      <entry text='ccc'/>
              </paragraph>
              <paragraph>
                      <entry text='bbb'/>   ***
              </paragraph>
              <paragraph>
                      <entry text='ccc'/>
              </paragraph>
      </page>
</top>

I only want to select entries with the same text once for 
each page. For the first page I want to get only one 
aaa-entry and one bbb-entry. For the second page I want to 
get only one ccc-entry and ond bbb-entry.

I did this with the following XPATH expression :
      <xsl:for-each 
select="ancestor::page/descendant::entry[not(@text = 
preceding::entry/@text)]">

but then I don't get the bbb-entry for the second page. 
I cannot figure out a way to restrict the preceding::entry 
result set to the current page. What am I doing wrong?

Thanks

..............................

Erwin Kloeck

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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