Lines Matching refs:path

143        (sxml:xpointer-parse-error "unexpected - \"" (list->string path) "\"")
157 (define (sxml:parse-check str path . char-list)
159 (p (sxml:skip-ws path)))
174 (define (sxml:parse-check-sequence str-seq path . char-list)
177 (path path))
179 ((null? str-seq) path) ; successful match
181 (sxml:parse-check (car str-seq) path char-list)
182 (sxml:parse-check (car str-seq) path))
190 (define (sxml:parse-assert str path)
192 (p (sxml:skip-ws path)))
198 "Expected - \"" str "\", given - \"" (list->string path) "\""))
202 "expected - \"" str "\", given - \"" (list->string path) "\"")))))
217 (define (sxml:parse-ncname path)
218 (let((path (sxml:skip-ws path)))
220 ((null? path)
223 ((sxml:non-first? (car path))
225 "expected - NCName instead of " (car path)))
227 (let loop ((ncname (list (car path)))
228 (path (cdr path)))
230 ((null? path) (list (list->string (reverse ncname)) path))
231 ((memv (car path) sxml:delimiter)
232 (list (list->string (reverse ncname)) path))
233 (else (loop (cons (car path) ncname) (cdr path)))))))))
237 (define (sxml:parse-name path)
238 (let ((path (sxml:skip-ws path)))
240 ((null? path)
243 ((and (sxml:non-first? (car path))
244 (not (char=? (car path) #\:)))
245 (sxml:xpointer-parse-error "expected - Name instead of " (car path)))
246 (else (let loop ((ncname (list (car path)))
247 (path (cdr path)))
249 ((null? path)
250 (list (list->string (reverse ncname)) path))
251 ((and (memv (car path) sxml:delimiter)
252 (not (char=? (car path) #\:)))
253 (list (list->string (reverse ncname)) path))
254 (else (loop (cons (car path) ncname) (cdr path)))))))))
263 (define (sxml:parse-qname path)
264 (and-let* ((r1 (sxml:parse-ncname path)))
283 (define (sxml:parse-natural path)
284 (let ((path (sxml:skip-ws path)))
286 ((null? path)
289 ((or (char<? (car path) #\1) (char>? (car path) #\9))
290 (sxml:xpointer-parse-error "expected - number instead of " (car path)))
291 (else (let loop ((res (- (char->integer (car path))
293 (path (cdr path)))
295 ((null? path) (list res path))
296 ((char-numeric? (car path))
297 (loop (+ (* res 10) (- (char->integer (car path))
299 (cdr path)))
300 (else (list res path))))))))
306 (define (sxml:parse-literal path)
307 (let ((ch (if (sxml:parse-check "\"" path) #\" #\')))
310 path)))
312 ((not path) #f)
313 ((null? path)
315 path)
317 ((char=? (car path) ch)
319 (cdr path)))
320 (else (loop (cons (car path) res) (cdr path)))))))
327 (define (sxml:parse-number path)
328 (define (digits path)
330 (path path))
332 ((and (null? path) (null? n-lst))
335 ((null? path) (list n-lst path))
336 ((and (or (char<? (car path) #\0) (char>? (car path) #\9))
338 (sxml:xpointer-parse-error "expected - number instead of " (car path)))
339 ((or (char<? (car path) #\0) (char>? (car path) #\9))
340 (list n-lst path))
342 (loop (cons (- (char->integer (car path)) (char->integer #\0)) n-lst)
343 (cdr path))))))
345 (let ((path (sxml:skip-ws path)))
347 ((null? path)
350 ((char=? (car path) #\.)
352 ((lst (digits (cdr path))))
355 (path (cadr lst)))
357 (list (/ res 10) path)
360 path)))))
363 ((lst (digits path)))
366 (path (cadr lst)))
369 ((or (null? path) (not (char=? (car path) #\.)))
370 (list num1 path))
371 ((or (null? (cdr path))
372 (char<? (cadr path) #\0) (char>? (cadr path) #\9))
373 (list (exact->inexact num1) (cdr path)))
375 (and-let* ((lst2 (digits (cdr path))))
378 (path (cadr lst2)))
380 (list (+ num1 (/ num2 10)) path)
383 path))))))
386 path))))))))
471 (lambda (path ns-binding add-on) ; ns-binding is dummy here
475 (list (child-impl add-on) path))
476 ((sxml:parse-check-sequence (caar pairs) path)
477 => (lambda (path)
478 (list ((cadar pairs) add-on) path)))
526 (lambda (path)
527 (and-let* ((path (sxml:parse-assert "(" path)))
528 (sxml:parse-assert ")" path)))))
529 (lambda (path ns-binding add-on)
531 ((sxml:parse-check-sequence '("comment" "(") path)
532 => (lambda (path)
533 (and-let* ((path (sxml:parse-assert ")" path)))
534 (list (comment-impl add-on) path))))
535 ((sxml:parse-check-sequence '("text" "(") path)
536 => (lambda (path)
537 (and-let* ((path (sxml:parse-assert ")" path)))
538 (list (text-impl add-on) path))))
539 ((sxml:parse-check-sequence '("node" "(") path)
540 => (lambda (path)
541 (and-let* ((path (sxml:parse-assert ")" path)))
542 (list (node-impl add-on) path))))
543 ((sxml:parse-check-sequence '("processing-instruction" "(") path)
544 => (lambda (path)
546 ((sxml:parse-check ")" path)
547 => (lambda (path)
548 (list (pi-impl #f add-on) path)))
551 ((lst (sxml:parse-literal path))
553 (path (sxml:parse-assert ")" (cadr lst))))
554 (list (pi-impl name add-on) path))))))
555 ((sxml:parse-check-sequence '("point" "(") path)
556 => (lambda (path)
557 (and-let* ((path (sxml:parse-assert ")" path)))
558 (list (point-impl add-on) path))))
559 ((sxml:parse-check-sequence '("range" "(") path)
560 => (lambda (path)
561 (and-let* ((path (sxml:parse-assert ")" path)))
562 (list (range-impl add-on) path))))
563 ((sxml:parse-check "*" path)
564 => (lambda (path)
565 (list (star-impl add-on) path)))
568 ((lst (sxml:parse-ncname path)))
569 (let ((path (cadr lst)))
571 (or (null? path) (not (char=? (car path) #\:))) ; local name
572 (list (qname-impl #f (car lst) add-on) path)
574 (path (sxml:parse-assert ":" path))
580 ((and (not (null? path)) (char=? (car path) #\*))
583 (sxml:parse-assert "*" path)))
586 ((lst (sxml:parse-ncname path)))
616 (lambda (path ns-binding add-on)
618 ((sxml:parse-check ".." path)
622 (sxml:parse-assert ".." path)))
623 ((sxml:parse-check "." path)
627 (sxml:parse-assert "." path)))
628 ((sxml:parse-check "range-to" path)
631 (sxml:parse-assert "(" (sxml:parse-assert "range-to" path)))
633 (path (sxml:parse-assert ")" (cadr lst))))
635 (let loop ((path path)
638 (sxml:parse-check "[" path)
640 ((lst (txp:parse-predicate path ns-binding add-on)))
650 path))))))
653 ((lst (txp:parse-axis-specifier path ns-binding add-on)))
659 (path (cadr lst)))
661 (sxml:parse-check "[" path)
663 ((lst (txp:parse-predicate path ns-binding add-on)))
672 path))))))))))))
695 (lambda (path ns-binding add-on)
697 (path path))
699 ((lst (txp:parse-step path ns-binding add-on)))
701 (path (cadr lst)))
703 ((sxml:parse-check "//" path)
711 (sxml:parse-assert "//" path)))
712 ((sxml:parse-check "/" path)
714 (sxml:parse-assert "/" path)))
722 path)))))))))
749 (lambda (path)
750 (let ((path (sxml:skip-ws path)))
752 ((null? path) #t)
753 ((memv (car path)
755 ((or (sxml:parse-check "mod" path sxml:delimiter)
756 (sxml:parse-check "div" path sxml:delimiter)
757 (sxml:parse-check "!=" path)
758 (sxml:parse-check "and" path sxml:delimiter)
759 (sxml:parse-check "or" path sxml:delimiter)) #t)
761 (lambda (path ns-binding add-on)
763 ((sxml:parse-check "//" path)
766 (sxml:parse-assert "//" path) ns-binding add-on)))
768 (path (cadr lst)))
773 path))))
774 ((sxml:parse-check "/" path)
775 => (lambda (path)
776 (if (nothing? path)
777 (list (bare-slash-value add-on) path)
780 path ns-binding add-on)))
782 (path (cadr lst)))
787 path))))))
789 (txp:parse-relative-location-path path ns-binding add-on))))))
800 (lambda (path ns-binding add-on)
802 ((path0 (sxml:parse-assert "[" path))
804 (path (sxml:parse-assert "]" (cadr lst))))
809 path)))))
819 (lambda (path ns-binding add-on)
821 ((path (sxml:parse-assert "$" path))
822 (lst (sxml:parse-qname path)))
845 (lambda (path ns-binding add-on)
847 ((path (sxml:parse-assert "(" path)))
849 ((sxml:parse-check ")" path)
850 => (lambda (path) (list '() path)))
853 (path path))
855 ((lst (txp:parse-expr path ns-binding add-on)))
857 (path (cadr lst)))
859 ((sxml:parse-check ")" path)
860 => (lambda (path)
862 path)))
865 ((path (sxml:parse-assert "," path)))
867 (cons arg-res arg-res-lst) path)))))))))))))
868 (lambda (path ns-binding add-on)
870 ((lst (sxml:parse-qname path)))
875 (path (cadr lst)))
884 path))))))))
907 (lambda (path ns-binding add-on)
909 ((sxml:parse-check "$" path) ; a VariableReference
910 (txp:parse-variable-reference path ns-binding add-on))
911 ((sxml:parse-check "(" path) ; an '(' Expr ')'
914 (sxml:parse-assert "(" path) ns-binding add-on))
915 (path (sxml:parse-assert ")" (cadr lst))))
917 (list expr-res path))))
918 ((or (sxml:parse-check "\"" path)
919 (sxml:parse-check "'" path)) ; a Literal
921 ((lst (sxml:parse-literal path)))
925 ((let ((p (sxml:skip-ws path))) ; a Number?
931 ((lst (sxml:parse-number path)))
936 (txp:parse-function-call path ns-binding add-on))))))
948 (lambda (path ns-binding add-on)
950 ((lst (txp:parse-primary-expr path ns-binding add-on)))
953 (path (cadr lst)))
955 ((sxml:parse-check "[" path)
957 ((lst (txp:parse-predicate path ns-binding add-on)))
961 ((null? pred-res-lst)(list prim-res path))
969 path)))))))))
987 (lambda (path)
988 (let ((path (sxml:skip-ws path)))
990 ((null? path) #f)
992 (car path)