Edit

kc3-lang/libxml2/test/XPath/tests/chaptersbase

Branch :

  • Show log

    Commit

  • Author : Nick Wellnhofer
    Date : 2017-05-21 22:08:50
    Hash : c2f4da1a
    Message : Improve XPath predicate and filter evaluation Consolidate code paths evaluating XPath predicates and filters. Don't push context node on stack when evaluating predicates. I have no idea why this was done. It seems completely useless and trying to pop the context node from a corrupted stack has already caused security issues. Filter nodesets in-place and don't create node sets with NULL gaps which allows to simplify merging a great deal. Simply move matched nodes backward and create a compact node set. Merge xmlXPathCompOpEvalPositionalPredicate into xmlXPathCompOpEvalPredicate.

  • test/XPath/tests/chaptersbase
  • /child::EXAMPLE
    /child::*
    /child::EXAMPLE/child::head
    /child::EXAMPLE/child::*
    /child::EXAMPLE/child::head/child::title
    /child::EXAMPLE/child::head/child::title/child::text()
    /child::EXAMPLE/child::head/node()
    /descendant::title
    /descendant::p/ancestor::chapter
    //p[1]
    //p[0 div 0]
    //p[100000000000000000000]
    //p[-100000000000000000000]
    //chapter[true()][position() mod 2 = 1][true()][2]
    //chapter[true()][2][true()]
    //node()[false()]
    (//node())[false()]