From 6d5a9c21158b81b61278d39868597324e44444c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 18 Apr 2023 19:28:12 +0200 Subject: Change xcal to work on namespaced sxml instead. --- module/vcomponent/formats/xcal.scm | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'module/vcomponent/formats/xcal.scm') diff --git a/module/vcomponent/formats/xcal.scm b/module/vcomponent/formats/xcal.scm index cfc70a92..29a1d92f 100644 --- a/module/vcomponent/formats/xcal.scm +++ b/module/vcomponent/formats/xcal.scm @@ -1,5 +1,6 @@ (define-module (vcomponent formats xcal) - :use-module (sxml simple) + :use-module (sxml namespaced) + :use-module (sxml namespaced util) :use-module ((vcomponent formats xcal output) :select (vcomponent->sxcal ns-wrap)) :use-module ((vcomponent formats xcal parse) @@ -8,16 +9,19 @@ :export (serialize deserialize)) -(define (serialize component port) +(define* (serialize component port key: (namespaces '())) (-> (vcomponent->sxcal component) ns-wrap - (sxml->xml port) - )) + (namespaced-sxml->xml port: port + namespaces: namespaces))) (define (serialize/object component) (call-with-output-string (lambda (p) (serialize component p)))) -(define (deserialize port) - (-> (xml->sxml port) +(define* (deserialize port) + (-> port + xml->namespaced-sxml + root-element ; Strip potential *TOP* + cadr ; Remove containing icalendar sxcal->vcomponent)) -- cgit v1.2.3