úÎ@7?      <=>? Safe-InferredGet name of the tag..Get contents of the text node. A synonym for @.Get the list of the attributes.Get value of the attribute.%Internal node (i.e., an opening tag).*Leaf node (everything but an opening tag). A text node.A comment node.A warning node.A position node.Does it have a given name?Does it have a given attribute?2Does it have a given attribute with a given value?Extract the tag name.*Extract textual contents of the text node.Extract the attribute value. Extract the attribute value.AIs it a B. value and does it satisfy the given property?CTest if a tag is a comment. AC   ACNone !5A parsed XML forest. Closing tags are not preserved."3A parsed XML tree. Closing tags are not preserved.DA lazy XML parser.##Parse XML tree from a list of tags.$_Parse XML forest from a list of tags. Note, that if the XML file has additional headers, the $0 function has to be used to parse it correctly.E"A parser from tags to an XML tree.FInternal node parser.GLeaf node parser.%Render XML tree tags.&Render XML forest tags.H&Make closing tag from the opening tag. !"D#$EFG%&H!"#$%&"!#$%& !"D#$EFG%&HNoneE '7Make a tree-level predicate from a tag-level predicate.(¦Combine a tag predicate with an XML predicate. The XML predicate can depend on the value of tag parser and will be called multiple times for tag children elements.)uCombine the tag parser with the XML parser. The XML parser will be called multiple times for tag children elements.*uCombine the tag parser with the XML parser. The XML parser will be called multiple times for tag children elements.+ Similar to *` combinator but runs the XML parser for all descendant XML elements, not only for its children.,jCombine the tag predicate with the forest parser which will be used to parse contents of the tag element.-jCombine the tag predicate with the forest parser which will be used to parse contents of the tag element..ŸCombine the tag predicate with the orest parser which will be used to parse contents of the tag element. Only results of the forest parser will be returned./ÕCombine the tag predicate with the orest parser which will be used to parse contents of the tag element. Only results of the tag predicate will be returned (the contents have to be successfully parsed, though).0&Infix version of the join combinators.1'Infix version of the joinP combinators.2'Infix version of the joinR combinators.3'Infix version of the joinL combinators.'()*+,-./0123I '()*+,-./0123 '()*+,-/.0123'()*+,-./0123I()*+0123NoneE4  !"#$%&'()*+,-./0123J       !"#$%&'()*+,-./0123456789:;9:<9:=9:>9:?@ABCDEFGHIJ9KLMNOPQRST polysoup-0.6Text.XML.PolySoup.PredicateText.XML.PolySoup.ParserText.XML.PolySoup.TagText.XML.PolySoup.XmlTreeText.XML.PolySoup.CombineText.XML.PolySoupQrunQtruesatisfyPrunPevalPfirsteveryevery'poppeekspymany_getNamegetTextgetAttsgetAttrinnerTagleafTagtextTag commentTag warningTag positionTagnamedhasAttr hasAttrValnametextattratts XmlForestXmlTree parseTree parseForest renderTree renderForestnode>/>/>//>joinjoinPjoinRjoinL>^><^>^><^baseControl.Applicative*><*<|>manysome$fAlternativeQ$fApplicativeQ $fFunctorQ$fMonadP$fAlternativeP$fApplicativeP $fFunctorPtagsoup-0.13.3Text.HTML.TagSoup.Type maybeTagText justSatisfy Data.MaybeJust isTagComment XmlParserxmlTreePnodePleafPendFromunJust