Getting a node's cousin

Subject: Getting a node's cousin
From: "Larry Mason" <Larry_Mason@xxxxxx>
Date: Wed, 11 Aug 1999 09:11:49 -0500

Given this XML
<data>
<parent>parent1
<child>child1
<grandchild>child1_of_child1</grandchild>
<grandchild>child2_of_child1</grandchild>
</child>
<child>child2
<grandchild>child1_of_child2</grandchild>
<grandchild>child2_of_child2</grandchild>
</child>
</parent>
when I am processing a grandchild, how can I access the immediate next set of
grandchildren, ie my sibling's children (hence my cousin term)  I've tried using
position() incremented by 1 (with a test for existence) but the position() seems
to be always using my position and not that of my parent.
For example ../../child[position()] uses the grandchild position within the
current child.  Not exactly what I want.
Any thoughts?
TIA,
Larry Mason
Member Technical Staff
i2 Technologies
---------------------- Forwarded by Larry Mason/Dallas/US/i2Tech on 08/11/99
08:59 AM ---------------------------


Miloslav Nic <nicmila@xxxxxxxx> on 08/11/99 08:33:58 AM

Please respond to xsl-list@xxxxxxxxxxxxxxxx

To:   xsl-list@xxxxxxxxxxxxxxxx
cc:    (bcc: Larry Mason/Dallas/US/i2Tech)
Subject:  Re: Replace all occurrences




XPath draft: http://www.w3.org/TR/xpath

Henrik Andersson wrote:
>
> Thank you very much!
>
> The example really helped me. Just one more question. Where can I read
> more about the "translate()"-function?
>
> Thanks again!
> /Henrik
>
> Miloslav Nic wrote:
> >
> > look at example 28 of
> > http://zvon.vscht.cz:/HTMLonly/XSLTutorial/Books/Book1/index.html
> > for an example.(It is not general, but it should work in your case)
> >
> > Henrik Andersson wrote:
> > >
> > > Hi!
> > >
> > > I have some xml looking like this:
> > >
> > > <?xml version="1.0"?>
> > > <citylist>
> > >         <distance city="A">1 HOURS</distance>
> > >         <distance city="B">2 HOURS</distance>
> > >         <distance city="C">30 MINUTES</distance>
> > >         <distance city="D">6 HOURS</distance>
> > > </citylist>
> > >
> > > ...and some xsl looking like this:
> > >
> > > <xsl:stylesheet xmlns:xsl='http://www.w3.org/XSL/Transform/1.0'>
> > > <xsl:template match="citylist">
> > >         <xsl:for-each select="distance">
> > >                 <xsl:value-of select="@city"/>
> > >                 <xsl:text>=</xsl:text>
> > >                 <xsl:value-of select="."/>
> > >                 <xsl:text>    </xsl:text>
> > >         </xsl:for-each>
> > > </xsl:template>
> > > </xsl:stylesheet>
> > >
> > > Together this creates this:
> > >
> > > A=1 HOURS    B=2 HOURS    C=30 MINUTES    D=6 HOURS
> > >
> > > This is the "result" I wan't besides that instead of the words "HOURS"
> > > and "MINUTES" I wan't it to say "Hour" and "Minutes", with the first
> > > letter as a capital and the rest as small letters. Is this possible to
> > > do with xsl?
> > >
> > > Thanks!
> > > /Henrik
> > >
> > >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> >
> > --
> > ***************************************************************
> > Dr. Miloslav Nic                        e-mail: nicmila@xxxxxxxx
> > Department of Organic Chemistry         TEL: +420 2 2435 5012
> > ICT Prague (VSCHT Praha)                     +420 2 2435 4118
> >                                         FAX: +420 2 2435 4288
> > ****************************************************************
> >
> >  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

--
***************************************************************
Dr. Miloslav Nic                        e-mail: nicmila@xxxxxxxx
Department of Organic Chemistry         TEL: +420 2 2435 5012
ICT Prague (VSCHT Praha)                     +420 2 2435 4118
                            FAX: +420 2 2435 4288
****************************************************************


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





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


Current Thread