[xsl] preceding-sibling

Subject: [xsl] preceding-sibling
From: "Kaarle Kaila" <kaarle.kaila@xxxxxx>
Date: Wed, 11 Aug 2004 12:29:32 +0300
I have tried to understand how the preceding-sibling axes functions but
without success.


I have an xml-file with contents like this:


<table>
<section gen="1">
<person>John</person>
</section>
<section gen="2">
<person>Mary</person>
</section>
<section gen="3">
<person>William</person>
</section>
</table>


Here Mary is Johns mother and William is Marys father.

I have as xslt file where I want to connect parent to child like this:

<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
>

<xsl:template match="table">
<xsl:apply-templates select="section"/>
</xsl:template>

<xsl:template match="section">
<xsl:if test="position()>1">
Parent:<xsl:value-of select="person"/>, child::<xsl:value-of
select="self::preceding-sibling/person"/>.
</xsl:if>
</xsl:template>
</xsl:stylesheet>

=================
What am I doing wrong as the result I get is:
<?xml version="1.0"?>
Parent:Mary, child::.
Parent:William, child::.
=====================
I have tried to write the expression with the preceding sibling in may ways
but never get any values from it.

What would be the correct way to use this:

regards
Kaarle Kaila

Current Thread