diff --git a/heist.cabal b/heist.cabal
--- a/heist.cabal
+++ b/heist.cabal
@@ -1,5 +1,5 @@
 name:           heist
-version:        1.0.1.1
+version:        1.0.1.2
 synopsis:       An Haskell template system supporting both HTML5 and XML.
 description:
     Heist is a powerful template system that supports both HTML5 and XML.
diff --git a/src/Heist/Interpreted.hs b/src/Heist/Interpreted.hs
--- a/src/Heist/Interpreted.hs
+++ b/src/Heist/Interpreted.hs
@@ -74,6 +74,7 @@
   , callTemplate
   , callTemplateWithText
   , renderTemplate
+  , renderTemplateToDoc
   , renderWithArgs
   ) where
 
diff --git a/src/Heist/Interpreted/Internal.hs b/src/Heist/Interpreted/Internal.hs
--- a/src/Heist/Interpreted/Internal.hs
+++ b/src/Heist/Interpreted/Internal.hs
@@ -415,3 +415,9 @@
 renderWithArgs args hs = renderTemplate (bindStrings args hs)
 
 
+renderTemplateToDoc :: Monad n
+            => HeistState n
+            -> ByteString
+            -> n (Maybe X.Document)
+renderTemplateToDoc hs name =
+    evalHeistT (evalWithDoctypes name) (X.TextNode "") hs
