diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,10 +1,13 @@
+## 1.25.12 (2022-10-18)
+- Allow parsing empty strings, avoiding space leak #13 (Teo Camarasu)
+
 ## 1.25.11 (2022-09-13)
 - revert "allow empty text content #10" to avoid haxr memory leak
 
 ## 1.25.10 (2022-09-12)
 - better pretty printer formatting #8 (Alexander Vieth)
 - allow building with GHC 9.4 #9 (Andreas Abel)
-- allow empty text content #10 (Adrian May)
+- allow empty text content #10 (Teo Camarasu)
 
 ## 1.25.9 (2022-04-10)
 - fix 1.25.7 regression in Xtract.Parse (#7 by Isaac van Bakel)
diff --git a/HaXml.cabal b/HaXml.cabal
--- a/HaXml.cabal
+++ b/HaXml.cabal
@@ -1,6 +1,6 @@
 cabal-version:  1.18
 name:           HaXml
-version:        1.25.11
+version:        1.25.12
 
 license:        LGPL-2.1
 license-files:  COPYRIGHT, LICENCE-GPL, LICENCE-LGPL
diff --git a/src/Text/XML/HaXml/Schema/Schema.hs b/src/Text/XML/HaXml/Schema/Schema.hs
--- a/src/Text/XML/HaXml/Schema/Schema.hs
+++ b/src/Text/XML/HaXml/Schema/Schema.hs
@@ -70,7 +70,7 @@
 -- | Given a TextParser for a SimpleType, make it into an XMLParser, i.e.
 --   consuming textual XML content as input rather than a String.
 parseSimpleType :: SimpleType t => XMLParser t
-parseSimpleType = do s <- text
+parseSimpleType = do s <- text `onFail` return ""
                      case runParser acceptingParser s of
                        (Left err, _) -> fail err
                        (Right v, "") -> return v
