aboutsummaryrefslogtreecommitdiff
path: root/src/Text/Pandoc/XML.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text/Pandoc/XML.hs')
-rw-r--r--src/Text/Pandoc/XML.hs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Text/Pandoc/XML.hs b/src/Text/Pandoc/XML.hs
index caa13f177..1e01b62f2 100644
--- a/src/Text/Pandoc/XML.hs
+++ b/src/Text/Pandoc/XML.hs
@@ -100,11 +100,15 @@ toEntities (c:cs)
-- Unescapes XML entities
fromEntities :: String -> String
fromEntities ('&':xs) =
- case lookupEntity ent of
+ case lookupEntity ent' of
Just c -> c : fromEntities rest
Nothing -> '&' : fromEntities xs
where (ent, rest) = case break (\c -> isSpace c || c == ';') xs of
(zs,';':ys) -> (zs,ys)
- _ -> ("",xs)
+ (zs, ys) -> (zs,ys)
+ ent' = case ent of
+ '#':_ -> ent
+ _ -> ent ++ ";"
+
fromEntities (x:xs) = x : fromEntities xs
fromEntities [] = []