diff --git a/src/libraries/OS-Independent/Text/GenXML.dcl b/src/libraries/OS-Independent/Text/GenXML.dcl index be5609be2759695c0d65ba34bae1816b4ecab0da..8a18798bd82beeecc3a3515ba369eb7bb3656fce 100644 --- a/src/libraries/OS-Independent/Text/GenXML.dcl +++ b/src/libraries/OS-Independent/Text/GenXML.dcl @@ -23,9 +23,9 @@ definition module Text.GenXML * nodesWithMergedConsecutiveText :: ![XMLNode] -> [XMLNode] * nodesWithMergedConsecutiveText [] = [] * nodesWithMergedConsecutiveText [XMLText text1, XMLText text2: rest] = - * nodesWithMergedConsecutiveText [XMLText $ text1 +++ text2: rest] + * nodesWithMergedConsecutiveText [XMLText $ text1 +++ text2: rest] * nodesWithMergedConsecutiveText [node: rest] = - * [nodeWithMergedConsecutiveText node: nodesWithMergedConsecutiveText rest] + * [nodeWithMergedConsecutiveText node: nodesWithMergedConsecutiveText rest] */ import StdOverloaded, StdGeneric, Data.Either diff --git a/src/libraries/OS-Independent/Text/GenXML/Gast.icl b/src/libraries/OS-Independent/Text/GenXML/Gast.icl index 0ab6beca59c03d5b1ca003dc59c4df339c649f81..0a6af6cee4f8a5ffd75dd84708ab0689deb75258 100644 --- a/src/libraries/OS-Independent/Text/GenXML/Gast.icl +++ b/src/libraries/OS-Independent/Text/GenXML/Gast.icl @@ -11,12 +11,17 @@ derive ggen XMLNode, XMLAttr // TODO: Generate URIs for namespaces, instead of using names. ggen{|XMLDoc|} st = - [ XMLDoc - (unNameString <$> defaultNamespace) - (bifmap unNameString unNameString <$> namespaces) - (XMLElem rootName rootAttrs rootChildren) - \\ (defaultNamespace, namespaces, rootName, rootAttrs, rootChildren) <- ggen{|*|} st + [ docWithNamedCharacterEntityReference + : [ XMLDoc + (unNameString <$> defaultNamespace) + (bifmap unNameString unNameString <$> namespaces) + (XMLElem rootName rootAttrs rootChildren) + \\ (defaultNamespace, namespaces, rootName, rootAttrs, rootChildren) <- ggen{|*|} st + ] ] +where + docWithNamedCharacterEntityReference = + XMLDoc Nothing [] (XMLElem (uname "someName") [XMLAttr (uname "attr") "< >\" '&"] [XMLText "\"& <>\""]) ggen{|XMLQName|} st = [XMLQName (unNameString <$> namespace) (unNameString name) \\ (namespace, name) <- ggen{|*|} st]