module Text.HTML.WraXML.Document ( XMLDoc.T(..), XMLDoc.lift, format, ) where import qualified Text.HTML.WraXML.Tree as HTMLTree import qualified Text.XML.WraXML.Document as XMLDoc import qualified Text.XML.Basic.Name as Name import qualified Text.XML.Basic.Format as Format format :: (Name.Tag name, Name.Attribute name, Format.C string) => XMLDoc.T i name string -> ShowS format (XMLDoc.Cons xml dtd trees) = let (formatHTML, formatXMLDecl) = maybe (HTMLTree.formatMany, id) (\xmlDecl -> (HTMLTree.formatManyXHTML, XMLDoc.formatXMLDeclaration xmlDecl)) xml in formatXMLDecl . maybe id XMLDoc.formatDocType dtd . formatHTML trees