diff options
Diffstat (limited to 'module/calp/webdav/property.scm')
-rw-r--r-- | module/calp/webdav/property.scm | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/module/calp/webdav/property.scm b/module/calp/webdav/property.scm index 4e235f81..3c919e2e 100644 --- a/module/calp/webdav/property.scm +++ b/module/calp/webdav/property.scm @@ -42,7 +42,7 @@ ;; @example ;; `((,(xml ns tag) "Content")) ;; @end example - propstat-property + (propstat-property type: (list-of xml-element?)) ;; See [WEBCAL] propstat XML element (propstat-error keyword: error) @@ -87,10 +87,15 @@ ;; `((d:responsedescription ,it))))) (define (propstat->namespaced-sxml propstat) - `(,(xml webdav 'propstat) - (,(xml webdav 'prop) ,@(propstat-property propstat)) - (,(xml webdav 'status) ,(http-status-line (propstat-status-code propstat))) - ,@(awhen (propstat-error propstat) - `((,(xml webdav 'error) ,it))) - ,@(awhen (propstat-response-description propstat) - `((,(xml webdav 'responsedescription) ,it))))) + (apply (xml webdav 'propstat) + (append + + (list + (apply (xml webdav 'prop) (propstat-property propstat)) + ((xml webdav 'status) (http-status-line (propstat-status-code propstat)))) + + (awhen (propstat-error propstat) + (list ((xml webdav 'error) it))) + + (awhen (propstat-response-description propstat) + (list ((xml webdav 'responsedescription) it)))))) |