xsl-list
[Top] [All Lists]

RE: reading ascendants except the first one (NEWBIE)

2002-08-30 03:51:32

I think he needs the ancestor axis:

<xsl:for-each select="ancestor::*[position() > 1]">
    ...
 </xsl:for-each>

This will select all ancestors of the current node, except the very
first.

cheers
andrew

-----Original Message-----
From: TSchutzerWeissmann(_at_)uk(_dot_)imshealth(_dot_)com
[mailto:TSchutzerWeissmann(_at_)uk(_dot_)imshealth(_dot_)com]
Sent: 30 August 2002 11:20
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] reading ascendants except the first one (NEWBIE)


Hi Thomas,

-----Original Message-----
From: thomas [mailto:thomas(_dot_)lohbeck(_at_)ksc(_dot_)ch]
Sent: 30 August 2002 11:12
To: XSL-List(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] reading ascendants except the first one (NEWBIE)


Hello
I have the following xml:
-------------------------
.....more
<basisdaten>
    <titel>Basisdaten zur Planungsrechnung</titel>
    <kunde>
            <titel>Personendaten</titel>
            <vorname>Vorname</vorname>
            <name>Name</name>
            <adresse>Adresse</adresse>
            <plz>Platz</plz>
            <ort>Ort</ort>
    </kunde>
</basisdaten>
.....more
-------------------------

I like to read the ascendants from the <kunde> element EXCEPT 
the first 
one:<titel>
It should be done with XPath right? I dont habe a clue!
I use the following xsl to generate the pdf

-------------------------
.....more
<fo:table>                                                  
            <fo:table-column column-width="10cm"/>          
                             
<fo:table-body>                                             
                    <xsl:for-each 
select="//basisdaten/kunde">                                
       
<xsl:for-each select="*">                                   
            <fo:table-row>                                  
                     
<fo:table-cell>                                             
                            <fo:block>                      
                                                    <xsl:value-of 
select="."/>                                                
</fo:block>                                                 
    </fo:table-cell>                                        
             
</fo:table-row>                                             
                    </xsl:for-each>                         
                     
</xsl:for-each>                                             
                    </fo:table-body>                        
                            </fo:table>
....more
-------------------------

it generates:

+-------------+
|Personendaten|
+-------------+
|Vorname      |
+-------------+
|Name         |
+-------------+
|Adresse      |
+-------------+
|Platz        |
+-------------+
|Ort          |
+-------------+

it should be:
+-------------+
|Vorname      |
+-------------+
|Name         |
+-------------+
|Adresse      |
+-------------+
|Platz        |
+-------------+
|Ort          |
+-------------+

thank you a lot
thomas


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

You either miss out the first element, or <titel> elements:
[...]
                    <xsl:for-each 
select="//basisdaten/kunde">                                
       
<xsl:for-each select="*">                                   
            <fo:table-row>                                  

either 
      <xsl:for-each select="*[position() &gt; 1]">           
- all but the
first
or
      <xsl:for-each select="*[not(self::titel)]">            - all but
titel's

Good luck
Tom
 

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





---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.381 / Virus Database: 214 - Release Date: 02/08/2002
 


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.381 / Virus Database: 214 - Release Date: 02/08/2002
 

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



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