Artifact
42a0150f777e24590ca6997af56d520b1a6d8b54:
- File
sxml/sxpath.sls
— part of check-in
[aa199cec70]
at
2016-12-05 21:31:39
on branch trunk
— added sxml from qothr/chez-sxml
(user:
aldo
size: 770)
[more...]
0000: 0a 28 6c 69 62 72 61 72 79 20 28 73 78 6d 6c 20 .(library (sxml
0010: 73 78 70 61 74 68 29 0a 20 20 28 65 78 70 6f 72 sxpath). (expor
0020: 74 20 6e 6f 64 65 73 65 74 3f 0a 20 20 20 20 20 t nodeset?.
0030: 20 20 20 20 20 6e 6f 64 65 2d 74 79 70 65 6f 66 node-typeof
0040: 3f 0a 20 20 20 20 20 20 20 20 20 20 6e 6f 64 65 ?. node
0050: 2d 65 71 3f 0a 20 20 20 20 20 20 20 20 20 20 6e -eq?. n
0060: 6f 64 65 2d 65 71 75 61 6c 3f 0a 20 20 20 20 20 ode-equal?.
0070: 20 20 20 20 20 6e 6f 64 65 2d 70 6f 73 0a 20 20 node-pos.
0080: 20 20 20 20 20 20 20 20 74 61 6b 65 2d 75 6e 74 take-unt
0090: 69 6c 0a 20 20 20 20 20 20 20 20 20 20 74 61 6b il. tak
00a0: 65 2d 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 e-after.
00b0: 20 20 6d 61 70 2d 75 6e 69 6f 6e 0a 20 20 20 20 map-union.
00c0: 20 20 20 20 20 20 6e 6f 64 65 2d 72 65 76 65 72 node-rever
00d0: 73 65 0a 20 20 20 20 20 20 20 20 20 20 6e 6f 64 se. nod
00e0: 65 2d 74 72 61 63 65 0a 20 20 20 20 20 20 20 20 e-trace.
00f0: 20 20 73 65 6c 65 63 74 2d 6b 69 64 73 0a 20 20 select-kids.
0100: 20 20 20 20 20 20 20 20 6e 6f 64 65 2d 73 65 6c node-sel
0110: 66 0a 20 20 20 20 20 20 20 20 20 20 6e 6f 64 65 f. node
0120: 2d 6a 6f 69 6e 0a 20 20 20 20 20 20 20 20 20 20 -join.
0130: 6e 6f 64 65 2d 72 65 64 75 63 65 0a 20 20 20 20 node-reduce.
0140: 20 20 20 20 20 20 6e 6f 64 65 2d 6f 72 0a 20 20 node-or.
0150: 20 20 20 20 20 20 20 20 6e 6f 64 65 2d 63 6c 6f node-clo
0160: 73 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 6e sure. n
0170: 6f 64 65 2d 70 61 72 65 6e 74 0a 20 20 20 20 20 ode-parent.
0180: 20 20 20 20 20 73 78 70 61 74 68 29 0a 20 20 28 sxpath). (
0190: 69 6d 70 6f 72 74 20 28 65 78 63 65 70 74 20 28 import (except (
01a0: 73 63 68 65 6d 65 29 0a 20 20 20 20 20 20 20 20 scheme).
01b0: 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 string
01c0: 2d 63 6f 70 79 20 73 74 72 69 6e 67 2d 66 6f 72 -copy string-for
01d0: 2d 65 61 63 68 20 73 74 72 69 6e 67 2d 3e 6c 69 -each string->li
01e0: 73 74 20 73 74 72 69 6e 67 2d 75 70 63 61 73 65 st string-upcase
01f0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0200: 20 20 20 73 74 72 69 6e 67 2d 64 6f 77 6e 63 61 string-downca
0210: 73 65 20 73 74 72 69 6e 67 2d 74 69 74 6c 65 63 se string-titlec
0220: 61 73 65 20 73 74 72 69 6e 67 2d 68 61 73 68 20 ase string-hash
0230: 73 74 72 69 6e 67 2d 63 6f 70 79 21 20 73 74 72 string-copy! str
0240: 69 6e 67 2d 66 69 6c 6c 21 0a 20 20 20 20 20 20 ing-fill!.
0250: 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 6c 64 fold
0260: 2d 72 69 67 68 74 20 65 72 72 6f 72 20 66 69 6c -right error fil
0270: 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 ter). (
0280: 70 72 65 66 69 78 20 28 6f 6e 6c 79 20 28 73 63 prefix (only (sc
0290: 68 65 6d 65 29 20 65 72 72 6f 72 29 20 73 63 68 heme) error) sch
02a0: 65 6d 65 3a 29 0a 20 20 20 20 20 20 20 20 20 20 eme:).
02b0: 28 73 72 66 69 20 73 31 33 20 73 74 72 69 6e 67 (srfi s13 string
02c0: 73 29 29 0a 20 20 0a 20 20 28 69 6e 63 6c 75 64 s)). . (includ
02d0: 65 20 22 75 74 69 6c 73 2e 73 73 22 29 0a 20 20 e "utils.ss").
02e0: 28 69 6e 63 6c 75 64 65 20 22 73 78 70 61 74 68 (include "sxpath
02f0: 2d 69 6d 70 6c 2e 73 73 22 29 0a 20 20 0a 20 20 -impl.ss"). .
0300: 29 0a ).