- Dec 07, 2008
-
-
David Lichteblau authored
darcs-hash:bc27636f0f130150de1c0602c8c1c9c573a4c903
-
- May 24, 2008
-
-
David Lichteblau authored
darcs-hash:91b3998d36dae34b4ad9a6a0b8f122568ecf6b4f
-
- Apr 27, 2008
-
-
David Lichteblau authored
darcs-hash:3d7f875f3eecb8fb54fb846ebb5a3fe8d4215cf7
-
David Lichteblau authored
darcs-hash:cdbeb7e85e299eb5b4412f82ef02a53da2f734a4
-
- Apr 06, 2008
-
-
David Lichteblau authored
darcs-hash:b317e95a05b7a8ba2f9f0daf160089f6bed38f29
-
David Lichteblau authored
darcs-hash:2b6a99497964e338216de09af22a820f5c40e6b8
-
- Mar 24, 2008
-
-
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
-
- Mar 02, 2008
-
-
David Lichteblau authored
darcs-hash:7a51b11ca39375d175498827bd59e4be00a29504
-
David Lichteblau authored
"oops" darcs-hash:124414697b6eca4a749814989db32489946b1315
-
- Mar 01, 2008
-
-
Ivan Shvedunov authored
Fixed xnum parsing / unparsing. Fixed comparison operators. Added lang() function. Node sets returned by EVALUATE and EVALUATE-COMPILED now are automatically sorted using document order by default. Fixed following:: axis (again). Fixed NODE-TEST-NAME for namespace nodes. Numbers in XPath expressions are now never parsed into SINGLE-FLOAT. Added SORT-NODE-SET function. darcs-hash:f11136c9917dee6bd41d96f3e8950db389c78b55
-
- Feb 27, 2008
-
-
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
-
- Feb 25, 2008
-
-
Ivan Shvedunov authored
Fixed :following, :preceding-sibling, :following-sibling and :namespace axes. Fixed contains() (what a shame! I made a mistake in the order of arguments). Fixed translate(). Added get-node-id() and plx:generate-id() (same as generate-id() in XSLT). Added checks for number of arguments passed to XPath functions. Fixed a package-related problem in define-xpath-function/single-type. Fixed xnum-round. darcs-hash:f3bff21d76ef40b125506213bf44f04efd054b8d
-
- Feb 24, 2008
-
-
David Lichteblau authored
darcs-hash:d40b75c09b911dc74c448e12734de19df206bb38
-
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
-
Ivan Shvedunov authored
darcs-hash:e7f4e02de3903046839aca68af5ae165e40214e9
-
Ivan Shvedunov authored
darcs-hash:bfacee78d09841b9f911b77239e7c926329b0856
-
Ivan Shvedunov authored
darcs-hash:d3828b9c30d4ea787fb181678a3db979fbd16f09
-
- Feb 19, 2008
-
-
Ivan Shvedunov authored
darcs-hash:6b029cb24791b9e8efc2f780f8b432de2b2f0219
-
- Feb 18, 2008
-
-
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
-
- Feb 08, 2008
-
-
david authored
darcs-hash:d9b5115f3ef9c5ad360323c2308b31443cb384ba
-
- Dec 20, 2007
-
-
david authored
Always require the second argument to COMPILE-XPATH. We cannot see lexical bindings in this function. Replaced the function EVALUATE with EVALUATE-THUNK, which always takes a closure as an argument, never a string or sexp. (EVALUATE-THUNK is just a working title for this function, perhaps a better name can be found.) New macro EVALUATE, replacing the compiler macro. Removed *LEXICAL-NAMESPACES* and *LEXICAL-VARIABLES*. - don't bind *LEXICAL-NAMESPACES* in WITH-NAMESPACES - don't bind *LEXICAL-VARIABLES* in WITH-VARIABLES Export EVALUATE-THUNK from the package in addition to EVALUATE. Added a test checking that the empty namespace can be used without having to use WITH-NAMESPACES. Removed the call to STRING in TEST-FILTERING. (fixme?) darcs-hash:55b42a4c50757f63616b05dccca0cac08aa84fb4
-
- Dec 08, 2007
-
-
david authored
Helper function of the same name to signal this error. Exported XPATH-ERROR. Added another workaround for the non-error condition that parse-number signals. darcs-hash:868c30fb0b1fd42c9c394405fac7c9cacab3a832
-
- Dec 04, 2007
-
-
Ivan Shvedunov authored
darcs-hash:55084e0ea43d9db022ebf0fa8445acee913a2439
-
Ivan Shvedunov authored
Fixed: map-node-set do-node-set Added node set iterators: make-node-set-iterator node-set-iterator-end-p node-set-iterator-next node-set-iterator-current Exported: node-set-p Added test for empty node sets: node-set-empty-p darcs-hash:9e84b4035564a382ee3af2e16316bd1bb8854ab8
-
- Dec 02, 2007
-
-
david authored
darcs-hash:3d033e794121452a74c0aa43ba0f04a50fec43f9
-
david authored
Reverted CONTEXT-VARIABLE-VALUE. Renamed ENVIRONMENT-VALIDATE-VARIABLE to ENVIRONMENT-FIND-VARIABLE, which now returns a closure rather than just a boolean. New exported macro WITH-VARIABLES for the LEXICAL-ENVIRONMENT. (And tests for that.) darcs-hash:4bf3773ca6bd46e449833192b823a08f248a9175
-
- Dec 01, 2007
-
-
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
-
- Nov 25, 2007
-
-
david authored
darcs-hash:c78a16f6ed4ecd72a2f85fe901adc2731db7bebd
-
david authored
A new function EVALUATE is provided that... - automatically parses XPath strings. - also accepts sexps in the syntax (xpath (sexp-goes-here)). (The special marker XPATH in the CAR is needed to distinguish literal strings from XPath strings.) - and accepts pre-compiled closures. Users who want to use this function with a customized environment must pass precompiled closures. For the first two cases, the environment is defined lexically using the new macro WITH-NAMESPACES. The context argument to ALL-NODES can be either... - an actual context - or any other node understood by the XPath protocol, and will then be turned into a trivial context automatically A compiler macro on EVALUATE allows pre-compilation of closures at fasl load time. (Macrolet tricks propagate the information from WITH-NAMESPACES into the compiler macro. Thanks to chandler on #lisp for the tip.) darcs-hash:88c7a7985b99372e14071fb9eb8da0bc97d0b054
-
david authored
darcs-hash:2d8860ef9e911e6597859b4fa6ea89a4138523bc
-
david authored
darcs-hash:81ca3da344d5bd706aa2829c9f3cc849b0ba8f9a
-
david authored
darcs-hash:b96e13c8d54121d1fbfffc220ff442053e425942
-