Subject: RE: [xsl] Understanding axis From: Adam Griffin <agriffin@xxxxxxxxxxxx> Date: Tue, 29 Oct 2002 12:49:46 -0500 |
Much thanks all. I don't know why I didn't realize the child axis is always implied (I've even read that part from Kay's book). I started thinking about all the different types of queries you can do with the axis and I tripped my self up. I didn't even need anything other than the X[Y] concept Jeni mentioned (X/Y[Z[local-name()=$v]] in my case). -----Original Message----- From: Jeni Tennison [mailto:jeni@xxxxxxxxxxxxxxxx] Sent: Tuesday, October 29, 2002 12:03 PM To: Adam Griffin Cc: Xsl-List (E-mail) Subject: Re: [xsl] Understanding axis Hi Adam, > I've been learning the use of axis in transformations and I stumbled > on something that didn't seem to make sense... > > local-name( */* ) > local-name( */child::* ) > > return the same values. I would have thought... > > local-name( */child::* ) > local-name( */*/* ) > > would be the same (which they aren't). You're right that they aren't. A location path is made up of several steps, separated by /s. Each step is made up of an axis and a node test. The default axis, if none is specified explicitly, is child. So: */* is exactly the same as: child::*/child::* > Could somebody help me reason out why it is this way? This seems to > complicate scenarios where I would only want certain nodes based > upon their children without changing context. For instance, > something like: > > <xsl:for-each select="*/child::*[local-name()=$v]"> > </xsl:for-each> > > read as I only want */* where they have a child named $v. I think that you want: <xsl:for-each select="*/*[*[local-name() = $v]]"> ... </xsl:for-each> Long version: <xsl:for-each select="child::*/child::*[child::*[local-name() = $v]]"> ... </xsl:for-each> Whenever you say something like "I want X where Y" then you need a path in the form "X[Y]". Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Understanding axis, Allan Jones | Thread | Re: [xsl] Understanding axis, Wendell Piez |
Antwort: [xsl] Populating frames in, manfred . weigel | Date | Re: [xsl] Understanding axis, Wendell Piez |
Month |