b1XW      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV WXWXWXX(An HTML element, a document is [T]. There is no requirement for   and   to match. The type parameter string lets you choose between [Char], for interpreted HTML entity references and  [HTMLChar.T]" for uninterpreted HTML entities. !You will most oftenly want plain Char, since  HTMLChar.T( is only necessary if you want to know, 9whether a non-ASCII character was encoded as HTML entity #or as non-ASCII Unicode character. &Mark a syntax error in the input file  A tag like <?xml ...>  A tag like < !DOCTYPE ...>  A comment 3A text node, guaranteed not to be the empty string A closing tag An open tag with Ys in their original order.  Test if a  is a    Test if a  is a    Test if a  is a  Extract the string from within  , otherwise Z HExtract all text content from tags (similar to Verbatim found in HaXml)  !"#$%&'&Replace CDATA sections by plain text. (Merge adjacent Text sections. )*Modify content of a Text or a CDATA part. **  !"#$%&'()**   !"#$%& '()*(   !"#$%&'()*+$All tags are formatted as they are. ,MAdjacent corresponding open and close tags are merged to a self-closing tag. E.g.  a></a>@ becomes @<a/. -BAll tags that are defined being self-closing by the HTML standard  are formatted only as open tag. E.g.  br. .CAll tags that are defined being self-closing by the XHTML standard (are formatted as self-closing open tag. E.g.  br/. /If the first tag is  ?xml ...? then format in XHTML style, else in HTML style. [+,-./+,-./+,-./ 01match an opening tag 2match an closing tag 3 match a text 456match a opening tag's name literally 7match a closing tag's name literally 898Match a tag with given name, that contains an attribute -with given name, that satisfies a predicate. 'If an attribute occurs multiple times, all occurrences are checked. :Check whether the  is   and matches the given name ;Check whether the  is   and matches the given name 0123456789:; 0123456789:; 0123456789:; <=>(Selects a decoder dynamically according *to xml-encoding and meta-http-equiv tags. The ?xml8 tag should only appear at the beginning of a document, &but we respect it at every occurence. 6 import qualified Text.XML.HXT.DOM.Unicode as Unicode  evalDecodeAdaptive .  decodeAdaptive , (maybe Unicode.latin1ToUnicode (fst.) .  Unicode.getDecodingFct) ?%decodeTagAdaptive decoderSelector tag generates a state monad, with a decoder as state. ,It decodes encoding specific byte sequences using the current decoder (and XML references using a fixed table. @"Check whether the first tag is an xml processing instruction tag and return the value of its encoding attribute. ARather the same as !wraxml:HTML.Tree.findMetaEncoding B5Extract META tags which contain HTTP-EQUIV attribute ,and present these values like HTTP headers. CD-Modify attributes and tags of certain parts. For limitations, see E. E Extract parts from the tag soup 8that are enclosed in corresponding open and close tags. JIf a close tag is missing, the soup end is considered as end of the part. 'However nested tags are not supported, e.g. in  a><a></a></a>@ the second @<a is considered to be enclosed in the first  a>@ and the first @</a and the second  /a is ignored. <=>?@ABCDE <=>?@ABCDE <=>?@ABCDE FGHIJKLMNOPMerge adjacent Text sections. FGHIJKLMNOP FGHIJKLMNOP FGHIGHIJKLMNOP\]^_`abcdefghi\]^_`abcdefghi\]^_]^_`abcabcdeefgghi jklmjklmjklmklm nopqrstuvwxyz{|nopqrstuv nopqrstuv }~does never fail 9fails when trying the sub-parser the first time or never does never fail 9fails when trying the sub-parser the first time or never )condition: n>0, this will not be checked z|nqrtv}~}~ #Q.Parsing an open tag may also emit a close tag !if the tag is self-closing, e.g.  br/. +For formatting self-closing tags correctly -it would be better to emit tags in the order open tag, close tag, warnings. 0However, if there are infinitely many warnings, we don'*t know whether a self-closing slash comes .and thus whether there is a close tag or not. 5This implies, that we cannot even emit the warnings. Thus we choose the order open tag, warnings, close tag. HOnly well formed entity references are interpreted as single HTMLChars, pwhereas ill-formed entity references are interpreted as sequence of unicode characters without special meaning. E.g. &amp ; is considered as plain &amp ;,  and only &amp;% is considered an escaped ampersand. HIt is a very common error in HTML documents to not escape an ampersand. #With the interpretation used here, 'those ampersands are left as they are. $At most one warning can be emitted. #Q#QR@Parse a single tag, throws an error if there is a syntax error. ,This is useful for parsing a match pattern. S!Parse the inner of a single tag.  That is, runTag "<bla>" is the same as runInnerOfTag "bla". TU$Parse an HTML document to a list of . . Automatically expands out escape characters. VLike U" but hides source file positions. QRSTUVQVUTRSRSTUV    !"#$%&'()*+,-./0123456789:;<=>? !@ABCDEFGHIJKLMNOPQRSTUVW67 XYZ[\]^_ `abcdeefghhijkl^mno  P p q  r s t u v w x yaz{|}~|}|||     r     tagchup-0.4Text.HTML.Tagchup.TagText.HTML.Tagchup.ProcessText.HTML.Tagchup.FormatText.HTML.Tagchup.Tag.MatchText.HTML.Tagchup.PositionTagText.HTML.Tagchup.ParserText.HTML.Tagchup.CharacterText.HTML.Tagchup.Parser.StreamText.HTML.Tagchup.Parser.StatusText.HTML.Tagchup.Parser.Core#Text.HTML.Tagchup.Parser.CombinatorText.HTML.Tagchup.Parser.Tagxml-basic-0.1.1Text.XML.Basic.TagNameText.XML.Basic.StringEncodedTWarning ProcessingSpecialCommentTextCloseOpenmapName formatOpen formatCloseopenclosetextcommentspecialcdata processingwarningisOpen maybeOpenisClose maybeCloseisText maybeText innerText isComment maybeComment isSpecial maybeSpecialisCData maybeCData isProcessingmaybeProcessing isWarning maybeWarning textFromCData concatTextsmapTextmapTextAxml xmlCondensedhtmlxhtml htmlOrXhtmlignoreopenLitcloseLit openAttrLitopenAttrNameLit openNameLit closeNameLitEncodingevalDecodeAdaptivedecodeAdaptivedecodeTagAdaptivegetXMLEncodingfindMetaEncodinggetMetaHTTPHeaders getHeadTags partAttrspartsCons position_tag_conspositiontagliftliftACharTyperunTag runInnerOfTagrunSoupWithPositionsNamerunSoupWithPositionsrunSoupCfromCharText.XML.Basic.Attributebase Data.MaybeNothingxmlCondensedGen PointerLazyplSourceplIndex PointerStrictpsSourcepsIndexChartoChargetCharpointerFromByteStringStrictpointerFromByteStringLazy sourcePossourcerunnextChargets allowEmit allowFail' allowFail withDefault' withDefaultControl.Monad.Fixmfixtransformers-0.1.4.0Control.Monad.Trans.Writer.LazycensortellControl.Monad.Identity runIdentityIdentityPlainEmittingFallibleFullwriteevalgetPossatisfymanymany1manySmany1SmanyNull many1Nullmany0toNmany1toN manySatisfy many1Satisfy dropSpacescharstring readUntilemitmodifyEmission StringTypestringFromCharparseCharAsStringparseUnquotedValueAsString parseCharparseUnquotedValue ParserEmitParserparsePosTagMergeWarnings parsePosTag parseOpenTag parseCloseTagparseSpecialTagparseProcessingTag parseTextparseAttribute parseName parseValueparseUnquotedValueCharparseUnquotedValueHTMLCharcheckUnquotedCharisValidValueChar parseQuoted readUntilTerm parseStringparseUnicodeCharhtmlCharToString parseHTMLCharrestrictWarningsemitWarningWhen emitWarning returnTag returningTag