diff --git a/lib/chibi/sxml.scm b/lib/chibi/sxml.scm
index 469310af..20172878 100644
--- a/lib/chibi/sxml.scm
+++ b/lib/chibi/sxml.scm
@@ -101,6 +101,10 @@
        ((null? sxml))
        (else (html-display-escaped-string sxml out))))))
 
+(define (sxml->xml sxml)
+  (call-with-output-string
+    (lambda (out) (sxml-display-as-html sxml out))))
+
 ;; utility to render sxml as simple text, stripping all tags
 (define (sxml-strip sxml)
   (call-with-output-string
diff --git a/lib/chibi/sxml.sld b/lib/chibi/sxml.sld
index a578d54e..e0a9f298 100644
--- a/lib/chibi/sxml.sld
+++ b/lib/chibi/sxml.sld
@@ -1,5 +1,5 @@
 
 (define-library (chibi sxml)
-  (export sxml-display-as-html sxml-display-as-text sxml-strip)
+  (export sxml->xml sxml-display-as-html sxml-display-as-text sxml-strip)
   (import (scheme base) (scheme write))
   (include "sxml.scm"))