- Mar 02, 2008
-
-
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 24, 2008
-
-
David Lichteblau authored
darcs-hash:d40b75c09b911dc74c448e12734de19df206bb38
-
Ivan Shvedunov authored
darcs-hash:d3828b9c30d4ea787fb181678a3db979fbd16f09
-
- 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
darcs-hash:2d8860ef9e911e6597859b4fa6ea89a4138523bc
-
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
-