xsl-list
[Top] [All Lists]

Re: Error in XPath expression with IE

2005-03-15 10:26:34
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, António Mota <amsmota(_at_)gmail(_dot_)com> 
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(_at_)nag(_dot_)co(_dot_)uk> 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
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--