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() > 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