*a      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                 ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` abcdefghicontext  encoding jklmnoparser &use foreign DTD? (external entity ref & handler will be called with publicID &  systemID set to null pqrstuvwxyz{|}~@Set a skipped entity handler. This is called in two situations: K An entity reference is encountered for which no declaration has been read  and this is not an error. A An internal entity reference is read, but not expanded, because  XML_SetDefaultHandler has been called. The type of the "external entity reference" callback. See the expat  documentation. The type of the "comment"/ callback. The parameter is the comment text. M Return True to continue parsing as normal, or False to terminate the parse. The type of the "processing instruction" callback. The first parameter K is the first word in the processing instruction. The second parameter is M the rest of the characters in the processing instruction after skipping all O whitespace after the initial word. Return True to continue parsing as normal, " or False to terminate the parse. The type of the " end cdata"% callback. Return True to continue 5 parsing as normal, or False to terminate the parse. The type of the " start cdata"% callback. Return True to continue 5 parsing as normal, or False to terminate the parse. The type of the "character data"! callback. The parameter is the M character data processed. This callback may be called more than once while G processing a single conceptual block of text. Return True to continue 5 parsing as normal, or False to terminate the parse. The type of the " element ended") callback. The parameter is the element L name. Return True to continue parsing as normal, or False to terminate the  parse. The type of the "element started"' callback. The first parameter is the K element name; the second are the (attribute, value) pairs. Return True to > continue parsing as normal, or False to terminate the parse. The type of the "XML declaration"$ callback. Parameters are version, L encoding (which can be nullPtr), and standalone declaration, where -1 = no  declaration, 0 = no and 1 = yes%. Return True to continue parsing as * normal, or False to terminate the parse. 7Specifies a location of an event within the input text Line number of the event Column number of the event +Byte index of event from start of document !The number of bytes in the event ;Parse error, consisting of message text and error location 4Encoding types available for the document encoding. Opaque parser type.  Create a .  parse data feeds lazy ByteString data into a  . It returns . Nothing on success, or Just the parse error.  parse data feeds strict ByteString data into a  . It returns . Nothing on success, or Just the parse error. context  encoding text !parseChunk data False feeds strict ByteString data into a  /. The end of the data is indicated by passing True for the L final parameter. It returns Nothing on success, or Just the parse error. "GMost of the low-level functions take a ParserPtr so are required to be  called inside  withParser. GComputation where parseChunk and other low-level functions may be used Obtain C value from Haskell . #$,Attach a XMLDeclarationHandler to a Parser. %*Attach a StartElementHandler to a Parser. &)Attach an EndElementHandler to a Parser. ',Attach an CharacterDataHandler to a Parser. ((Attach a StartCDataHandler to a Parser. )&Attach a EndCDataHandler to a Parser. *3Attach a ProcessingInstructionHandler to a Parser. +%Attach a CommentHandler to a Parser. ,-.  !"#$%&'()*+,-."!#  $%&'()*+,- .    !"#$%&'()*+,- .  !"#$%&'()*+,-(.8An exception indicating an XML parse error, used by the  ..Throwing variants. /0123456789:IAn abstraction for any string type you want to use as xml text (that is, A attribute values or element text content). If you want to use a  new string type with hexpat", you must make it an instance of  :. ;<=>?@ABCDEFG;The encoding parameter, if provided, overrides the document's  encoding declaration. H%If provided, entity references (i.e. &nbsp; and friends) will 9 be decoded into text using the supplied lookup function IJ,DEPRECATED. Renamed to defaultParseOptions. K Converts a  to a : type. LGA helper for configuring the hexpat parser to use the specified entity  decoder. Entity decoder 0Code to insert character data into the document MJLazily parse XML to SAX events. In the event of an error, FailDocument is & the last element of the output list. Parse options Input text (a lazy ByteString) NDEPRECATED: Use M instead. JLazily parse XML to SAX events. In the event of an error, FailDocument is B the last element of the output list. Deprecated in favour of new  M Optional encoding override Input text (a lazy ByteString) OJA variant of parseSAX that gives a document location with each SAX event. Parse options Input text (a lazy ByteString) PDEPRECATED: Use O instead. JA variant of parseSAX that gives a document location with each SAX event. Optional encoding override Input text (a lazy ByteString) Q@Lazily parse XML to SAX events. In the event of an error, throw  /..  parseThrowingA can throw an exception from pure code, which is generally a bad & way to handle errors, because Haskell's lazy evaluation means it' s hard to I predict where it will be thrown from. However, it may be acceptable in  situations where it'9s not expected during normal operation, depending on the  design of your program. Parse options input text (a lazy ByteString) RDEPRECATED: Use Q instead. @Lazily parse XML to SAX events. In the event of an error, throw  /.. Optional encoding override Input text (a lazy ByteString) SJA variant of parseSAX that gives a document location with each SAX event. ! In the event of an error, throw /.. parseLocationsThrowingA can throw an exception from pure code, which is generally a bad & way to handle errors, because Haskell's lazy evaluation means it' s hard to I predict where it will be thrown from. However, it may be acceptable in  situations where it'9s not expected during normal operation, depending on the  design of your program. Optional encoding override Input text (a lazy ByteString) TDEPRECATED: Used S instead. JA variant of parseSAX that gives a document location with each SAX event. ! In the event of an error, throw /.. Optional encoding override Input text (a lazy ByteString) 4 ./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST4 EFGH0987654321KMOSQI./L:;<=>?@ABCNPTRDJ'.//0 987654321123456789: ;<=>?@ABC;<=>?@ABCDEFGHFGHIJKLMNOPQRST'UGA class of node types where an Element can be constructed given a tag,  attributes and children. VGeneric element constructor. WXIs the given node an element? YIs the given node text? ZIs the given node CData? [,Is the given node a processing instruction? \Is the given node a comment? ]KExtract all text content from inside a tag into a single string, including ' any text contained in children. This excludes the contents of comments or  processing instructions-. To get the text for these node types, use d. ^-Is the given node a tag with the given name? _Get the name of this node if it'-s an element, return empty string otherwise. `BIs the given node a Processing Instruction with the given target? a!Get the target of this node if it';s a Processing Instruction, return empty string otherwise. b"Get the attributes of a node if it'+s an element, return empty list otherwise. cGet children of a node if it'+s an element, return empty list otherwise. d Get this node' s text if it'3s a text node, comment, or processing instruction,  return empty text otherwise. eModify name if it's an element, no-op otherwise. fModify attributes if it's an element, no-op otherwise. g'Modify children (non-recursively) if it's an element, no-op otherwise. hEMap an element non-recursively, allowing the tag type to be changed. i?Map all tags (both tag names and attribute names) recursively. jEChange a node recursively from one container type to another, with a 3 specified function to convert the container type. kGeneric text node constructor. lKA type function to give the type of a list of nodes, using the appropriate - list type for the specified node type, e.g. ListOf (UNode Text) mBType shortcut for attributes with unqualified names where tag and  text are the same string type. nType shortcut for attributes oKExtract all text content from inside a tag into a single string, including ' any text contained in children. This excludes the contents of comments or  processing instructions-. To get the text for these node types, use d. pQDEPRECATED. Map an element non-recursively, allowing the tag type to be changed. qLChange a list of nodes recursively from one container type to another, with 5 a specified function to convert the container type. rDChange a node recursively from one container type to another. This L extracts the entire tree contents to standard lists and re-constructs them > with the new container type. For monadic list types used in  hexpat-iteratee$ this operation forces evaluation. sMChange a list of nodes recursively from one container type to another. This L extracts the entire tree contents to standard lists and re-constructs them > with the new container type. For monadic list types used in  hexpat-iteratee# this operation forces evaluation. t:Get the value of the attribute having the specified name. uQSet the value of the attribute with the specified name to the value, overwriting 9 the first existing attribute with that name if present. v8Delete the first attribute matching the specified name. wsetAttribute if Just, deleteAttribute if Nothing. xHGenerically convert an element of one node type to another. Useful for ! adding or removing annotations. yBGenerically convert an element of one node type to another, using P the specified element constructor. Useful for adding or removing annotations. Element constructor zOGenerically convert a list of nodes from one node type to another. Useful for ! adding or removing annotations. {IGenerically convert a list of nodes from one node type to another, using P the specified element constructor. Useful for adding or removing annotations. Element constructor 'UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{'nmolWXYZ[\]^_`abcdefghijkpqrsUVtuvwxyz{'UVVWXYZ[\]^_`abcdefghijkXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ |2Type shortcut for attributes with qualified names }A qualified name. JQualified names have two parts, a prefix and a local part. The local part E is the name of the tag. The prefix scopes that name to a particular  group of legal tags. LThe prefix will usually be associated with a namespace URI. This is usually > achieved by using xmlns attributes to bind prefixes to URIs. ~.Make a new QName from a prefix and localPart. !Make a new QName with no prefix. |}~ }~| |}~~ |}~3Type shortcut for attributes with namespaced names A namespace-qualified tag. XNName has two components, a local part and an optional namespace. The local part is the U name of the tag. The namespace is the URI identifying collections of declared tags. \ Tags with the same local part but from different namespaces are distinct. Unqualified tags T are those with no namespace. They are in the default namespace, and all uses of an ! unqualified tag are equivalent. .Make a new NName from a prefix and localPart. !Make a new NName with no prefix.   ?Type alias for a node where namespaced names are used for tags DEPRECATED: Use [NNode text] instead. ?Type alias for nodes where namespaced names are used for tags. >Type alias for a node where qualified names are used for tags DEPRECATED: Use [QNode text] instead. =Type alias for nodes where qualified names are used for tags ?Type alias for a node with unqualified tag names where tag and  text are the same string type. DEPRECATED: Use [UNode text] instead. >Type alias for nodes with unqualified tag names where tag and , text are the same string type. DEPRECATED. DEPRECATED: Use [Node tag text] instead. Type alias for nodes. CA pure tree representation that uses a list as its container type. In the hexpat' package, a list of nodes has the type [Node tag text] , but note 6 that you can also use the more general type function l to give a list of  any node type, using that node's associated list type, e.g.  ListOf (UNode Text). -The tree representation of the XML document. c& is the container type for the element's children, which is [] in the  hexpat& package, and a monadic list type for hexpat-iteratee. tagC is the tag type, which can either be one of several string types,  or a special type from the Text.XML.Expat.Namespaced or  Text.XML.Expat.Qualified modules. text& is the string type for text content. HStrictly parse XML to tree. Returns error message or valid parsed tree. Parse options !Input text (a strict ByteString) DEPRECATED: use  instead. HStrictly parse XML to tree. Returns error message or valid parsed tree. Optional encoding override !Input text (a strict ByteString) PA lower level function that lazily converts a SAX stream into a tree structure. KLazily parse XML to tree. Note that forcing the XMLParseError return value G will force the entire parse. Therefore, to ensure lazy operation, don't ; check the error status until you have processed the tree. Parse options Input text (a lazy ByteString) DEPREACTED: Use  instead. KLazily parse XML to tree. Note that forcing the XMLParseError return value G will force the entire parse. Therefore, to ensure lazy operation, don't ; check the error status until you have processed the tree. Optional encoding override Input text (a lazy ByteString) :Lazily parse XML to tree. In the event of an error, throw /..  parseThrowingA can throw an exception from pure code, which is generally a bad & way to handle errors, because Haskell's lazy evaluation means it' s hard to I predict where it will be thrown from. However, it may be acceptable in  situations where it'9s not expected during normal operation, depending on the  design of your program. Parse options Input text (a lazy ByteString) DEPRECATED: Use  instead. :Lazily parse XML to tree. In the event of an error, throw /.. Optional encoding override Input text (a lazy ByteString) u ./:;<=>?@ABCDEFGHIJNPRTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~:EFGHI ./:;<=>?@ABCNPRTDJQA cursor specific to Text.XML.Expat.Tree.Node trees. KGeneralized cursor: The position of a piece of content in an XML document.  n is the Node type and c+ is the list type, which would usually be [],  except when you're using chunked I/O.  The currently selected content. %Siblings on the left, closest first. &Siblings on the right, closest first. 6The contexts of the parent elements of this location. A path specific to Text.XML.Expat.Tree.Node trees. )Generalized path within an XML document. "The parent of the given location. +The top-most parent of the given location. 7The left sibling of the given location - pure version. FThe left sibling of the given location - used for monadic node types. 8The right sibling of the given location - pure version. GThe right sibling of the given location - used for monadic node types. 6The first child of the given location - pure version. EThe first child of the given location - used for monadic node types. 5The last child of the given location - pure version. DThe last child of the given location - used for monadic node types. 7Find the next left sibling that satisfies a predicate. 7Find the next left sibling that satisfies a predicate. GFind the next right sibling that satisfies a predicate - pure version. VFind the next right sibling that satisfies a predicate - used for monadic node types. ;The first child that satisfies a predicate - pure version. JThe first child that satisfies a predicate - used for monadic node types. JThe next position in a left-to-right depth-first traversal of a document: N either the first child, right sibling, or the right sibling of a parent that  has one. Pure version. JThe next position in a left-to-right depth-first traversal of a document: N either the first child, right sibling, or the right sibling of a parent that ' has one. Used for monadic node types. APerform a depth first search for a descendant that satisfies the  given predicate. Pure version. APerform a depth first search for a descendant that satisfies the / given predicate. Used for monadic node types. BThe child with the given index (starting from 0). - pure version. PThe child with the given index (starting from 0) - used for monadic node types. !private: computes the parent for down operations.  A cursor for the given content. ;The location of the first tree in a forest - pure version. KThe location of the first tree in a forest - used with monadic node types. ,Computes the tree containing this location. .Computes the forest containing this location. #Are we at the top of the document? <Are we at the left end of the the document? (Pure version.) KAre we at the left end of the the document? (Used for monadic node types.) 9Are we at the right end of the document? (Pure version.) HAre we at the right end of the document? (Used for monadic node types.) &Are we at the bottom of the document? Do we have a parent? CGet the node index inside the sequence of children - pure version. RGet the node index inside the sequence of children - used for monadic node types. Do we have children? Change the current content. Modify the current content. +Modify the current content - pure version. :Modify the current content - used for monadic node types. 4Modify the current content, allowing for an effect. 4Insert content to the left of the current position. 5Insert content to the right of the current position. 4Insert content to the left of the current position. 5Insert content to the right of the current position. ;Insert content as the first child of the current position. ;Insert content as the first child of the current position. ;Insert content as the first child of the current position. ;Insert content as the first child of the current position. ;Insert content as the first child of the current position. ORemove the content on the left of the current position, if any - pure version. ^Remove the content on the left of the current position, if any - used for monadic node types. PRemove the content on the right of the current position, if any - pure version. ^Remove the content on the left of the current position, if any - used for monadic node types. 4Insert content to the left of the current position. / The new content becomes the current position. 5Insert content to the right of the current position. / The new content becomes the current position. Remove the current element. 8 The new position is the one on the left. Pure version. Remove the current element. 8 The new position is the one on the left. Pure version. Remove the current element. 9 The new position is the one on the right. Pure version. Remove the current element. H The new position is the one on the right. Used for monadic node types. Remove the current element. 5 The new position is the parent of the old position. +private: Gets the given element of a list. L Also returns the preceding elements (reversed) and the following elements. 0private: combChildren ls x ys = reverse ls ++ [x] ++ rs ls x rs GGG+Get the XML declaration for this document. ;Get the Document Type Declaration (DTD) for this document. Get the top-level  nodes for this document. (Get the root element for this document. +Make a document with the specified fields. Stub for future expansion. AXML declaration, consisting of version, encoding and standalone. ?The formatting functions always outputs only UTF-8, regardless M of what encoding is specified here. If you want to produce a document in a O different encoding, then set the encoding here, format the document, and then H convert the output text from UTF-8 to your desired encoding using some  text conversion library. GMake a document with the specified root node and all other information  set to defaults.  &hType alias for an extended node where namespaced names are used for tags, annotated with parse location IType alias for an extended node where namespaced names are used for tags gType alias for an extended node where qualified names are used for tags, annotated with parse location HType alias for an extended node where qualified names are used for tags AType alias for an extended node with unqualified tag names where F tag and text are the same string type, annotated with parse location ?Type alias for an extended node, annotated with parse location AType alias for an extended node with unqualified tag names where ' tag and text are the same string type lType alias for an extended document where namespaced names are used for tags, annotated with parse location MType alias for an extended document where namespaced names are used for tags  kType alias for an extended document where qualified names are used for tags, annotated with parse location  LType alias for an extended document where qualified names are used for tags  EType alias for an extended document with unqualified tag names where F tag and text are the same string type, annotated with parse location  CType alias for an extended document, annotated with parse location  EType alias for an extended document with unqualified tag names where ' tag and text are the same string type CA pure tree representation that uses a list as its container type,  extended variant. In the hexpat' package, a list of nodes has the type [Node tag text] , but note 6 that you can also use the more general type function l to give a list of  any node type, using that node's associated list type, e.g.  ListOf (UNode Text). JExtended variant of the tree representation of the XML document, intended P to support the entire XML specification. DTDs are not yet supported, however. c& is the container type for the element's children, which is [] in the  hexpat& package, and a monadic list type for hexpat-iteratee. tagC is the tag type, which can either be one of several string types,  or a special type from the Text.XML.Expat.Namespaced or  Text.XML.Expat.Qualified modules. text& is the string type for text content. aH is the type of the annotation. One of the things this can be used for I is to store the XML parse location, which is useful for error handling.  Note that some functions in the Text.XML.Expat.Cursor module need to create  new nodes through the U, type class. Normally this can only be done  if aO is a Maybe type or () (so it can provide the Nothing value for the annotation 6 on newly created nodes). Or, you can write your own U instance. . Apart from that, there is no requirement for a to be a Maybe type. QA pure representation of an XML document that uses a list as its container type. LDocument representation of the XML document, intended to support the entire : XML specification. DTDs are not yet supported, however. Modify this node'$s annotation (non-recursively) if it's an element, otherwise no-op.  Modify this node'3s annotation and all its children recursively if it's an element, otherwise no-op. !AModify the annotation of every node in the document recursively. "PA lower level function that lazily converts a SAX stream into a tree structure. 0 Variant that takes annotations for start tags. #KLazily parse XML to tree. Note that forcing the XMLParseError return value G will force the entire parse. Therefore, to ensure lazy operation, don't ; check the error status until you have processed the tree. Parse options Input text (a lazy ByteString) $:Lazily parse XML to tree. In the event of an error, throw /..  parseThrowingA can throw an exception from pure code, which is generally a bad & way to handle errors, because Haskell's lazy evaluation means it' s hard to I predict where it will be thrown from. However, it may be acceptable in  situations where it'9s not expected during normal operation, depending on the  design of your program. Parse options Input text (a lazy ByteString) %HStrictly parse XML to tree. Returns error message or valid parsed tree. Parse options !Input text (a strict ByteString) ./:;<=>?@ABCEFGHIUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%D    !  EFGHI#% $./":;<=>?@ABC&      !"#$% &DEPRECATED: Renamed to '. 'Format document with <;?xml.. header - lazy variant that returns lazy ByteString. (Format document with <;?xml.. header - generalized variant that returns a generic  list of strict ByteStrings. )DEPRECATED: Renamed to *. *Format document with <??xml.. header - strict variant that returns strict ByteString. +LFormat XML node with no header - lazy variant that returns lazy ByteString. ,PFormat XML node with no header - strict variant that returns strict ByteString. -LFormat XML node with no header - generalized variant that returns a generic  list of strict ByteStrings. .DFormat an XML document - lazy variant that returns lazy ByteString. /HFormat an XML document - strict variant that returns strict ByteString. 0DFormat an XML document - generalized variant that returns a generic  list of strict ByteStrings. 1-The standard XML header with UTF-8 encoding. 23;Flatten a tree structure into SAX events, monadic version. 4NFormat SAX events with no header - lazy variant that returns lazy ByteString. 5RFormat SAX events with no header - strict variant that returns strict ByteString. 6IFormat SAX events with no header - generalized variant that uses generic  list.  SAX events  SAX events True if processing CDATA 70Make the output prettier by adding indentation. /Number of indentation spaces per nesting level 8KMake the output prettier by adding indentation, specifying initial indent. Initial indent (spaces) /Number of indentation spaces per nesting level &'()*+,-./012345678'*(+,-./0&)13245678&'()*+,-./012345678'UVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{ 95Select only the elements from a list of XML content. :1Select only the text from a list of XML content. ;1Find all immediate children with the given name. <5Filter all immediate children wrt a given predicate. =FFilter all immediate children wrt a given predicate over their names. >-Find an immediate child with the given name. ?-Find an immediate child with the given name. @8Find an immediate child with name matching a predicate. AAFind the left-most occurrence of an element matching given name. BDFilter the left-most occurrence of an element wrt. given predicate. CDFilter the left-most occurrence of an element wrt. given predicate. D.Find all non-nested occurances of an element. 8 (i.e., once we have found an element, we do not search & for more occurances among the element' s children). EDFind all non-nested occurrences of an element wrt. given predicate. 8 (i.e., once we have found an element, we do not search & for more occurances among the element' s children). FQFind all non-nested occurences of an element wrt a predicate over element names. 8 (i.e., once we have found an element, we do not search & for more occurances among the element' s children). 9:;<=>?@ABCDEF9:;<=>?@ABCDEF9:;<=>?@ABCDEF GiType alias for an annotated node where namespaced names are used for tags, annotated with parse location HJType alias for an annotated node where namespaced names are used for tags IhType alias for an annotated node where qualified names are used for tags, annotated with parse location JIType alias for an annotated node where qualified names are used for tags KBType alias for an annotated node with unqualified tag names where F tag and text are the same string type, annotated with parse location L@Type alias for an annotated node, annotated with parse location MBType alias for an annotated node with unqualified tag names where ' tag and text are the same string type NCA pure tree representation that uses a list as its container type,  annotated variant. In the hexpat' package, a list of nodes has the type [Node tag text] , but note 6 that you can also use the more general type function l to give a list of  any node type, using that node's associated list type, e.g.  ListOf (UNode Text). OJAnnotated variant of the tree representation of the XML document, meaning K that it has an extra piece of information of your choice attached to each  Element. c& is the container type for the element's children, which is [] in the  hexpat& package, and a monadic list type for hexpat-iteratee. tagC is the tag type, which can either be one of several string types,  or a special type from the Text.XML.Expat.Namespaced or  Text.XML.Expat.Qualified modules. text& is the string type for text content. aH is the type of the annotation. One of the things this can be used for I is to store the XML parse location, which is useful for error handling.  Note that some functions in the Text.XML.Expat.Cursor module need to create  new nodes through the U, type class. Normally this can only be done  if aO is a Maybe type or () (so it can provide the Nothing value for the annotation 6 on newly created nodes). Or, you can write your own U instance. . Apart from that, there is no requirement for a to be a Maybe type. PQRSTUVWConvert an annotated tree ( Annotated module) into a non-annotated  tree (Tree# module). DEPRECATED in favour of x. XModify this node'$s annotation (non-recursively) if it's an element, otherwise no-op. YModify this node'3s annotation and all its children recursively if it's an element, otherwise no-op. ZPA lower level function that lazily converts a SAX stream into a tree structure. 0 Variant that takes annotations for start tags. [KLazily parse XML to tree. Note that forcing the XMLParseError return value G will force the entire parse. Therefore, to ensure lazy operation, don't ; check the error status until you have processed the tree. Parse options Input text (a lazy ByteString) \DEPRECATED: Use [ instead. KLazily parse XML to tree. Note that forcing the XMLParseError return value G will force the entire parse. Therefore, to ensure lazy operation, don't ; check the error status until you have processed the tree. Optional encoding override Input text (a lazy ByteString) ]:Lazily parse XML to tree. In the event of an error, throw /..  parseThrowingA can throw an exception from pure code, which is generally a bad & way to handle errors, because Haskell's lazy evaluation means it' s hard to I predict where it will be thrown from. However, it may be acceptable in  situations where it'9s not expected during normal operation, depending on the  design of your program. Parse options Input text (a lazy ByteString) ^DEPRECATED: use ] instead :Lazily parse XML to tree. In the event of an error, throw /.. Optional encoding override Input text (a lazy ByteString) _HStrictly parse XML to tree. Returns error message or valid parsed tree. Parse options !Input text (a strict ByteString) `DEPRECATED: use [ instead. HStrictly parse XML to tree. Returns error message or valid parsed tree. Optional encoding override !Input text (a strict ByteString) y ./:;<=>?@ABCDEFGHIJNPRTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~GHIJKLMNOPQRSTUVWXYZ[\]^_`>NOQPRSTUMLKXYJIHGEFGHI[_ ]./Z:;<=>?@ABCVNRPT\`^WDJGHIJKLMNOQPRSTUPQRSTUVWXYZ[\]^_`  !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFGHIJKLMNOPQRSSTUVWXY-Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~.-]A@GG                                - ] .           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6             7   - ] . 89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdd!'efghijklmnopqrstuvwxyz{|}~      hexpat-0.19.4Text.XML.Expat.Internal.IOText.XML.Expat.SAX!Text.XML.Expat.Internal.NodeClass!Text.XML.Expat.Internal.Qualified"Text.XML.Expat.Internal.NamespacedText.XML.Expat.TreeText.XML.Expat.Cursor%Text.XML.Expat.Internal.DocumentClassText.XML.Expat.ExtendedText.XML.Expat.FormatText.XML.Expat.ProcText.XML.Expat.AnnotatedText.XML.Expat.IOText.XML.Expat.QualifiedText.XML.Expat.NamespacedText.XML.Expat.NodeClassSkippedEntityHandlerExternalEntityRefHandlerCommentHandlerProcessingInstructionHandlerEndCDataHandlerStartCDataHandlerCharacterDataHandlerEndElementHandlerStartElementHandlerXMLDeclarationHandlerXMLParseLocation xmlLineNumberxmlColumnNumber xmlByteIndex xmlByteCount XMLParseError ExpatHandlersEncodingISO88591UTF16UTF8ASCIIParser ParserPtr Parser_structencodingToString newParsersetUseForeignDTDparseparse'parseExternalEntityReference parseChunk withParsergetParseLocationsetXMLDeclarationHandlersetStartElementHandlersetEndElementHandlersetCharacterDataHandlersetStartCDataHandlersetEndCDataHandlersetProcessingInstructionHandlersetCommentHandlersetExternalEntityRefHandlersetSkippedEntityHandlerXMLParseExceptionSAXEvent FailDocumentCommentProcessingInstructionEndCData StartCData CharacterData EndElement StartElementXMLDeclarationGenericXMLString gxNullString gxToString gxFromString gxFromChargxHeadgxTail gxBreakOngxFromCStringLengxToByteString ParserOptions ParseOptionsoverrideEncoding entityDecoderdefaultParseOptionsdefaultParserOptionstextFromCStringsetEntityDecoderparseSAXparseLocationsparseSAXLocations parseThrowingparseSAXThrowingparseLocationsThrowingparseSAXLocationsThrowingMkElementClass mkElement NodeClass isElementisTextisCDataisProcessingInstruction isComment textContentMisNamedgetName hasTarget getTarget getAttributes getChildrengetText modifyNamemodifyAttributesmodifyChildren modifyElement mapAllTagsmapNodeContainermkTextListOf UAttributes Attributes textContent mapElementmapNodeListContainerfromNodeContainerfromNodeListContainer getAttribute setAttributedeleteAttributealterAttribute fromElement fromElement_ fromNodes fromNodes_ QAttributesQNameqnPrefix qnLocalPartmkQName mkAnQName toQualified fromQualified NAttributesNName nnNamespace nnLocalPartmkNName mkAnNNamexmlnsUrixmlns toNamespacedfromNamespacedNNodeNNodesQNodeQNodesUNodeUNodesNodesNodeNodeGTextElementeName eAttributes eChildreneAttrs parseTree' saxToTree parseTreeparseTreeThrowingCursorCursorGCurcurrentleftsrightsparentsPathPathGTagtagName tagAttribsfromTagparentrootleftleftMrightrightM firstChild firstChildM lastChild lastChildMfindLeft findRight findChildnextDFnextDFMfindRecfindRecMgetChild getChildMgetTagfromTree fromForesttoTreetoForestisRootisFirstisFirstMisLastisLastMisLeafisChild getNodeIndex hasChildren setContent modifyContentmodifyContentListmodifyContentListMmodifyContentM insertLeft insertRightinsertManyLeftinsertManyRightinsertFirstChildinsertLastChildinsertManyFirstChildinsertManyLastChild removeLeft removeLeftM removeRight removeRightM insertGoLeft insertGoRight removeGoLeft removeGoLeftM removeGoRightremoveGoRightM removeGoUp DocumentClassgetXMLDeclarationgetDocumentTypeDeclarationgetTopLevelMiscsgetRoot mkDocumentNodeTypeMiscDocumentTypeDeclarationmkPlainDocumentmodifyXMLDeclarationmodifyDocumentTypeDeclarationmodifyTopLevelMiscs modifyRootNLNodeQLNodeULNodeLNode NLDocument NDocument QLDocument QDocument ULDocument LDocument UDocumentCDataeAnnDocument DocumentGdXMLDeclarationdDocumentTypeDeclarationdTopLevelMiscsdRootmodifyAnnotation mapAnnotationmapDocumentAnnotation formatTreeformatformatG formatTree'format' formatNode formatNode' formatNodeGformatDocumentformatDocument'formatDocumentG xmlHeader documentToSAX treeToSAX formatSAX formatSAX' formatSAXGindentindent_ onlyElemsonlyText findChildrenfilterChildrenfilterChildrenName filterChildfilterChildName findElement filterElementfilterElementName findElementsfilterElementsfilterElementsName unannotate xmlStopParserxmlErrorStringxmlGetCurrentByteCountxmlGetCurrentByteIndexxmlGetCurrentColumnNumberxmlGetCurrentLineNumberxmlGetErrorCodemkCSkippedEntityHandlerxmlExternalEntityParserCreatexmlSetSkippedEntityHandlerxmlSetExternalEntityRefHandlermkCExternalEntityRefHandler parserFree' parserFreexmlUseForeignDTDdoParseChunk'_"xmlSetprocessinginstructionhandlerxmlSetcommenthandlerxmlSetendcdatahandlerxmlSetstartcdatahandlerxmlSetcharacterdatahandlerxmlSetendelementhandlerxmlSetstartelementhandlerxmlSetxmldeclhandlerxmlSetUserDataparserCreate'_mkCCommentHandlermkCProcessingInstructionHandlermkCEndCDataHandlermkCStartCDataHandlermkCCharacterDataHandlermkCEndElementHandlermkCStartElementHandlermkCXMLDeclarationHandlerCSkippedEntityHandlerCExternalEntityRefHandlerCCommentHandlerCProcessingInstructionHandlerCEndCDataHandlerCStartCDataHandlerCCharacterDataHandlerCEndElementHandlerCStartElementHandlerCXMLDeclarationHandler WorkerIface _parserObj_xmlDeclarationHandler_startElementHandler_endElementHandler _cdataHandler_externalEntityRefHandler_skippedEntityHandler_startCDataHandler_endCDataHandler_processingInstructionHandler_commentHandlerwithOptEncoding parserCreatewithBStringLenunStatusgetError cFromBoolghc-primGHC.BoolBool doParseChunkworkerIfaceRefensureBoundThreadnullCXMLDeclarationHandlerwrapXMLDeclarationHandlernullCStartElementHandlerwrapStartElementHandlernullCEndElementHandlerwrapEndElementHandlernullCCharacterDataHandlerwrapCharacterDataHandlernullCStartCDataHandlerwrapStartCDataHandlernullCEndCDataHandlerwrapEndCDataHandler!nullCProcessingInstructionHandler wrapProcessingInstructionHandlernullCCommentHandlerwrapCommentHandlerpairwisestoppwrapExternalEntityRefHandlerwrapSkippedEntityHandlerpeekByteStringLenbaseForeign.C.StringCString PrefixNsMap NsPrefixMapxmlUrixmlbaseNsBindingsbasePfBindingsnodeWithNamespacesnodeWithQualifiers findLeftM findRightM findChildM downParents fromForestM getNodeIndexM mapChildrensplitChildrenM combChildrenreverseLstartTagHelper formatSAXGbpackescapees escapeText