diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-04-18 19:24:52 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-04-18 19:24:52 +0200 |
commit | 0edeea71ac64d86cba0bce5ecc58f2e54521d85b (patch) | |
tree | dfb31fadb40cdbb147fa0c73a2a5b8d00fee6f64 | |
parent | Move code for finding an available socket. (diff) | |
download | calp-0edeea71ac64d86cba0bce5ecc58f2e54521d85b.tar.gz calp-0edeea71ac64d86cba0bce5ecc58f2e54521d85b.tar.xz |
Allow namespaced sxml to add namespaces.
-rw-r--r-- | doc/ref/guile/sxml.texi | 3 | ||||
-rw-r--r-- | module/sxml/namespaced.scm | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/doc/ref/guile/sxml.texi b/doc/ref/guile/sxml.texi index 8b0246f7..dd635b4c 100644 --- a/doc/ref/guile/sxml.texi +++ b/doc/ref/guile/sxml.texi @@ -50,6 +50,9 @@ Reads xml from port, and return a namespaced SXML tree. Converts a ``regular'' SXML tree into a namespaced sxml tree. @var{namespaces} must be an association list which maps each prefix used in @var{tree} onto a full XML namespace. + +The key @code{#f} can be used to map non-namespaced elements into a +namespace. @end defun @defun xml tag diff --git a/module/sxml/namespaced.scm b/module/sxml/namespaced.scm index 746b98bb..846f8f25 100644 --- a/module/sxml/namespaced.scm +++ b/module/sxml/namespaced.scm @@ -175,7 +175,8 @@ ((tag) (values tag '()))))) (let ((parts (string-split (symbol->string tag-symb) #\:))) (cons (case (length parts) - ((1) (xml #f (string->symbol (car parts)) attrs)) + ((1) (xml (assoc-ref namespaces #f) + (string->symbol (car parts)) attrs)) ((2) (cond ((assoc-ref namespaces (string->symbol (car parts))) => (lambda (ns) (xml ns (string->symbol (cadr parts)) attrs))) |