Re: [xsl] Error in XPath expression with IE

Subject: Re: [xsl] Error in XPath expression with IE
From: António Mota <amsmota@xxxxxxxxx>
Date: Tue, 15 Mar 2005 09:26:34 -0800
I'm solving this by using this piece of sh**, hmm, code

	var nodes=xmlDoc.selectNodes("(//Menu)["+(pos)+"]/MenuTitulo")[0];
	var xpath="";
	var parent="../../"
	while(nodes!=null){
		xpath=">> "+Sarissa.serialize(nodes) + xpath;
		nodes = xmlDoc.selectNodes("(//Menu)["+(pos)+"]/"+parent+"MenuTitulo")[0];
		parent+="../../";
	}

i'm successively adding ../../ to the xpath expression to get the
grand-parent of the Menu i'm in (selected by pos) and getting the
node... That's unbelivable i have to do this like this.

And i still have a problem, it seems some msxml uses a XPath 0 based
and some others 1 based. When pos=1 in some i get 2 values instead of
1!!!

I'm turning this to the Sarissa guys for help, but if someone on this
list can help i'll be extremilly thankful.


On Tue, 15 Mar 2005 08:37:18 -0800, Antsnio Mota <amsmota@xxxxxxxxx> wrote:
> I'm sorry for not be explicit enough, my fault. The lack of the / was
> a copy&paste problem, it should be there.
>
> The [1] was a not-well-done example, cause in reality that is a variable,
>
> xmlDoc.selectNodes("(//Menu)["+pos+"]/parent::Menu/MenuTitulo");
>
> I'm very sorry for being so lazy and thanks a lot.
>
>
> On Tue, 15 Mar 2005 16:20:05 GMT, David Carlisle <davidc@xxxxxxxxx> wrote:
> >
> >   (//Menu)[1]ancestor-or-self::Menu/MenuTitulo
> >
> > That isn't correct Xpath so will generate an error on any conformant
> > XPath system (I don't know if it would work in wd-xsl, but I didn't
> > think that had that axis at all)
> >
> >
> > adding a / so it says:
> >
> >   (//Menu)[1]/ancestor-or-self::Menu/MenuTitulo
> >
> > would make it syntactically correct but still strange.
> >
> >  (//Menu)[1]
> >
> > will select a Menu node (or nothing) so ancestor-or-self::Menu will
> > always be the same as self::Menu so it can be omitted, so the expression
> > is then equivalent to
> >
> >   (//Menu)[1]/MenuTitulo
> >
> > 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
> > ________________________________________________________________________

Current Thread