[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] preceding sibling
Subject: [xsl] preceding sibling From: "Kaarle Kaila" <kaarle.kaila@xxxxxx> Date: Sun, 18 Apr 2004 13:24:14 +0300 |
My XML file contains data like this: <person sex="F"> <name> <givenname>Lena</givenname> <surname>Karamazina</surname> </name> <notices> <notice tag="NAME"> <name> <givenname>Lena</givenname> <surname>Koski</surname> </name> </notice> <notice tag="BIRT"> <date>1944</date> <place>Tyrvdd</place> </notice> <notice> <name> <givenname>Lena</givenname> <surname>Karamazina</surname> </name> </notice> <notice tag="NAME"> <name> <givenname>Lena-Lisa</givenname> <surname>Karamazina</surname> </name> </notice> </notices> </person> -------------------------------- I want to print the names after each other but if teh givenname is same as previous one then I want to print only the surname. The lower part of this xsl section is OK to compare the name in the person but how should I compare with the givenname of the previous sibling in notice element with tag="NAME". Any advice would be appreciated. I am having some difficulties in reading the XSLT book Expressions chapter I guess. <xsl:template match="givenname"> <xsl:choose> <xsl:when test="../../../notice::preceding-sibling[@tag='NAME']=."> <xsl:text> </xsl:text> <xsl:apply-templates/> </xsl:when> <xsl:when test="ancestor::person/name/givenname=."> </xsl:when> <xsl:otherwise> <xsl:text> </xsl:text> <xsl:apply-templates/> </xsl:otherwise> </xsl:choose> </xsl:template> ------------------ regards Kaarle Kaila -- Kaarle Kaila email: kaarle dot kaila at iki dot fi www.iki.fi/kaila
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] count() problem, David . Pawson | Thread | Re: [xsl] preceding sibling, Mukul Gandhi |
Re: [xsl] count() problem, Mukul Gandhi | Date | Re: [xsl] preceding sibling, Mukul Gandhi |
Month |