(module context-sxpath-lolevel ( ;; Basic operations over context sxml:context-u? sxml:context? ;; Accessors sxml:context->node-u sxml:context->ancestors-u sxml:context->content-u sxml:context->node sxml:context->ancestors sxml:context->content draft:contextset->nodeset ;; Constructors draft:make-context draft:smart-make-context draft:siblings->context-set draft:contextset->nodeset draft:na+ draft:na-minus draft:na-minus-nneg draft:na-max draft:na-min draft:na> draft:na>= ;; Misc helpers draft:list-head draft:list-last draft:make-list draft:signal-semantic-error draft:top? draft:remove-eq-duplicates draft:reach-root draft:recover-contextset draft:find-proper-context ;; Axes draft:ancestor draft:ancestor-or-self draft:attribute draft:child draft:descendant draft:descendant-or-self draft:following draft:following-sibling draft:namespace draft:parent draft:preceding draft:preceding-sibling draft:self ;; Core Function Library draft:core-last draft:core-position draft:core-count draft:core-id draft:core-local-name draft:core-namespace-uri draft:core-name ;; String Functions draft:core-string draft:core-concat draft:core-starts-with draft:core-contains draft:core-substring-before draft:core-substring-after draft:core-substring draft:core-string-length draft:core-normalize-space draft:core-translate ;; Boolean functions draft:core-boolean draft:core-not draft:core-true draft:core-false draft:core-lang ;; Number functions draft:core-number draft:core-sum draft:core-floor draft:core-ceiling draft:core-round ;; AST Processing draft:ast-axis-specifier draft:ast-node-test draft:ast-location-path draft:ast-absolute-location-path draft:ast-relative-location-path draft:ast-step draft:ast-step-list draft:ast-predicate draft:ast-predicate-list draft:ast-expr draft:ast-or-expr draft:ast-and-expr draft:ast-equality-expr draft:ast-relational-expr draft:ast-additive-expr draft:ast-multiplicative-expr draft:ast-union-expr draft:ast-path-expr draft:ast-filter-expr draft:ast-variable-reference draft:ast-literal draft:ast-number draft:ast-function-call draft:ast-function-arguments draft:ast-xpointer draft:ast-child-seq draft:ast-number-list draft:ast-full-xptr ;; Highest level draft:arglist->ns+na draft:api-helper draft:xpointer draft:xpath draft:xpath-expr draft:sxpath) (import chicken scheme) (use sxpath-lolevel xpath-parser) ;; These are overrides to reduce the dependency insanity - modif eventually ;; pulls in *all* of sxml-tools. xlink even requires a working HTTP client... (define (xlink:error . args) (error "XLink not supported by this implementation")) (define xlink:axis-arc xlink:error) (define xlink:axis-traverse xlink:error) (define xlink:axis-traverse-arc xlink:error) (define (sxml:xpointer-runtime-error . text) (error "XPath/XPointer runtime error: " text)) (include "chicken/common.scm") (include "sxml-tools/xpath-context.scm") )