diff --git a/src/Text/XML/Pipe.hs b/src/Text/XML/Pipe.hs
--- a/src/Text/XML/Pipe.hs
+++ b/src/Text/XML/Pipe.hs
@@ -3,7 +3,7 @@
 module Text.XML.Pipe (
 	-- * Functions
 	-- ** Decode
-	xmlEvent, xmlBegin, xmlNode, xmlNodeUntil,
+	xmlEvent, xmlBegin, xmlNode, xmlReborn, xmlNodeUntil,
 	-- ** Encode
 	xmlString,
 	-- * Types
@@ -12,11 +12,16 @@
 	XEQName, Xmlns, QName) where
 
 import Control.Arrow
+import Control.Monad
+import Data.Pipe
 
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Char8 as BSC
 
 import Text.XML.XmlCreate
+
+xmlReborn :: Monad m => Pipe XmlEvent XmlNode m ()
+xmlReborn = xmlBegin >>= xmlNode >>= flip when xmlReborn
 
 xmlString :: [XmlNode] -> BS.ByteString
 xmlString = BS.concat . map eventToS . toEvent
diff --git a/xml-pipe.cabal b/xml-pipe.cabal
--- a/xml-pipe.cabal
+++ b/xml-pipe.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.8
 
 name:		xml-pipe
-version:	0.0.0.6
+version:	0.0.0.7
 stability:	Experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
@@ -110,7 +110,7 @@
 source-repository	this
     type:	git
     location:	git://github.com/YoshikuniJujo/xml-pipe.git
-    tag:	xml-pipe-0.0.0.6
+    tag:	xml-pipe-0.0.0.7
 
 library
     hs-source-dirs:	src
