I've fixed that locally so it should work fine. Will be checking it in
shortly - will let you know when. I just wanted to check I'd interpreted the
spec right first.

Here's the test cases that work locally for me now - I think these look
right... Lemme know if I've missed anything

Its using your example XML doc with some text in the elements to make the
tests a bit easier...

<a>
  <b>foo</b>
  <?toc order-by="x"?>
  <c>bar</c>
</a>


  <document url="xml/pi2.xml">
    <context select="/a/c">
      <test select="//processing-instruction()" count="1"/>
      <test select="preceding-sibling::*" count="1"/>
      <test select="preceding-sibling::node()" count="5"/>
      <test select="preceding-sibling::*[1]" count="1"/>
      <test select="preceding-sibling::processing-instruction()" count="1"/>
      <valueOf
select="preceding-sibling::processing-instruction()">order-by="x"</valueOf>
      <valueOf select="preceding-sibling::*[1]">foo</valueOf>
      <valueOf select="preceding-sibling::node()[2]">order-by="x"</valueOf>
    </context>
  </document>


James
----- Original Message -----
From: "Mattias Reichel" <[EMAIL PROTECTED]>
To: "'James Strachan'" <[EMAIL PROTECTED]>; "'bob mcwhirter'"
<[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Friday, April 19, 2002 1:16 PM
Subject: RE: [Jaxen] Possible bug with processing instructions


> Ok, but it doesn't work with node() or processing-instruction() either
>
> <a>
>   <b/>
>   <?toc order-by="x"?>
>   <c/>
> </a>
>
> c.selectSingleNode("preceding-sibling::*") returns b
> c.selectSingleNode("preceding-sibling::node()") returns b
> c.selectSingleNode("preceding-sibling::processing-instruction()")
> returns null
>
> /Mattias
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> [mailto:jaxen-interest-
> > [EMAIL PROTECTED]] On Behalf Of James Strachan
> > Sent: den 19 april 2002 12:44
> > To: Mattias Reichel; 'bob mcwhirter'
> > Cc: [EMAIL PROTECTED]
> > Subject: Re: [Jaxen] Possible bug with processing instructions
> >
> > From: "Mattias Reichel" <[EMAIL PROTECTED]>
> > > Hmm,
> > >
> > > Switching to preceding axis for clarity, but issue is the same.
> > >
> > > From Michael Kay's XSLT Programmers Reference 2nd Edition by Wrox
> Press,
> > > page 364:
> > >
> > > preceding:
> > > This selects all the nodes that appear before the origin node,
> excluding
> > > the ancestors of the origin, in reverse document order. If the
> origin is
> > > an element node, this effectively means that it contains all the
> text
> > > nodes, element nodes, comments, and processing instructions in the
> > > document that finish before the start tag of the origin element. The
> > > preceding axis will never contain attribute or namespace nodes.
> > >
> > > Is he dead wrong here or what?
> >
> > The XPath spec also says...
> >
> > the preceding-sibling axis contains all the preceding siblings of the
> > context node; if the context node is an attribute node or namespace
> node,
> > the preceding-sibling axis is empty
> >
> >
> > The issue is how does the '*' node test filter the axis.
> >
> > So the preceding-sibling axis contains all previous nodes of any type.
> > Though using "*" filters the axis to just elements. Using node() will
> see
> > all node types. Using processsing-instruction() will only see PIs etc.
> >
> > I think this is correct. Am about to build some more test cases to
> check
> > this is how Jaxen behaves...
> >
> > James
> >
> >
> > _________________________________________________________
> > Do You Yahoo!?
> > Get your free @yahoo.com address at http://mail.yahoo.com
> >
> >
> > _______________________________________________
> > Jaxen-interest mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jaxen-interest
>
>
>
> _______________________________________________
> Jaxen-interest mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jaxen-interest


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


_______________________________________________
Jaxen-interest mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jaxen-interest

Reply via email to