úÎ>R:¯1      !"#$%&'()*+,-./0 Safe-InferredBA predicate checks if the given element satisfies some properties F and extracts its attribute values. You can compose predicates using 1 Functor, Applicative and Alternative operators: 1, 2, 3 etc.  Note, that it doesn')t really have sense to use function like 4  or 5&, since the extracting predicate doesn't consume any input. %Predicate which is always satisfied. +Check if the given predicate is satisfied. 678678 Safe-InferredAn XML forest parser. )Evaluate parser on the given XML forest.  A synonym to  . 4Find the first tree satisfying the given predicate. 2Select every tree satisfying the given predicate. 8Check, if the first tree satisfies the given predicate.  9:;<   9:;<None Get name of the tag. Get contents of the text node.  A synonym for =. Get name of the tag. 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? 3Does 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. >Is it a ?/ value and does it satisfy the given property? @Test if a tag is a comment.  >@   >@None 6A parsed XML forest. Closing tags are not preserved. 4A parsed XML tree. Closing tags are not preserved. AA lazy XML parser. $Parse XML tree from a list of tags. !BParse XML forest from a list of tags. Note, that if the XML file  has additional headers, the ! function has to be used to  parse it correctly. B#A parser from tags to an XML tree. CInternal node parser. DLeaf node parser. "Render XML tree tags. #Render XML forest tags. E'Make closing tag from the opening tag. A !BCD"#E !"# !"# A !BCD"#ENone $8Make a tree-level predicate from a tag-level predicate. ! Note, that in most cases you won't need this function, you  can make use of the Query typeclass. %FCombine a tag predicate with an XML predicate. The XML predicate can I depend on the value of tag parser and will be called multiple times for  tag children elements. &ACombine the tag parser with the XML parser. The XML parser will 5 be called multiple times for tag children elements. 'ACombine the tag parser with the XML parser. The XML parser will 5 be called multiple times for tag children elements. ( Similar to ', combinator but runs the XML parser for all 5 descendant XML elements, not only for its children. )DCombine the tag predicate with the forest parser which will be used ' to parse contents of the tag element. *DCombine the tag predicate with the forest parser which will be used ' to parse contents of the tag element. +CCombine the tag predicate with the orest parser which will be used J to parse contents of the tag element. Only results of the forest parser  will be returned. ,CCombine the tag predicate with the orest parser which will be used J to parse contents of the tag element. Only results of the tag predicate I will be returned (the contents have to be successfully parsed, though). -'Infix version of the join combinators. .(Infix version of the joinP combinators. /(Infix version of the joinR combinators. 0(Infix version of the joinL combinators. $%&'()*+,-./0F $%&'()*+,-./0 $%&'()*,+-./0$%&'()*+,-./0FNone1  !"#$%&'()*+,-./0G       !"#$%&'()*+,-./01234567867967:67;67<=>?@ABCDEFG6HIJKLMNOPQpolysoup-0.3.0Text.XML.PolySoup.PredicateText.XML.PolySoup.ParserText.XML.PolySoup.TagText.XML.PolySoup.XmlTreeText.XML.PolySoup.CombineText.XML.PolySoupQrunQtruesatisfyPrunPevalPfindfirsteverypopgetNamegetTextgetAttsgetAttrinnerTagleafTagtextTag commentTag warningTag positionTagnamedhasAttr hasAttrValnametextattratts XmlForestXmlTree parseTree parseForest renderTree renderForestnode>/>/>//>joinjoinPjoinRjoinL>^><^>^><^baseControl.Applicative*><*<|>manysome$fAlternativeQ$fApplicativeQ $fFunctorQ$fMonadP$fAlternativeP$fApplicativeP $fFunctorP tagsoup-0.13Text.HTML.TagSoup.Type maybeTagText justSatisfy Data.MaybeJust isTagComment XmlParserxmlTreePnodePleafPendFromunJust