mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-09 04:59:31 -06:00
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
|
||||
|
||||
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)
|
||||
|
||||
type Attr = (String,String)
|
||||
@@ -26,8 +26,7 @@ showsXMLDoc xml = showString header . showsXML xml
|
||||
showsXML :: XML -> ShowS
|
||||
showsXML = showsX 0 where
|
||||
showsX i x = ind i . case x of
|
||||
(Data s) -> showString s
|
||||
(CData s) -> showString "<![CDATA[" . showString s .showString "]]>"
|
||||
(Data s) -> showString (escape s)
|
||||
(ETag t as) -> showChar '<' . showString t . showsAttrs as . showString "/>"
|
||||
(Tag t as cs) ->
|
||||
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 name expr = ETag "var" ([("name",name)]++e)
|
||||
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
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user