- Mar 02, 2008
-
-
David Lichteblau authored
"oops" darcs-hash:124414697b6eca4a749814989db32489946b1315
-
- 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
-
Ivan Shvedunov authored
darcs-hash:e7f4e02de3903046839aca68af5ae165e40214e9
-
Ivan Shvedunov authored
darcs-hash:bfacee78d09841b9f911b77239e7c926329b0856
-
Ivan Shvedunov authored
darcs-hash:d3828b9c30d4ea787fb181678a3db979fbd16f09
-
- Feb 10, 2008
- Dec 30, 2007
-
-
Ivan Shvedunov authored
darcs-hash:9dd87a2a69312e0beb21c574842c778200709655
-
- Dec 09, 2007
-
-
david authored
Check explicitly for a node set when filtering, so that a proper XPATH-ERROR can be signalled instead of a type error. darcs-hash:1e69cad22497f3b225c3732fb768cad78ffbc5dc
-
- 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:ed5d82a8ecee6fa2ff9f226148004c797a858445
-
- Dec 02, 2007
-
-
david authored
Show the function name only, not the arguments. darcs-hash:d5291773e631e5521b40df8e0f01cf373c735e6a
-
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
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
functions.lisp - new function XPATH:UNION for the | operator (not a keyword because not technically an XPath function) lexer.lisp Lots of fixes. node-tests.lisp - NODE-TEST-NAME Added the namespace URI as an optional second argument. - NODE-TEST-NAMESPACE New, checks only the namespace and not the local name. - NODE-TEST-PROCESSING-INSTRUCTION Added the name to check as an optional argument. types.lisp - CONTEXT-VARIABLE-VALUE New generic function looking up variable values during evaluation. - ENVIRONMENT New struct, basically a compilation-time context. - ENVIRONMENT-FIND-NAMESPACE New generic function for prefix -> uri lookups - ENVIRONMENT-FIND-FUNCTION New generic function for (local-name uri) -> function lookups. - ENVIRONMENT-VALIDATE-VARIABLE New generic function that returns true if the variable is declared. - TEST-ENVIRONMENT An environment that pretends to know about every namespace, function, and variable. For use only in parser tests. xpath.lisp - MAKE-LOCATION-STEP Now accepts the list of predicates instead of just one predicate. - COMPILE-PREDICATES helper function for make-location-step - DECODE-QNAME, FIND-NAMESPACE New - COMPILE-XPATH * New second argument `environment'. * For function calls, check if the function name is a string rather than a symbol, and if so, look it up in the enviroment. * New: variables * New: filters - COMPILE-VARIABLE New - COMPILE-NODE-TEST Split qnames. And allow lists as node-tests to handle :namespace, named :processing-instruction, and pre-parsed :qname - COMPILE-LOCATION-STEP * New second argument `environment'. * Accept multiple predicates. - COMPILE-PATH New second argument `environment'. - COMPILE-FILTER-PATH New axis.lisp - new axis :namespace - new axis :following-sibling - new axis :preceding-sibling - new axis :following - new axis :preceding - new axis :ancestor-or-self and - pseudo axis :root -- FIXME: is this right? darcs-hash:828be75c0208ef166e480cfe33eb83b3ac57f285
-
david authored
darcs-hash:b96e13c8d54121d1fbfffc220ff442053e425942
-