xhtml.ss
#lang scheme

(require "xml.ss")

; technically should use the xml module to define this, buwhaever
(define prefix "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">")

(define (document write head contents)
  (write prefix)
  ((gen (html head (body contents))) write))

(define (head title style)
  (gen 
    (head (title title) (link #:rel "stylesheet" #:type "text/css" #:href style)
          (meta #:http_equiv "content-type" #:content "application/xhtml+xml; charset=UTF-8"))))

(provide document head (all-from-out "xml.ss"))