úÎPgKô%      !"#$%&'()*+,-./01234567%&'()*+,-./01234%&'(&'()*++,3210/.--./01234 8Render a stream of 9s into a stream of :s. This function  wraps around  and ;, so it produces  optimally sized :s with minimal buffer copying. The output is UTF8 encoded. Render a stream of 9s into a stream of :s. This function  wraps around , ; and , so it  produces optimally sized :s with minimal buffer copying. Render a stream of 9s into a stream of <s. Builders are from D the blaze-builder package, and allow the create of optimally sized  :s with minimal buffer copying. =>?@AB/IA monad for parsing attributes. By default, it requires you to deal with L all attributes present on an element, and will throw an exception if there # are unhandled attributes. Use the !, " et al * functions for handling an attribute, and # if you would like to 0 skip the rest of the attributes on an element. CD GA greatly simplified XML event datatype. The best way to produce these  values is the  enumeratee. ?A simplified attribute, having all entities converted to text. EFGAutomatically determine which UTF variant is being used. This function K first checks for BOMs, removing them as necessary, and then check for the  equivalent of < ?xml for each of UTF-8, UTF-16LEBE, and UTF-32LEBE. It  defaults to assuming UTF-8. Parses a byte stream into 9)s. This function is implemented fully in K Haskell using attoparsec-text for parsing. The produced error messages do  not give line/?column information, so you may prefer to stick with the parser G provided by libxml-enumerator. However, this has the advantage of not  relying on any C libraries. This relies on & to determine character encoding, and   to do the actual parsing. Parses a character stream into 9 s. This function is implemented H fully in Haskell using attoparsec-text for parsing. The produced error  messages do not give line//column information, so you may prefer to stick F with the parser provided by libxml-enumerator. However, this has the . advantage of not relying on any C libraries. GHIJKLMNO.Grabs the next piece of content if available. ?Grabs the next piece of content. If none if available, returns P. JThe most generic way to parse a tag. It takes a predicate for checking if " this is the correct tag name, an  for handling attributes, and ) then a parser for dealing with content. HThis function automatically absorbs its balancing closing tag, and will G throw an exception if not all of the attributes or child elements are 6 consumed. If you want to allow extra attributes, see #. A simplified version of . which matches for specific tag names instead M of taking a predicate function. This is often sufficient, and when combined 5 with OverloadedStrings and the IsString instance of QR, can prove to be  very concise. JA further simplified tag parser, which requires that no attributes exist. 0Get the value of the first parser which returns S. If none return  S , returns T. <Force an optional parser into a required parser. All of the   functions,  and $ deal with U parsers. Use this when you , want to finally force something to happen. Error message Convert a stream of 9s into a stream  s. The first argument J is a function to decode character entity references. Some things to note  about this function: # It drops events for document begin/!end, comments, and instructions. D It concatenates all pieces of content together. The output of this 4 function is guaranteed to not have two consecutive s. L It automatically checks that tag beginnings and endings are well balanced, $ and throws an exception otherwise. L It also throws an exception if your supplied entity function does not know & how to deal with a character entity. Please also note that you do not" need to handle the 5 XML-defined I character entity references (lt, gt, amp, quot and apos), nor deal with % numeric entities (decimal and hex).  The same as , but throws any exceptions. 5A helper function which reads a file from disk using V , detects  character encoding using , parses the XML using ,  converts to an   stream using  and then handing off control  to your supplied parser.  !BRequire that a certain attribute be present and return its value. ".Return the value for an attribute if present. #GSkip the remaining attributes on an element. Since this will clear the ( list of attributes, you must call this after any calls to !,  ", etc. $4Keep parsing elements as long as the parser returns S. "  !"#$# !" #$  "    !"#$W      !"#$%&'(()*+,,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ:;[:;[\]^\]_\]`abcdxml-enumerator-0.1.0.1Text.XML.Enumerator.RenderText.XML.Enumerator.ParseText.XML.Enumerator.Token renderBytes renderText renderBuilder AttrParser XmlExceptionUnparsedAttributes SXmlException sxmlBadInput InvalidEntityInvalidEndElementxmlErrorMessage xmlBadInputSEventSContent SEndElement SBeginElementSAttr detectUtf parseBytes parseTextcontentcontent'tagtag'tag''chooseforcesimplify parseFile_ parseFileoptionalAttrRawrequireAttrRaw requireAttr optionalAttr ignoreAttrsmanyNSLevel defaultNSprefixes TAttributeTNameToken TokenDoctype TokenComment TokenContentTokenEndElementTokenBeginElementTokenInstructionTokenBeginDocumenttokenToBuilder tnameToText contentToText foldAttrsStackxml-types-0.1.2Data.XML.TypesEventbytestring-0.9.1.8Data.ByteString.Internal ByteString blaze-builder-enumerator-0.2.0.1#Blaze.ByteString.Builder.EnumeratorbuilderToByteStringblaze-builder-0.2.1.4'Blaze.ByteString.Builder.Internal.TypesBuilder eventToToken nameToTName mkBeginToken newElemStack newAttrStack getPrefix runAttrParser tokenToEvent tnameToName iterToken parseTokenparseAttribute parseName parseIdent parseContent skipSpacenewlinechar' text-0.11.0.2Data.Text.Lazy.InternalemptyNamebase Data.MaybeJustNothingMaybeenumerator-0.4.5Data.Enumerator.BinaryenumFile