forked from GitHub/gf-core
Data.XML must escape the data as well
This commit is contained in:
@@ -8,7 +8,7 @@ module GF.Data.XML (XML(..), Attr, comments, showXMLDoc, showsXMLDoc, showsXML,
|
|||||||
|
|
||||||
import GF.Data.Utilities
|
import GF.Data.Utilities
|
||||||
|
|
||||||
data XML = Data String | CData String | Tag String [Attr] [XML] | ETag String [Attr] | Comment String | Empty
|
data XML = Data String | Tag String [Attr] [XML] | ETag String [Attr] | Comment String | Empty
|
||||||
deriving (Ord,Eq,Show)
|
deriving (Ord,Eq,Show)
|
||||||
|
|
||||||
type Attr = (String,String)
|
type Attr = (String,String)
|
||||||
@@ -26,8 +26,7 @@ showsXMLDoc xml = showString header . showsXML xml
|
|||||||
showsXML :: XML -> ShowS
|
showsXML :: XML -> ShowS
|
||||||
showsXML = showsX 0 where
|
showsXML = showsX 0 where
|
||||||
showsX i x = ind i . case x of
|
showsX i x = ind i . case x of
|
||||||
(Data s) -> showString s
|
(Data s) -> showString (escape s)
|
||||||
(CData s) -> showString "<![CDATA[" . showString s .showString "]]>"
|
|
||||||
(ETag t as) -> showChar '<' . showString t . showsAttrs as . showString "/>"
|
(ETag t as) -> showChar '<' . showString t . showsAttrs as . showString "/>"
|
||||||
(Tag t as cs) ->
|
(Tag t as cs) ->
|
||||||
showChar '<' . showString t . showsAttrs as . showChar '>' .
|
showChar '<' . showString t . showsAttrs as . showChar '>' .
|
||||||
|
|||||||
@@ -178,13 +178,6 @@ param name expr = ETag "param" [("name",name),("expr",expr)]
|
|||||||
var :: String -> Maybe String -> XML
|
var :: String -> Maybe String -> XML
|
||||||
var name expr = ETag "var" ([("name",name)]++e)
|
var name expr = ETag "var" ([("name",name)]++e)
|
||||||
where e = maybe [] ((:[]) . (,) "expr") expr
|
where e = maybe [] ((:[]) . (,) "expr") expr
|
||||||
{-
|
|
||||||
script :: String -> XML
|
|
||||||
script s = Tag "script" [] [CData s]
|
|
||||||
|
|
||||||
scriptURI :: String -> XML
|
|
||||||
scriptURI uri = Tag "script" [("uri", uri)] []
|
|
||||||
-}
|
|
||||||
--
|
--
|
||||||
-- * ECMAScript stuff
|
-- * ECMAScript stuff
|
||||||
--
|
--
|
||||||
|
|||||||
Reference in New Issue
Block a user