Module "XML" (Just (Exporting (11,11) [(ExportTypeAll (QualIdent Nothing (Ident "XmlExp" 0))),(ExportTypeAll (QualIdent Nothing (Ident "Encoding" 0))),(ExportTypeAll (QualIdent Nothing (Ident "XmlDocParams" 0))),(Export (QualIdent Nothing (Ident "xtxt" 0))),(Export (QualIdent Nothing (Ident "xml" 0))),(Export (QualIdent Nothing (Ident "showXmlDoc" 0))),(Export (QualIdent Nothing (Ident "showXmlDocWithParams" 0))),(Export (QualIdent Nothing (Ident "writeXmlFile" 0))),(Export (QualIdent Nothing (Ident "writeXmlFileWithParams" 0))),(Export (QualIdent Nothing (Ident "parseXmlString" 0))),(Export (QualIdent Nothing (Ident "readXmlFile" 0))),(Export (QualIdent Nothing (Ident "readUnsafeXmlFile" 0))),(Export (QualIdent Nothing (Ident "readFileWithXmlDocs" 0))),(Export (QualIdent Nothing (Ident "textOfXml" 0)))])) [(ImportDecl (1,1) "Prelude" False Nothing Nothing) ,(ImportDecl (16,1) "Char" False Nothing Nothing) ,(ImportDecl (17,1) "Read" False Nothing Nothing) ,(ImportDecl (18,1) "List" False Nothing (Just (Importing (18,12) [(Import (Ident "intersperse" 0))]))) ,(DataDecl (25,1) (Ident "XmlExp" 0) [] [(ConstrDecl (25,15) [] (Ident "XText" 0) [(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])]),(ConstrDecl (26,15) [] (Ident "XElem" 0) [(ConstructorType (QualIdent Nothing (Ident "String" 0)) []),(ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "String" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])])),(ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []))])]) ,(DataDecl (30,1) (Ident "Encoding" 0) [] [(ConstrDecl (30,17) [] (Ident "StandardEnc" 0) []),(ConstrDecl (31,17) [] (Ident "Iso88591Enc" 0) [])]) ,(DataDecl (79,1) (Ident "XmlDocParams" 0) [] [(ConstrDecl (79,21) [] (Ident "Enc" 0) [(ConstructorType (QualIdent Nothing (Ident "Encoding" 0)) [])]),(ConstrDecl (80,21) [] (Ident "DtdUrl" 0) [(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])])]) ,(TypeSig (34,1) [(Ident "encoding2Attribute" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Encoding" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (35,1) (Ident "encoding2Attribute" 0) [(Equation (35,1) (FunLhs (Ident "encoding2Attribute" 0) [(ConstructorPattern (QualIdent (Just "XML") (Ident "StandardEnc" 0)) [])]) (SimpleRhs (35,34) (Literal (String "")) [])),(Equation (36,1) (FunLhs (Ident "encoding2Attribute" 0) [(ConstructorPattern (QualIdent (Just "XML") (Ident "Iso88591Enc" 0)) [])]) (SimpleRhs (36,34) (Literal (String "encoding=\"iso-8859-1\" ")) []))]) ,(TypeSig (39,1) [(Ident "encoding2EncFunc" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Encoding" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (40,1) (Ident "encoding2EncFunc" 0) [(Equation (40,1) (FunLhs (Ident "encoding2EncFunc" 0) [(ConstructorPattern (QualIdent (Just "XML") (Ident "StandardEnc" 0)) [])]) (SimpleRhs (40,32) (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) [])),(Equation (41,1) (FunLhs (Ident "encoding2EncFunc" 0) [(ConstructorPattern (QualIdent (Just "XML") (Ident "Iso88591Enc" 0)) [])]) (SimpleRhs (41,32) (Variable (QualIdent (Just "XML") (Ident "iso88591Encoding" 0))) []))]) ,(TypeSig (47,1) [(Ident "standardEncoding" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (48,1) (Ident "standardEncoding" 0) [(Equation (48,1) (FunLhs (Ident "standardEncoding" 0) [(ListPattern [])]) (SimpleRhs (48,23) (List []) [])),(Equation (49,1) (FunLhs (Ident "standardEncoding" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 12)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 12))))]) (GuardedRhs [(CondExpr (50,4) (InfixApply (Variable (QualIdent Nothing (Ident "c" 12))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '<'))) (InfixApply (Literal (String "<")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 12)))))),(CondExpr (51,4) (InfixApply (Variable (QualIdent Nothing (Ident "c" 12))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '>'))) (InfixApply (Literal (String ">")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 12)))))),(CondExpr (52,4) (InfixApply (Variable (QualIdent Nothing (Ident "c" 12))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '&'))) (InfixApply (Literal (String "&")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 12)))))),(CondExpr (53,4) (InfixApply (Variable (QualIdent Nothing (Ident "c" 12))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '"'))) (InfixApply (Literal (String """)) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 12)))))),(CondExpr (54,4) (InfixApply (Variable (QualIdent Nothing (Ident "c" 12))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '\''))) (InfixApply (Literal (String "'")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 12)))))),(CondExpr (55,4) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 12)))) (InfixOp (QualIdent (Just "Prelude") (Ident "<" 0))) (Literal (Int (Ident "_" 14) 32))) (InfixApply (Literal (String "&#")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 12)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ";")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 12)))))))),(CondExpr (56,4) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 12)))) (InfixOp (QualIdent (Just "Prelude") (Ident ">" 0))) (Literal (Int (Ident "_" 15) 127))) (InfixApply (Literal (String "&#")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "show" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 12)))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String ";")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 12)))))))),(CondExpr (57,4) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 12))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 12))))))] []))]) ,(TypeSig (60,1) [(Ident "iso88591Encoding" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (61,1) (Ident "iso88591Encoding" 0) [(Equation (61,1) (FunLhs (Ident "iso88591Encoding" 0) [(ListPattern [])]) (SimpleRhs (61,23) (List []) [])),(Equation (62,1) (FunLhs (Ident "iso88591Encoding" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 18)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 18))))]) (SimpleRhs (63,4) (IfThenElse (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "ord" 0))) (Variable (QualIdent Nothing (Ident "c" 18)))) (InfixOp (QualIdent (Just "Prelude") (Ident "elem" 0))) (Variable (QualIdent (Just "XML") (Ident "iso88591list" 0)))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 18))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "iso88591Encoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 18))))) (InfixApply (Apply (Variable (QualIdent (Just "XML") (Ident "standardEncoding" 0))) (List [(Variable (QualIdent Nothing (Ident "c" 18)))])) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "iso88591Encoding" 0))) (Variable (QualIdent Nothing (Ident "cs" 18)))))) []))]) ,(FunctionDecl (69,1) (Ident "iso88591list" 0) [(Equation (69,1) (FunLhs (Ident "iso88591list" 0) []) (SimpleRhs (69,16) (List [(Literal (Int (Ident "_" 22) 192)),(Literal (Int (Ident "_" 23) 193)),(Literal (Int (Ident "_" 24) 194)),(Literal (Int (Ident "_" 25) 195)),(Literal (Int (Ident "_" 26) 196)),(Literal (Int (Ident "_" 27) 197)),(Literal (Int (Ident "_" 28) 198)),(Literal (Int (Ident "_" 29) 199)),(Literal (Int (Ident "_" 30) 200)),(Literal (Int (Ident "_" 31) 201)),(Literal (Int (Ident "_" 32) 202)),(Literal (Int (Ident "_" 33) 203)),(Literal (Int (Ident "_" 34) 204)),(Literal (Int (Ident "_" 35) 205)),(Literal (Int (Ident "_" 36) 207)),(Literal (Int (Ident "_" 37) 208)),(Literal (Int (Ident "_" 38) 209)),(Literal (Int (Ident "_" 39) 210)),(Literal (Int (Ident "_" 40) 211)),(Literal (Int (Ident "_" 41) 212)),(Literal (Int (Ident "_" 42) 214)),(Literal (Int (Ident "_" 43) 216)),(Literal (Int (Ident "_" 44) 217)),(Literal (Int (Ident "_" 45) 218)),(Literal (Int (Ident "_" 46) 219)),(Literal (Int (Ident "_" 47) 220)),(Literal (Int (Ident "_" 48) 221)),(Literal (Int (Ident "_" 49) 224)),(Literal (Int (Ident "_" 50) 225)),(Literal (Int (Ident "_" 51) 228)),(Literal (Int (Ident "_" 52) 229)),(Literal (Int (Ident "_" 53) 226)),(Literal (Int (Ident "_" 54) 227)),(Literal (Int (Ident "_" 55) 230)),(Literal (Int (Ident "_" 56) 231)),(Literal (Int (Ident "_" 57) 233)),(Literal (Int (Ident "_" 58) 232)),(Literal (Int (Ident "_" 59) 235)),(Literal (Int (Ident "_" 60) 234)),(Literal (Int (Ident "_" 61) 236)),(Literal (Int (Ident "_" 62) 237)),(Literal (Int (Ident "_" 63) 239)),(Literal (Int (Ident "_" 64) 240)),(Literal (Int (Ident "_" 65) 241)),(Literal (Int (Ident "_" 66) 248)),(Literal (Int (Ident "_" 67) 246)),(Literal (Int (Ident "_" 68) 242)),(Literal (Int (Ident "_" 69) 243)),(Literal (Int (Ident "_" 70) 244)),(Literal (Int (Ident "_" 71) 245)),(Literal (Int (Ident "_" 72) 250)),(Literal (Int (Ident "_" 73) 249)),(Literal (Int (Ident "_" 74) 252)),(Literal (Int (Ident "_" 75) 251)),(Literal (Int (Ident "_" 76) 253)),(Literal (Int (Ident "_" 77) 255))]) []))]) ,(TypeSig (84,1) [(Ident "lookupEncoding" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlDocParams" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Encoding" 0)) []))) ,(FunctionDecl (85,1) (Ident "lookupEncoding" 0) [(Equation (85,1) (FunLhs (Ident "lookupEncoding" 0) [(ParenPattern (InfixPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "Enc" 0)) [(VariablePattern (Ident "f" 78))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 79))))]) (SimpleRhs (85,28) (Variable (QualIdent Nothing (Ident "f" 78))) [])),(Equation (86,1) (FunLhs (Ident "lookupEncoding" 0) [(ParenPattern (InfixPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "DtdUrl" 0)) [(VariablePattern (Ident "_" 82))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "l" 81))))]) (SimpleRhs (86,31) (Apply (Variable (QualIdent (Just "XML") (Ident "lookupEncoding" 0))) (Variable (QualIdent Nothing (Ident "l" 81)))) [])),(Equation (87,1) (FunLhs (Ident "lookupEncoding" 0) [(ListPattern [])]) (SimpleRhs (87,21) (Constructor (QualIdent (Just "XML") (Ident "StandardEnc" 0))) []))]) ,(TypeSig (90,1) [(Ident "lookupDtdUrl" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlDocParams" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (91,1) (Ident "lookupDtdUrl" 0) [(Equation (91,1) (FunLhs (Ident "lookupDtdUrl" 0) [(ParenPattern (InfixPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "Enc" 0)) [(VariablePattern (Ident "_" 87))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "l" 86))))]) (SimpleRhs (91,26) (Apply (Variable (QualIdent (Just "XML") (Ident "lookupDtdUrl" 0))) (Variable (QualIdent Nothing (Ident "l" 86)))) [])),(Equation (92,1) (FunLhs (Ident "lookupDtdUrl" 0) [(ParenPattern (InfixPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "DtdUrl" 0)) [(VariablePattern (Ident "url" 89))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 90))))]) (SimpleRhs (92,31) (Variable (QualIdent Nothing (Ident "url" 89))) []))]) ,(TypeSig (95,1) [(Ident "hasDtdUrl" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlDocParams" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (96,1) (Ident "hasDtdUrl" 0) [(Equation (96,1) (FunLhs (Ident "hasDtdUrl" 0) [(ListPattern [])]) (SimpleRhs (96,16) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) [])),(Equation (97,1) (FunLhs (Ident "hasDtdUrl" 0) [(ParenPattern (InfixPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "DtdUrl" 0)) [(VariablePattern (Ident "_" 95))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "_" 96))))]) (SimpleRhs (97,26) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Equation (98,1) (FunLhs (Ident "hasDtdUrl" 0) [(ParenPattern (InfixPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "Enc" 0)) [(VariablePattern (Ident "_" 99))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "l" 98))))]) (SimpleRhs (98,23) (Apply (Variable (QualIdent (Just "XML") (Ident "hasDtdUrl" 0))) (Variable (QualIdent Nothing (Ident "l" 98)))) []))]) ,(TypeSig (104,1) [(Ident "xtxt" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []))) ,(FunctionDecl (105,1) (Ident "xtxt" 0) [(Equation (105,1) (FunLhs (Ident "xtxt" 0) [(VariablePattern (Ident "s" 101))]) (SimpleRhs (105,10) (Apply (Constructor (QualIdent (Just "XML") (Ident "XText" 0))) (Variable (QualIdent Nothing (Ident "s" 101)))) []))]) ,(TypeSig (108,1) [(Ident "xml" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])))) ,(FunctionDecl (109,1) (Ident "xml" 0) [(Equation (109,1) (FunLhs (Ident "xml" 0) [(VariablePattern (Ident "t" 103)),(VariablePattern (Ident "c" 103))]) (SimpleRhs (109,11) (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Variable (QualIdent Nothing (Ident "t" 103)))) (List [])) (Variable (QualIdent Nothing (Ident "c" 103)))) []))]) ,(TypeSig (115,1) [(Ident "writeXmlFile" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])])))) ,(FunctionDecl (116,1) (Ident "writeXmlFile" 0) [(Equation (116,1) (FunLhs (Ident "writeXmlFile" 0) [(VariablePattern (Ident "file" 105)),(VariablePattern (Ident "xexp" 105))]) (SimpleRhs (117,4) (Apply (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "writeXmlFileWithParams" 0))) (Variable (QualIdent Nothing (Ident "file" 105)))) (List [(Apply (Constructor (QualIdent (Just "XML") (Ident "Enc" 0))) (Constructor (QualIdent (Just "XML") (Ident "StandardEnc" 0))))])) (Variable (QualIdent Nothing (Ident "xexp" 105)))) []))]) ,(TypeSig (120,1) [(Ident "writeXmlFileWithParams" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlDocParams" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))))) ,(FunctionDecl (121,1) (Ident "writeXmlFileWithParams" 0) [(Equation (121,1) (FunLhs (Ident "writeXmlFileWithParams" 0) [(VariablePattern (Ident "file" 107)),(VariablePattern (Ident "ps" 107)),(VariablePattern (Ident "xexp" 107))]) (SimpleRhs (122,4) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "writeFile" 0))) (Variable (QualIdent Nothing (Ident "file" 107)))) (Paren (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "showXmlDocWithParams" 0))) (Variable (QualIdent Nothing (Ident "ps" 107)))) (Variable (QualIdent Nothing (Ident "xexp" 107)))))) []))]) ,(TypeSig (129,1) [(Ident "showXmlDoc" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (130,1) (Ident "showXmlDoc" 0) [(Equation (130,1) (FunLhs (Ident "showXmlDoc" 0) [(VariablePattern (Ident "xexp" 109))]) (SimpleRhs (130,19) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "showXmlDocWithParams" 0))) (List [])) (Variable (QualIdent Nothing (Ident "xexp" 109)))) []))]) ,(TypeSig (132,1) [(Ident "showXmlDocWithParams" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlDocParams" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])))) ,(FunctionDecl (133,1) (Ident "showXmlDocWithParams" 0) [(Equation (133,1) (FunLhs (Ident "showXmlDocWithParams" 0) [(VariablePattern (Ident "ps" 111)),(ParenPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XElem" 0)) [(VariablePattern (Ident "root" 111)),(VariablePattern (Ident "attrL" 111)),(VariablePattern (Ident "xmlEL" 111))]))]) (SimpleRhs (134,4) (InfixApply (Literal (String "\n\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (IfThenElse (Apply (Variable (QualIdent (Just "XML") (Ident "hasDtdUrl" 0))) (Variable (QualIdent Nothing (Ident "ps" 111)))) (InfixApply (Literal (String "\n\n")))))) (Literal (String "")))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "showXmlExp" 0))) (Literal (Int (Ident "_" 113) 0))) (Paren (Apply (Variable (QualIdent (Just "XML") (Ident "encoding2EncFunc" 0))) (Paren (Apply (Variable (QualIdent (Just "XML") (Ident "lookupEncoding" 0))) (Variable (QualIdent Nothing (Ident "ps" 111)))))))) (Paren (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Variable (QualIdent Nothing (Ident "root" 111)))) (Variable (QualIdent Nothing (Ident "attrL" 111)))) (Variable (QualIdent Nothing (Ident "xmlEL" 111)))))))))))) []))]) ,(TypeSig (143,1) [(Ident "showXmlExp" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (144,1) (Ident "showXmlExp" 0) [(Equation (144,1) (FunLhs (Ident "showXmlExp" 0) [(VariablePattern (Ident "i" 114)),(VariablePattern (Ident "encFun" 114)),(ParenPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XText" 0)) [(VariablePattern (Ident "s" 114))]))]) (SimpleRhs (144,34) (InfixApply (Apply (Variable (QualIdent (Just "XML") (Ident "xtab" 0))) (Variable (QualIdent Nothing (Ident "i" 114)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Variable (QualIdent Nothing (Ident "encFun" 114))) (Variable (QualIdent Nothing (Ident "s" 114))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\n")))) [])),(Equation (145,1) (FunLhs (Ident "showXmlExp" 0) [(VariablePattern (Ident "i" 116)),(VariablePattern (Ident "encFun" 116)),(ParenPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XElem" 0)) [(VariablePattern (Ident "tag" 116)),(VariablePattern (Ident "attrs" 116)),(VariablePattern (Ident "xexps" 116))]))]) (SimpleRhs (146,3) (InfixApply (Apply (Variable (QualIdent (Just "XML") (Ident "xtab" 0))) (Variable (QualIdent Nothing (Ident "i" 116)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "showXmlOpenTag" 0))) (Variable (QualIdent Nothing (Ident "tag" 116)))) (Variable (QualIdent Nothing (Ident "attrs" 116)))) (Variable (QualIdent Nothing (Ident "encFun" 116)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "xexps" 116))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [])) (Literal (String " />\n")) (IfThenElse (InfixApply (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "length" 0))) (Variable (QualIdent Nothing (Ident "xexps" 116)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Int (Ident "_" 118) 1))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "isXText" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "xexps" 116))))))) (Let [(PatternDecl (150,17) (ListPattern [(ConstructorPattern (QualIdent (Just "XML") (Ident "XText" 0)) [(VariablePattern (Ident "s" 119))])]) (SimpleRhs (150,29) (Variable (QualIdent Nothing (Ident "xexps" 116))) []))] (InfixApply (Literal (String ">")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Variable (QualIdent Nothing (Ident "encFun" 116))) (Variable (QualIdent Nothing (Ident "s" 119))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n"))))))) (InfixApply (Literal (String ">\n")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "showXmlExps" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "i" 116))) (InfixOp (QualIdent (Just "Prelude") (Ident "+" 0))) (Literal (Int (Ident "_" 121) 2))))) (Variable (QualIdent Nothing (Ident "xexps" 116)))) (Variable (QualIdent Nothing (Ident "encFun" 116)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Apply (Variable (QualIdent (Just "XML") (Ident "xtab" 0))) (Variable (QualIdent Nothing (Ident "i" 116)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "\n"))))))))))) []))]) ,(FunctionDecl (155,1) (Ident "xtab" 0) [(Equation (155,1) (FunLhs (Ident "xtab" 0) [(VariablePattern (Ident "n" 122))]) (SimpleRhs (155,10) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "take" 0))) (Variable (QualIdent Nothing (Ident "n" 122)))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "repeat" 0))) (Literal (Char ' '))))) []))]) ,(FunctionDecl (157,1) (Ident "showXmlOpenTag" 0) [(Equation (157,1) (FunLhs (Ident "showXmlOpenTag" 0) [(VariablePattern (Ident "tag" 124)),(VariablePattern (Ident "attrs" 124)),(VariablePattern (Ident "encFun" 124))]) (SimpleRhs (158,3) (InfixApply (Literal (String "<")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "tag" 124))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Paren (InfixApply (LeftSection (Literal (String " ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0)))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent Nothing (Ident "attr2string" 125)))))) (Variable (QualIdent Nothing (Ident "attrs" 124)))))))) [(FunctionDecl (159,9) (Ident "attr2string" 125) [(Equation (159,9) (FunLhs (Ident "attr2string" 125) [(TuplePattern [(VariablePattern (Ident "attr" 126)),(VariablePattern (Ident "value" 126))])]) (SimpleRhs (159,36) (InfixApply (Variable (QualIdent Nothing (Ident "attr" 126))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Literal (String "=\"")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Paren (Apply (Variable (QualIdent Nothing (Ident "encFun" 124))) (Variable (QualIdent Nothing (Ident "value" 126))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String "\""))))) []))])]))]) ,(TypeSig (162,1) [(Ident "showXmlExps" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "Int" 0)) []) (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])) (ArrowType (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))))) ,(FunctionDecl (163,1) (Ident "showXmlExps" 0) [(Equation (163,1) (FunLhs (Ident "showXmlExps" 0) [(VariablePattern (Ident "encFun" 128)),(VariablePattern (Ident "xexps" 128)),(VariablePattern (Ident "i" 128))]) (SimpleRhs (163,30) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "concatMap" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "showXmlExp" 0))) (Variable (QualIdent Nothing (Ident "encFun" 128)))) (Variable (QualIdent Nothing (Ident "i" 128)))))) (Variable (QualIdent Nothing (Ident "xexps" 128)))) []))]) ,(TypeSig (165,1) [(Ident "isXText" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []) (ConstructorType (QualIdent Nothing (Ident "Bool" 0)) []))) ,(FunctionDecl (166,1) (Ident "isXText" 0) [(Equation (166,1) (FunLhs (Ident "isXText" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XText" 0)) [(VariablePattern (Ident "_" 131))]))]) (SimpleRhs (166,21) (Constructor (QualIdent (Just "Prelude") (Ident "True" 0))) [])),(Equation (167,1) (FunLhs (Ident "isXText" 0) [(ParenPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XElem" 0)) [(VariablePattern (Ident "_" 134)),(VariablePattern (Ident "_" 135)),(VariablePattern (Ident "_" 136))]))]) (SimpleRhs (167,25) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0))) []))]) ,(TypeSig (170,1) [(Ident "xmlUnquoteSpecials" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (171,1) (Ident "xmlUnquoteSpecials" 0) [(Equation (171,1) (FunLhs (Ident "xmlUnquoteSpecials" 0) [(ListPattern [])]) (SimpleRhs (171,25) (List []) [])),(Equation (172,1) (FunLhs (Ident "xmlUnquoteSpecials" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 140)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 140))))]) (GuardedRhs [(CondExpr (173,3) (InfixApply (Variable (QualIdent Nothing (Ident "c" 140))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '&'))) (Let [(PatternDecl (173,21) (TuplePattern [(VariablePattern (Ident "special" 142)),(VariablePattern (Ident "rest" 142))]) (SimpleRhs (173,38) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "splitAtChar" 0))) (Literal (Char ';'))) (Variable (QualIdent Nothing (Ident "cs" 140)))) []))] (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecial" 0))) (Variable (QualIdent Nothing (Ident "special" 142)))) (Variable (QualIdent Nothing (Ident "rest" 142)))))),(CondExpr (175,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 140))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 140))))))] []))]) ,(FunctionDecl (177,1) (Ident "xmlUnquoteSpecial" 0) [(Equation (177,1) (FunLhs (Ident "xmlUnquoteSpecial" 0) [(VariablePattern (Ident "special" 144)),(VariablePattern (Ident "cs" 144))]) (GuardedRhs [(CondExpr (178,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "lt"))) (InfixApply (Literal (Char '<')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (179,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "gt"))) (InfixApply (Literal (Char '>')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (180,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "amp"))) (InfixApply (Literal (Char '&')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (181,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "quot"))) (InfixApply (Literal (Char '"')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (182,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "apos"))) (InfixApply (Literal (Char '\'')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (183,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "auml"))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Literal (Int (Ident "_" 146) 228))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (184,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "ouml"))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Literal (Int (Ident "_" 147) 246))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (185,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "uuml"))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Literal (Int (Ident "_" 148) 252))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (186,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Auml"))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Literal (Int (Ident "_" 149) 196))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (187,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Ouml"))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Literal (Int (Ident "_" 150) 214))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (188,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "Uuml"))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Literal (Int (Ident "_" 151) 220))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (189,3) (InfixApply (Variable (QualIdent Nothing (Ident "special" 144))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "szlig"))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Literal (Int (Ident "_" 152) 223))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144)))))),(CondExpr (190,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Apply (Variable (QualIdent (Just "XML") (Ident "unquoteUnicode" 0))) (Variable (QualIdent Nothing (Ident "special" 144)))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "cs" 144))))))] []))]) ,(TypeSig (192,1) [(Ident "unquoteUnicode" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (193,1) (Ident "unquoteUnicode" 0) [(Equation (193,1) (FunLhs (Ident "unquoteUnicode" 0) [(ListPattern [])]) (SimpleRhs (193,21) (List []) [])),(Equation (194,1) (FunLhs (Ident "unquoteUnicode" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 155)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 155))))]) (GuardedRhs [(CondExpr (195,3) (InfixApply (Variable (QualIdent Nothing (Ident "c" 155))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '#'))) (Case (Variable (QualIdent Nothing (Ident "cs" 155))) [(Alt (196,20) (InfixPattern (LiteralPattern (Char 'x')) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs'" 157))) (SimpleRhs (196,31) (List [(Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Paren (Apply (Variable (QualIdent (Just "Read") (Ident "readHex" 0))) (Variable (QualIdent Nothing (Ident "cs'" 157))))))]) [])),(Alt (197,20) (VariablePattern (Ident "_" 160)) (SimpleRhs (197,31) (List [(Apply (Variable (QualIdent (Just "Prelude") (Ident "chr" 0))) (Paren (Apply (Variable (QualIdent (Just "Read") (Ident "readInt" 0))) (Variable (QualIdent Nothing (Ident "cs" 155))))))]) []))])),(CondExpr (198,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (InfixApply (Literal (Char '&')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (InfixApply (Paren (InfixApply (Variable (QualIdent Nothing (Ident "c" 155))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 155))))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String ";")))))] []))]) ,(TypeSig (206,1) [(Ident "readXmlFile" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])]))) ,(FunctionDecl (207,1) (Ident "readXmlFile" 0) [(Equation (207,1) (FunLhs (Ident "readXmlFile" 0) [(VariablePattern (Ident "file" 162))]) (SimpleRhs (208,2) (Do [(StmtBind (VariablePattern (Ident "xmlstring" 164)) (Apply (Variable (QualIdent (Just "Prelude") (Ident "readFile" 0))) (Variable (QualIdent Nothing (Ident "file" 162))))),(StmtDecl [(PatternDecl (209,9) (VariablePattern (Ident "xexps" 165)) (SimpleRhs (209,17) (Apply (Variable (QualIdent (Just "XML") (Ident "parseXmlString" 0))) (Variable (QualIdent Nothing (Ident "xmlstring" 164)))) []))])] (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "xexps" 165))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (List [])) (Apply (Variable (QualIdent (Just "Prelude") (Ident "error" 0))) (Paren (InfixApply (Literal (String "File ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "file" 162))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String " contains no XML document!")))))) (IfThenElse (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (Variable (QualIdent Nothing (Ident "xexps" 165)))) (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (List [])) (Apply (Variable (QualIdent (Just "Prelude") (Ident "error" 0))) (Paren (InfixApply (Literal (String "File ")) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (InfixApply (Variable (QualIdent Nothing (Ident "file" 162))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (Literal (String " contains more than one XML document!")))))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "xexps" 165))))))))) []))]) ,(TypeSig (219,1) [(Ident "readUnsafeXmlFile" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(ConstructorType (QualIdent Nothing (Ident "Maybe" 0)) [(ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])])]))) ,(FunctionDecl (220,1) (Ident "readUnsafeXmlFile" 0) [(Equation (220,1) (FunLhs (Ident "readUnsafeXmlFile" 0) [(VariablePattern (Ident "file" 167))]) (SimpleRhs (221,3) (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "catchFail" 0))) (Paren (InfixApply (Apply (Variable (QualIdent (Just "XML") (Ident "readXmlFile" 0))) (Variable (QualIdent Nothing (Ident "file" 167)))) (InfixOp (QualIdent (Just "Prelude") (Ident ">>=" 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Constructor (QualIdent (Just "Prelude") (Ident "Just" 0))))))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "Nothing" 0)))))) []))]) ,(TypeSig (224,1) [(Ident "showXmlFile" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(TupleType [])]))) ,(FunctionDecl (225,1) (Ident "showXmlFile" 0) [(Equation (225,1) (FunLhs (Ident "showXmlFile" 0) [(VariablePattern (Ident "file" 169))]) (SimpleRhs (225,20) (InfixApply (Apply (Variable (QualIdent (Just "XML") (Ident "readXmlFile" 0))) (Variable (QualIdent Nothing (Ident "file" 169)))) (InfixOp (QualIdent (Just "Prelude") (Ident ">>=" 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "putStr" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "XML") (Ident "showXmlDoc" 0))))) []))]) ,(TypeSig (229,1) [(Ident "readFileWithXmlDocs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ConstructorType (QualIdent Nothing (Ident "IO" 0)) [(ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []))]))) ,(FunctionDecl (230,1) (Ident "readFileWithXmlDocs" 0) [(Equation (230,1) (FunLhs (Ident "readFileWithXmlDocs" 0) [(VariablePattern (Ident "file" 171))]) (SimpleRhs (230,28) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "readFile" 0))) (Variable (QualIdent Nothing (Ident "file" 171)))) (InfixOp (QualIdent (Just "Prelude") (Ident ">>=" 0))) (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "return" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "XML") (Ident "parseXmlString" 0))))) []))]) ,(TypeSig (236,1) [(Ident "parseXmlString" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])))) ,(FunctionDecl (237,1) (Ident "parseXmlString" 0) [(Equation (237,1) (FunLhs (Ident "parseXmlString" 0) [(VariablePattern (Ident "s" 173))]) (SimpleRhs (237,20) (Apply (Variable (QualIdent (Just "Prelude") (Ident "fst" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "parseXmlTokens" 0))) (Paren (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlString" 0))) (Variable (QualIdent Nothing (Ident "s" 173)))))) (Constructor (QualIdent (Just "Prelude") (Ident "Nothing" 0)))))) []))]) ,(TypeSig (241,1) [(Ident "parseXmlTokens" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])) (ArrowType (ConstructorType (QualIdent Nothing (Ident "Maybe" 0)) [(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])]) (TupleType [(ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])),(ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) []))])))) ,(FunctionDecl (242,1) (Ident "parseXmlTokens" 0) [(Equation (242,1) (FunLhs (Ident "parseXmlTokens" 0) [(ListPattern []),(ConstructorPattern (QualIdent (Just "Prelude") (Ident "Nothing" 0)) [])]) (SimpleRhs (242,29) (Tuple [(List []),(List [])]) [])),(Equation (243,1) (FunLhs (Ident "parseXmlTokens" 0) [(ParenPattern (InfixPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XText" 0)) [(VariablePattern (Ident "s" 177))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xtokens" 177)))),(VariablePattern (Ident "stop" 177))]) (SimpleRhs (244,3) (Let [(PatternDecl (244,7) (TuplePattern [(VariablePattern (Ident "xexps" 179)),(VariablePattern (Ident "rem_xtokens" 179))]) (SimpleRhs (244,30) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "parseXmlTokens" 0))) (Variable (QualIdent Nothing (Ident "xtokens" 177)))) (Variable (QualIdent Nothing (Ident "stop" 177)))) []))] (Tuple [(InfixApply (Apply (Constructor (QualIdent (Just "XML") (Ident "XText" 0))) (Paren (Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "s" 177)))))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "xexps" 179)))),(Variable (QualIdent Nothing (Ident "rem_xtokens" 179)))])) [])),(Equation (246,1) (FunLhs (Ident "parseXmlTokens" 0) [(ParenPattern (InfixPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XElem" 0)) [(ParenPattern (InfixPattern (VariablePattern (Ident "t" 181)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "ts" 181)))),(VariablePattern (Ident "args" 181)),(VariablePattern (Ident "cont" 181))]) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "xtokens" 181)))),(VariablePattern (Ident "stop" 181))]) (GuardedRhs [(CondExpr (247,2) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "t" 181))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '<'))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "ts" 181)))) (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Literal (Char '/')))) (Let [(PatternDecl (248,10) (TuplePattern [(VariablePattern (Ident "xexps1" 183)),(VariablePattern (Ident "xtokens1" 183))]) (SimpleRhs (248,31) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "parseXmlTokens" 0))) (Variable (QualIdent Nothing (Ident "xtokens" 181)))) (Paren (Apply (Constructor (QualIdent (Just "Prelude") (Ident "Just" 0))) (Variable (QualIdent Nothing (Ident "ts" 181)))))) [])),(PatternDecl (249,10) (TuplePattern [(VariablePattern (Ident "xexps" 183)),(VariablePattern (Ident "rem_xtokens" 183))]) (SimpleRhs (249,33) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "parseXmlTokens" 0))) (Variable (QualIdent Nothing (Ident "xtokens1" 183)))) (Variable (QualIdent Nothing (Ident "stop" 181)))) []))] (Tuple [(InfixApply (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Variable (QualIdent Nothing (Ident "ts" 181)))) (Variable (QualIdent Nothing (Ident "args" 181)))) (Variable (QualIdent Nothing (Ident "xexps1" 183)))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "xexps" 183)))),(Variable (QualIdent Nothing (Ident "rem_xtokens" 183)))]))),(CondExpr (251,2) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "t" 181))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '<'))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "ts" 181)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '/')))) (IfThenElse (Apply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "maybe" 0))) (Constructor (QualIdent (Just "Prelude") (Ident "False" 0)))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (Variable (QualIdent Nothing (Ident "ts" 181))))))) (Variable (QualIdent Nothing (Ident "stop" 181)))) (Tuple [(List []),(Variable (QualIdent Nothing (Ident "xtokens" 181)))]) (Let [(PatternDecl (254,15) (TuplePattern [(VariablePattern (Ident "xexps" 186)),(VariablePattern (Ident "rem_xtokens" 186))]) (SimpleRhs (254,38) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "parseXmlTokens" 0))) (Variable (QualIdent Nothing (Ident "xtokens" 181)))) (Variable (QualIdent Nothing (Ident "stop" 181)))) []))] (Tuple [(InfixApply (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Variable (QualIdent Nothing (Ident "ts" 181)))) (Variable (QualIdent Nothing (Ident "args" 181)))) (Variable (QualIdent Nothing (Ident "cont" 181)))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "xexps" 186)))),(Variable (QualIdent Nothing (Ident "rem_xtokens" 186)))])))),(CondExpr (256,2) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Let [(PatternDecl (256,20) (TuplePattern [(VariablePattern (Ident "xexps" 188)),(VariablePattern (Ident "rem_xtokens" 188))]) (SimpleRhs (256,43) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "parseXmlTokens" 0))) (Variable (QualIdent Nothing (Ident "xtokens" 181)))) (Variable (QualIdent Nothing (Ident "stop" 181)))) []))] (Tuple [(InfixApply (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "t" 181))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "ts" 181)))))) (Variable (QualIdent Nothing (Ident "args" 181)))) (Variable (QualIdent Nothing (Ident "cont" 181)))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "xexps" 188)))),(Variable (QualIdent Nothing (Ident "rem_xtokens" 188)))])))] []))]) ,(TypeSig (264,1) [(Ident "scanXmlString" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])))) ,(FunctionDecl (265,1) (Ident "scanXmlString" 0) [(Equation (265,1) (FunLhs (Ident "scanXmlString" 0) [(VariablePattern (Ident "s" 190))]) (SimpleRhs (265,19) (Apply (Variable (QualIdent Nothing (Ident "scanXml" 191))) (Paren (Apply (Variable (QualIdent (Just "XML") (Ident "dropBlanks" 0))) (Variable (QualIdent Nothing (Ident "s" 190)))))) [(FunctionDecl (267,3) (Ident "scanXml" 191) [(Equation (267,3) (FunLhs (Ident "scanXml" 191) [(ListPattern [])]) (SimpleRhs (267,20) (List []) [])),(Equation (268,3) (FunLhs (Ident "scanXml" 191) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 194)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 194))))]) (SimpleRhs (268,20) (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "c" 194))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '<'))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlElem" 0))) (Variable (QualIdent Nothing (Ident "cs" 194)))) (Let [(PatternDecl (270,29) (TuplePattern [(VariablePattern (Ident "initxt" 196)),(VariablePattern (Ident "remtag" 196))]) (SimpleRhs (270,47) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlText" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "c" 194))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 194)))))) []))] (InfixApply (Apply (Constructor (QualIdent (Just "XML") (Ident "XText" 0))) (Variable (QualIdent Nothing (Ident "initxt" 196)))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent Nothing (Ident "scanXml" 191))) (Variable (QualIdent Nothing (Ident "remtag" 196))))))) []))])]))]) ,(TypeSig (274,1) [(Ident "scanXmlText" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (TupleType [(ConstructorType (QualIdent Nothing (Ident "String" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])]))) ,(FunctionDecl (279,1) (Ident "scanXmlText" 0) [(Equation (279,1) (FunLhs (Ident "scanXmlText" 0) [(ListPattern [])]) (SimpleRhs (279,18) (Tuple [(List []),(List [])]) [])),(Equation (280,1) (FunLhs (Ident "scanXmlText" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 200)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 200))))]) (GuardedRhs [(CondExpr (280,20) (InfixApply (Variable (QualIdent Nothing (Ident "c" 200))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '<'))) (Tuple [(List []),(InfixApply (Variable (QualIdent Nothing (Ident "c" 200))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 200))))])),(CondExpr (281,20) (Apply (Variable (QualIdent (Just "Char") (Ident "isSpace" 0))) (Variable (QualIdent Nothing (Ident "c" 200)))) (Let [(PatternDecl (281,38) (TuplePattern [(VariablePattern (Ident "txt" 202)),(VariablePattern (Ident "rem" 202))]) (SimpleRhs (281,50) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlText" 0))) (Paren (Apply (Variable (QualIdent (Just "XML") (Ident "dropBlanks" 0))) (Variable (QualIdent Nothing (Ident "cs" 200)))))) []))] (Tuple [(IfThenElse (Apply (Variable (QualIdent (Just "Prelude") (Ident "null" 0))) (Variable (QualIdent Nothing (Ident "txt" 202)))) (Variable (QualIdent Nothing (Ident "txt" 202))) (InfixApply (Literal (Char ' ')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "txt" 202))))),(Variable (QualIdent Nothing (Ident "rem" 202)))]))),(CondExpr (283,20) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Let [(PatternDecl (283,38) (TuplePattern [(VariablePattern (Ident "txt" 204)),(VariablePattern (Ident "rem" 204))]) (SimpleRhs (283,50) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlText" 0))) (Variable (QualIdent Nothing (Ident "cs" 200)))) []))] (Tuple [(InfixApply (Variable (QualIdent Nothing (Ident "c" 200))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "txt" 204)))),(Variable (QualIdent Nothing (Ident "rem" 204)))])))] []))]) ,(TypeSig (287,1) [(Ident "scanXmlElem" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])))) ,(FunctionDecl (288,1) (Ident "scanXmlElem" 0) [(Equation (288,1) (FunLhs (Ident "scanXmlElem" 0) [(ListPattern [])]) (SimpleRhs (288,18) (List []) [])),(Equation (289,1) (FunLhs (Ident "scanXmlElem" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 208)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 208))))]) (GuardedRhs [(CondExpr (290,2) (InfixApply (Variable (QualIdent Nothing (Ident "c" 208))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '!'))) (IfThenElse (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "take" 0))) (Literal (Int (Ident "_" 210) 2))) (Variable (QualIdent Nothing (Ident "cs" 208)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "--"))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlComment" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "drop" 0))) (Literal (Int (Ident "_" 211) 2))) (Variable (QualIdent Nothing (Ident "cs" 208)))))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlCData" 0))) (Variable (QualIdent Nothing (Ident "cs" 208)))))),(CondExpr (293,2) (InfixApply (Variable (QualIdent Nothing (Ident "c" 208))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '?'))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlProcInstr" 0))) (Variable (QualIdent Nothing (Ident "cs" 208))))),(CondExpr (294,2) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlElemName" 0))) (List [(Variable (QualIdent Nothing (Ident "c" 208)))])) (Variable (QualIdent Nothing (Ident "cs" 208)))))] []))]) ,(FunctionDecl (296,1) (Ident "scanXmlElemName" 0) [(Equation (296,1) (FunLhs (Ident "scanXmlElemName" 0) [(VariablePattern (Ident "ct" 212)),(ListPattern [])]) (SimpleRhs (296,25) (List [(Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Paren (InfixApply (Literal (Char '<')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "ct" 212)))))) (List [])) (List []))]) [])),(Equation (297,1) (FunLhs (Ident "scanXmlElemName" 0) [(VariablePattern (Ident "ct" 214)),(ParenPattern (InfixPattern (VariablePattern (Ident "c" 214)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 214))))]) (GuardedRhs [(CondExpr (298,3) (InfixApply (Variable (QualIdent Nothing (Ident "c" 214))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '>'))) (InfixApply (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Paren (InfixApply (Literal (Char '<')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "ct" 214)))))) (List [])) (List [])) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlString" 0))) (Variable (QualIdent Nothing (Ident "cs" 214)))))),(CondExpr (299,3) (Apply (Variable (QualIdent (Just "Char") (Ident "isSpace" 0))) (Variable (QualIdent Nothing (Ident "c" 214)))) (Let [(PatternDecl (299,21) (TuplePattern [(VariablePattern (Ident "attrs" 216)),(VariablePattern (Ident "rest" 216))]) (SimpleRhs (299,36) (Apply (Variable (QualIdent (Just "XML") (Ident "parseAttrs" 0))) (Paren (Apply (Variable (QualIdent (Just "XML") (Ident "dropBlanks" 0))) (Variable (QualIdent Nothing (Ident "cs" 214)))))) []))] (IfThenElse (InfixApply (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "rest" 216))))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '/'))) (InfixApply (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Variable (QualIdent Nothing (Ident "ct" 214)))) (Variable (QualIdent Nothing (Ident "attrs" 216)))) (List [])) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlString" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "drop" 0))) (Literal (Int (Ident "_" 218) 2))) (Variable (QualIdent Nothing (Ident "rest" 216))))))) (InfixApply (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Paren (InfixApply (Literal (Char '<')) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "ct" 214)))))) (Variable (QualIdent Nothing (Ident "attrs" 216)))) (List [])) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlString" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (Variable (QualIdent Nothing (Ident "rest" 216)))))))))),(CondExpr (303,3) (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "c" 214))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '/'))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "cs" 214)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '>')))) (InfixApply (Apply (Apply (Apply (Constructor (QualIdent (Just "XML") (Ident "XElem" 0))) (Variable (QualIdent Nothing (Ident "ct" 214)))) (List [])) (List [])) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlString" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (Variable (QualIdent Nothing (Ident "cs" 214)))))))),(CondExpr (304,3) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlElemName" 0))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "ct" 214))) (InfixOp (QualIdent (Just "Prelude") (Ident "++" 0))) (List [(Variable (QualIdent Nothing (Ident "c" 214)))])))) (Variable (QualIdent Nothing (Ident "cs" 214)))))] []))]) ,(TypeSig (307,1) [(Ident "scanXmlComment" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])))) ,(FunctionDecl (308,1) (Ident "scanXmlComment" 0) [(Equation (308,1) (FunLhs (Ident "scanXmlComment" 0) [(ListPattern [])]) (SimpleRhs (308,21) (List []) [])),(Equation (309,1) (FunLhs (Ident "scanXmlComment" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 221)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 221))))]) (SimpleRhs (310,3) (IfThenElse (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "c" 221))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '-'))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "take" 0))) (Literal (Int (Ident "_" 223) 2))) (Variable (QualIdent Nothing (Ident "cs" 221)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (String "->")))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlString" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "drop" 0))) (Literal (Int (Ident "_" 224) 2))) (Variable (QualIdent Nothing (Ident "cs" 221)))))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlComment" 0))) (Variable (QualIdent Nothing (Ident "cs" 221))))) []))]) ,(TypeSig (315,1) [(Ident "scanXmlCData" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])))) ,(FunctionDecl (316,1) (Ident "scanXmlCData" 0) [(Equation (316,1) (FunLhs (Ident "scanXmlCData" 0) [(VariablePattern (Ident "cs" 225))]) (SimpleRhs (317,3) (Let [(PatternDecl (317,7) (VariablePattern (Ident "rest" 227)) (SimpleRhs (317,14) (Apply (Variable (QualIdent (Just "XML") (Ident "dropCData" 0))) (Variable (QualIdent Nothing (Ident "cs" 225)))) []))] (IfThenElse (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "rest" 227)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '>'))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlString" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (Variable (QualIdent Nothing (Ident "rest" 227)))))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlCData" 0))) (Variable (QualIdent Nothing (Ident "rest" 227)))))) []))]) ,(FunctionDecl (321,1) (Ident "dropCData" 0) [(Equation (321,1) (FunLhs (Ident "dropCData" 0) [(ListPattern [])]) (SimpleRhs (321,16) (List []) [])),(Equation (322,1) (FunLhs (Ident "dropCData" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 231)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 231))))]) (GuardedRhs [(CondExpr (323,2) (InfixApply (Variable (QualIdent Nothing (Ident "c" 231))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '['))) (Apply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "dropWhile" 0))) (RightSection (InfixOp (QualIdent (Just "Prelude") (Ident "/=" 0))) (Literal (Char ']')))) (Variable (QualIdent Nothing (Ident "cs" 231))))))),(CondExpr (324,2) (InfixApply (Variable (QualIdent Nothing (Ident "c" 231))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '>'))) (InfixApply (Variable (QualIdent Nothing (Ident "c" 231))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 231))))),(CondExpr (325,2) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Apply (Variable (QualIdent (Just "XML") (Ident "dropCData" 0))) (Variable (QualIdent Nothing (Ident "cs" 231)))))] []))]) ,(TypeSig (328,1) [(Ident "scanXmlProcInstr" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])))) ,(FunctionDecl (329,1) (Ident "scanXmlProcInstr" 0) [(Equation (329,1) (FunLhs (Ident "scanXmlProcInstr" 0) [(ListPattern [])]) (SimpleRhs (329,23) (List []) [])),(Equation (330,1) (FunLhs (Ident "scanXmlProcInstr" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 235)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 235))))]) (SimpleRhs (331,3) (IfThenElse (InfixApply (InfixApply (Variable (QualIdent Nothing (Ident "c" 235))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '?'))) (InfixOp (QualIdent (Just "Prelude") (Ident "&&" 0))) (InfixApply (Apply (Variable (QualIdent (Just "Prelude") (Ident "head" 0))) (Variable (QualIdent Nothing (Ident "cs" 235)))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Literal (Char '>')))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlString" 0))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (Variable (QualIdent Nothing (Ident "cs" 235)))))) (Apply (Variable (QualIdent (Just "XML") (Ident "scanXmlProcInstr" 0))) (Variable (QualIdent Nothing (Ident "cs" 235))))) []))]) ,(TypeSig (336,1) [(Ident "parseAttrs" 0)] (ArrowType (ConstructorType (QualIdent Nothing (Ident "String" 0)) []) (TupleType [(ListType (TupleType [(ConstructorType (QualIdent Nothing (Ident "String" 0)) []),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])])),(ConstructorType (QualIdent Nothing (Ident "String" 0)) [])]))) ,(FunctionDecl (337,1) (Ident "parseAttrs" 0) [(Equation (337,1) (FunLhs (Ident "parseAttrs" 0) [(ListPattern [])]) (SimpleRhs (337,17) (Tuple [(List []),(List [])]) [])),(Equation (338,1) (FunLhs (Ident "parseAttrs" 0) [(ParenPattern (InfixPattern (VariablePattern (Ident "c" 239)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 239))))]) (GuardedRhs [(CondExpr (339,2) (Apply (Variable (QualIdent (Just "Char") (Ident "isAlpha" 0))) (Variable (QualIdent Nothing (Ident "c" 239)))) (Let [(PatternDecl (339,20) (TuplePattern [(VariablePattern (Ident "name" 241)),(VariablePattern (Ident "rest1" 241))]) (SimpleRhs (339,36) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "splitAtChar" 0))) (Literal (Char '='))) (Paren (InfixApply (Variable (QualIdent Nothing (Ident "c" 239))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 239)))))) [])),(PatternDecl (340,20) (TuplePattern [(VariablePattern (Ident "value" 241)),(VariablePattern (Ident "rest2" 241))]) (SimpleRhs (340,36) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "splitAtChar" 0))) (Literal (Char '"'))) (Paren (Apply (Variable (QualIdent (Just "Prelude") (Ident "tail" 0))) (Variable (QualIdent Nothing (Ident "rest1" 241)))))) [])),(PatternDecl (341,20) (TuplePattern [(VariablePattern (Ident "rem_attrs" 241)),(VariablePattern (Ident "rem_inp" 241))]) (SimpleRhs (341,42) (Apply (Variable (QualIdent (Just "XML") (Ident "parseAttrs" 0))) (Paren (Apply (Variable (QualIdent (Just "XML") (Ident "dropBlanks" 0))) (Variable (QualIdent Nothing (Ident "rest2" 241)))))) []))] (Tuple [(InfixApply (Tuple [(Variable (QualIdent Nothing (Ident "name" 241))),(Apply (Variable (QualIdent (Just "XML") (Ident "xmlUnquoteSpecials" 0))) (Variable (QualIdent Nothing (Ident "value" 241))))]) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "rem_attrs" 241)))),(Variable (QualIdent Nothing (Ident "rem_inp" 241)))]))),(CondExpr (343,2) (Variable (QualIdent (Just "Prelude") (Ident "otherwise" 0))) (Tuple [(List []),(InfixApply (Variable (QualIdent Nothing (Ident "c" 239))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "cs" 239))))]))] []))]) ,(FunctionDecl (346,1) (Ident "dropBlanks" 0) [(Equation (346,1) (FunLhs (Ident "dropBlanks" 0) []) (SimpleRhs (346,14) (Apply (Variable (QualIdent (Just "Prelude") (Ident "dropWhile" 0))) (Variable (QualIdent (Just "Char") (Ident "isSpace" 0)))) []))]) ,(FunctionDecl (349,1) (Ident "splitAtChar" 0) [(Equation (349,1) (FunLhs (Ident "splitAtChar" 0) [(VariablePattern (Ident "_" 248)),(ListPattern [])]) (SimpleRhs (349,20) (Tuple [(List []),(List [])]) [])),(Equation (350,1) (FunLhs (Ident "splitAtChar" 0) [(VariablePattern (Ident "char" 250)),(ParenPattern (InfixPattern (VariablePattern (Ident "c" 250)) (QualIdent Nothing (Ident ":" 0)) (VariablePattern (Ident "cs" 250))))]) (SimpleRhs (351,2) (IfThenElse (InfixApply (Variable (QualIdent Nothing (Ident "c" 250))) (InfixOp (QualIdent (Just "Prelude") (Ident "==" 0))) (Variable (QualIdent Nothing (Ident "char" 250)))) (Tuple [(List []),(Variable (QualIdent Nothing (Ident "cs" 250)))]) (Let [(PatternDecl (352,22) (TuplePattern [(VariablePattern (Ident "first" 252)),(VariablePattern (Ident "rest" 252))]) (SimpleRhs (352,37) (Apply (Apply (Variable (QualIdent (Just "XML") (Ident "splitAtChar" 0))) (Variable (QualIdent Nothing (Ident "char" 250)))) (Variable (QualIdent Nothing (Ident "cs" 250)))) []))] (Tuple [(InfixApply (Variable (QualIdent Nothing (Ident "c" 250))) (InfixConstr (QualIdent Nothing (Ident ":" 0))) (Variable (QualIdent Nothing (Ident "first" 252)))),(Variable (QualIdent Nothing (Ident "rest" 252)))]))) []))]) ,(TypeSig (361,1) [(Ident "textOfXml" 0)] (ArrowType (ListType (ConstructorType (QualIdent Nothing (Ident "XmlExp" 0)) [])) (ConstructorType (QualIdent Nothing (Ident "String" 0)) []))) ,(FunctionDecl (362,1) (Ident "textOfXml" 0) [(Equation (362,1) (FunLhs (Ident "textOfXml" 0) [(VariablePattern (Ident "xexps" 254))]) (SimpleRhs (363,4) (Apply (Variable (QualIdent (Just "Prelude") (Ident "concat" 0))) (Paren (Apply (Apply (Variable (QualIdent (Just "List") (Ident "intersperse" 0))) (Literal (String " "))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "filter" 0))) (Paren (InfixApply (Variable (QualIdent (Just "Prelude") (Ident "not" 0))) (InfixOp (QualIdent (Just "Prelude") (Ident "." 0))) (Variable (QualIdent (Just "Prelude") (Ident "null" 0)))))) (Paren (Apply (Apply (Variable (QualIdent (Just "Prelude") (Ident "map" 0))) (Variable (QualIdent Nothing (Ident "textOfXmlItem" 255)))) (Variable (QualIdent Nothing (Ident "xexps" 254)))))))))) [(FunctionDecl (365,4) (Ident "textOfXmlItem" 255) [(Equation (365,4) (FunLhs (Ident "textOfXmlItem" 255) [(ParenPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XText" 0)) [(VariablePattern (Ident "s" 256))]))]) (SimpleRhs (365,30) (Variable (QualIdent Nothing (Ident "s" 256))) [])),(Equation (366,4) (FunLhs (Ident "textOfXmlItem" 255) [(ParenPattern (ConstructorPattern (QualIdent (Just "XML") (Ident "XElem" 0)) [(VariablePattern (Ident "_" 259)),(VariablePattern (Ident "_" 260)),(VariablePattern (Ident "xs" 258))]))]) (SimpleRhs (366,35) (Apply (Variable (QualIdent (Just "XML") (Ident "textOfXml" 0))) (Variable (QualIdent Nothing (Ident "xs" 258)))) []))])]))]) ]