r10915: add lml2-tests.asd file
[lml2.git] / base.lisp
index 517af2cc834fcf336e2db5be3d96930d43d56021..7054761ea88fbf77243537dc57faacfb4d0faa46 100644 (file)
--- a/base.lisp
+++ b/base.lisp
 (defun lml-print-date (date)
   (lml-write-string (date-string date)))
 
+(defun xml-header-stream (stream &key (version "1.0") (standalone :unspecified)
+                  (encoding :unspecified))
+  (format stream "<?xml version=\"~A\"~A~A ?>"
+         version
+         (if (eq standalone :unspecified)
+             ""
+             (format nil " standalone=\"~A\"" standalone))
+         (if (eq encoding :unspecified)
+             ""
+             (format nil " encoding=\"~A\"" encoding))))
+         
 (defun dtd-prologue (&optional (format :xhtml11) &key entities)
   (case format
     ((:xhtml :xhtml11 :xhtml10-strict :xhtml10-transitional :xhtml10-frameset :xml)
@@ -68,7 +79,7 @@
 (defmacro html-file-page ((out-file &key (format :xhtml11))
                          &body body)
   `(with-open-file (*html-stream*
-                   (lml-file-name ,out-file :output)
+                   (lml-file-name ',out-file :output)
                    :direction :output
                    :if-exists :supersede)
      (dtd-prologue ,format)