Added `split-attributes+body', to make it easy to write xml-like wrapper
functions, and used it in `center-div'. original commit: e339081fd037d8ac7ba0128414af182314cef8f0
This commit is contained in:
parent
e803175aff
commit
1bf7397ac8
|
@ -37,6 +37,15 @@
|
||||||
"missing attribute value for `~s:'" a)]
|
"missing attribute value for `~s:'" a)]
|
||||||
[else (loop (cddr xs) (cons (cons a (cadr xs)) as))]))))
|
[else (loop (cddr xs) (cons (cons a (cadr xs)) as))]))))
|
||||||
|
|
||||||
|
;; similar, but keeps the attributes as a list, useful to build new functions
|
||||||
|
;; that accept attributes without knowing about the xml structs.
|
||||||
|
(provide split-attributes+body)
|
||||||
|
(define (split-attributes+body xs)
|
||||||
|
(let loop ([xs xs] [as '()])
|
||||||
|
(if (and (pair? xs) (pair? (cdr xs)) (attribute->symbol (car xs)))
|
||||||
|
(loop (cddr xs) (list* (cadr xs) (car xs) as))
|
||||||
|
(values (reverse as) xs))))
|
||||||
|
|
||||||
;; ----------------------------------------------------------------------------
|
;; ----------------------------------------------------------------------------
|
||||||
;; An output that handles xml quoting, customizable
|
;; An output that handles xml quoting, customizable
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user