Skip to content
  1. Apr 06, 2008
  2. Mar 24, 2008
    • David Lichteblau's avatar
      Added XPATH-PROTOCOL:NODE-EQUAL and HASH-KEY · af16503a
      David Lichteblau authored
      Use XPATH-PROTOCOL:NODE-EQUAL rather than EQ/EQL on nodes.  Use HASH-KEY
      with an EQUAL hash table instead of nodes in an EQL hash table.
      
      This change is motivated by the DOM-NAMESPACE and STP-NAMESPACE objects,
      which are consed up every time they are queried, yet need to be compared
      later.  The alternative solutions would have been
        - caching of those objects in DOM, which requires changes to the DOM
          implementation
        - force use of a navigator for STP and DOM (awkward)
      Simply allowing duplicate nodes seems easier.
      
      darcs-hash:b0ccd40b33df1274fccb89650090ff5340d9276b
      af16503a
  3. Mar 16, 2008
  4. Mar 02, 2008
  5. Feb 27, 2008
    • Ivan Shvedunov's avatar
      XPATH-SYS package, documentation, misc changes. · 0c1621cf
      Ivan Shvedunov authored
      Added atdoc documentation templates (mostly copied from Xuriella).
      Renamed xpath-protocol:string-value to xpath-protocol:node-text.
      Added xpath-protocol:node-text method for namespace nodes.
      Added list->node-set function (a simpler version of xpath-sys:make-node-set).
      
      darcs-hash:5157e09c5e43012d65211d1fb22d6b544a75ee54
      0c1621cf
  6. Feb 24, 2008
    • David Lichteblau's avatar
      the great tab removal · 557ffbb6
      David Lichteblau authored
      darcs-hash:d40b75c09b911dc74c448e12734de19df206bb38
      557ffbb6
    • David Lichteblau's avatar
      dispatch xpath protocol classes on a navigator object · fafd9a9a
      David Lichteblau authored
      - Reimplemented all xpath-protocol functions using a trampoline, e.g. so that
          (parent-pipe node)
        calls
          (parent-pipe-using-navigator *navigator* node)
      
      - All existing methods specialize on a default value for *navigator*.
        Added a convenience macro DEFINE-DEFAULT-METHOD for that purpose.
      
      - Only users of exotic data models need to bind *navigator* to an object
        of their choice.
      
        In particular, cxml/xml/xmls-compat.lisp provides a function
        cxml-xmls:make-xpath-navigator, which is implemented by
        plexippus-xpath/xmls-compat.lisp
      
      darcs-hash:20beb59300aba5a702a845952ab5efd5c982ccb2
      fafd9a9a
    • Ivan Shvedunov's avatar
      XPath extensions, parser changes. · a94fb0c1
      Ivan Shvedunov authored
      darcs-hash:bfacee78d09841b9f911b77239e7c926329b0856
      a94fb0c1
  7. Feb 20, 2008
  8. Feb 18, 2008
    • Ivan Shvedunov's avatar
      Added some missing functions, bugfixes, test extensions. · caccb1be
      Ivan Shvedunov authored
      Added id(), namespace-uri(), floor(), round(), ceiling().
      Added xpath-protocol:get-element-by-id and its implementation for DOM.
      Added *dom-builder* and *document-element* in xpath-test.lisp so that it's
      now possible to run unit tests for other document representations.
      
      darcs-hash:27372b9c5e8d77100eb75ccffe3cc070893a2de3
      caccb1be
  9. Feb 10, 2008
  10. Feb 08, 2008
  11. Dec 01, 2007
    • Ivan Shvedunov's avatar
      Some missing XPath funcs, code reorganization and minor bugfixes. · 54694b95
      Ivan Shvedunov authored
      Moved XPath parser to parser.lisp.
      
      Moved some of toplevel API to api.lisp.
      
      Added MAP-NODE-SET and DO-NODE-SET.
      
      Added proper unary minus handling.
      
      Added test cases for string representation of XPath in TEST-XPATH
      (previously TEST-XPATH/UNABBREVIATED).
      
      Made it possible to pass strings to compile-xpath.
      STRING-VALUE, NUMBER-VALUE, BOOLEAN-VALUE and NODE-SET-VALUE now can handle single nodes.
      Added XPATH-PROTOCOL:NODE-P.
      
      Compiler macro for EVALUATE now issues warning instead of error if EVALUATE
      is used outside lexical scope of (WITH-NAMESPACES (...) ...)
      
      Added some of missing XPath functions - substring(), true(), false(),
      boolean(), number()
      
      darcs-hash:973601a675f33d9ebcd85ef89b6270e702fbaa1d
      54694b95
  12. Nov 25, 2007