Subject: Re: [xsl] <xsl:number> in XPath From: António Mota <xptm@xxxxxxx> Date: Thu, 9 Dec 2004 19:53:43 +0000 |
I'm so stupid it hurts (or at least ignorant...) It's (//menu)[$pos]/ancestor::menu, isn't it? Citando Antsnio Mota <xptm@xxxxxxx>: > My webmail is not very reliable, sorry for that. > > > There is always a current node in XSLT, you can always use an axis in a > > select expression. so I don't understand this comment. > > Yes, there is a current node, but it's the root one, not the one i want the > ancestors at the moment of the select. > > <xsl:template match="/"> > <xsl:apply-templates select="/menus/menu | (//menu)[$pos]" /> > </xsl:template> > > I want both the /menus/menu, the (//menu)[$pos] and their ancestors and first > children, but i can't do something like > > <xsl:apply-templates select="/menus/menu | (//menu)[$pos]" | > (//menu)[$pos]/menu > | ancestor:menu[(//menu)[$pos]]/> > > or is there something similar? > > > That does seem to be a direct translation of your English into Xpath, so > > presumably this is what you want. > > There was no XSL expressions after that, maybe you forget it? > > > why do you need to start walking back up the tree here. That select > > selects all ancestor menus that have a parent menu (but not ancestor > > menus that don't have a parent menu), the current node and any menu > > children of the current node. > > All this taking as reference the current node, correct? If yes, i think it's > that what i want. > > <menu> > <menu> > <menu> * > <menu> --> this is the (//menu)[$pos] > <menu> > > So in the first select i didn't select the one i marked (*), so i need the > ancesters of the (//menu)[$pos] > > > sorry, as a matter of policy never check off-list examples (I waste > > enough time just looking at small inlined examples on the list:-) > > Puting in words, i have that nested <menu> nodes that i want to expand when i > click then. So at first i want to show all the first-level menus, and when i > click one of then i want to expand to it's first chidrens and so on. > > Once agains, thank for your insights. > > > Citando David Carlisle <davidc@xxxxxxxxx>: > > > Citando David Carlisle <davidc@xxxxxxxxx>: > > > > > (your message came out one word per line, I had to reflow it to read it) > > > > > > Just a comment on, > > > > > > > To my understanding i canot use > > > the axis in the select xpath because they rely on a context node, wich > > > i don't have at the time. > > > > There is always a current node in XSLT, you can always use an axis in a > > select expression. so I don't understand this comment. > > > > However > > > > > I want to process all <xxx> nodes that > > > are at the 1st level of deepness, plus the <xxx> at absolute position > > > number n > > > > > So i translate this to > > > > > > <xsl:apply-templates > > > select="/menus/menu | (//menu)[$pos]" /> > > > > That does seem to be a direct translation of your English into Xpath, so > > presumably this is what you want. > > > > But this looks a bit strange: > > > > > <xsl:for-each > > > select="ancestor::menu/menu | self::menu | menu"> > > > > Given that you already slected all your top level menus and the $pos'th > > menu in your first <xsl:apply-templates select="/menus/menu | > (//menu)[$pos]" > > /> > > why do you need to start walking back up the tree here. That select > > selects all ancestor menus that have a parent menu (but not ancestor > > menus that don't have a parent menu), the current node and any menu > > children of the current node. > > > > If thats what you want, this is the right thing, but it looks strange to > > me. > > > > > > > The > > > XML: > > > http://gti.clientes.gtinformatica.pt/Site/Java/Menus.xml > > > > sorry, as a matter of policy never check off-list examples (I waste > > enough time just looking at small inlined examples on the list:-) > > > > David > > > > ________________________________________________________________________ > > This e-mail has been scanned for all viruses by Star. The > > service is powered by MessageLabs. For more information on a proactive > > anti-virus service working around the clock, around the globe, visit: > > http://www.star.net.uk > > ________________________________________________________________________ > > > > > > > > > > O SAPO ja esta livre de vmrus com a Panda Software, fique vocj tambim! > Clique em: http://antivirus.sapo.pt > O SAPO ja esta livre de vmrus com a Panda Software, fique vocj tambim! Clique em: http://antivirus.sapo.pt
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] <xsl:number> in XPath, António Mota | Thread | Re: [xsl] <xsl:number> in XPath, Marian Olteanu |
Re: [xsl] recursive counter not inc, Christopher Hansen | Date | Re: [xsl] <xsl:number> in XPath, Marian Olteanu |
Month |