Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > c11ea669964b25785bf99d03336651f5 > files > 27

haskell-tagsoup-0.6-2mdv2010.1.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Text.HTML.TagSoup</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Text-HTML-TagSoup.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>tagsoup-0.6: Parsing and extracting information from (possibly malformed) HTML documents</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Text.HTML.TagSoup</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>portable</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>unstable</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>http://www.cs.york.ac.uk/~ndm/</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Data structures and parsing
</A
></DT
><DT
><A HREF="#2"
>Tag identification
</A
></DT
><DT
><A HREF="#3"
>Extraction
</A
></DT
><DT
><A HREF="#4"
>Utility
</A
></DT
><DT
><A HREF="#5"
>Combinators
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>This module is for extracting information out of unstructured HTML code,
    sometimes known as tag-soup. This is for situations where the author of
    the HTML is not cooperating with the person trying to extract the information,
    but is also not trying to hide the information.
</P
><P
>The standard practice is to parse a String to <TT
><A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TT
>s using <TT
><A HREF="Text-HTML-TagSoup-Parser.html#v%3AparseTags"
>parseTags</A
></TT
>,
    then operate upon it to extract the necessary information.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATag"
>Tag</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ATagOpen"
>TagOpen</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> [<A HREF="Text-HTML-TagSoup.html#t%3AAttribute"
>Attribute</A
>]</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATagClose"
>TagClose</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATagText"
>TagText</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATagComment"
>TagComment</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATagWarning"
>TagWarning</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ATagPosition"
>TagPosition</A
> !<A HREF="Text-HTML-TagSoup-Type.html#t%3ARow"
>Row</A
> !<A HREF="Text-HTML-TagSoup-Type.html#t%3AColumn"
>Column</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AAttribute"
>Attribute</A
> = (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-HTML-TagSoup-Parser.html"
>Text.HTML.TagSoup.Parser</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcanonicalizeTags"
>canonicalizeTags</A
> :: [<A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
>] -&gt; [<A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTagOpen"
>isTagOpen</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTagClose"
>isTagClose</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTagText"
>isTagText</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTagWarning"
>isTagWarning</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTagOpenName"
>isTagOpenName</A
> :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisTagCloseName"
>isTagCloseName</A
> :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromTagText"
>fromTagText</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromAttrib"
>fromAttrib</A
> :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaybeTagText"
>maybeTagText</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaybeTagWarning"
>maybeTagWarning</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinnerText"
>innerText</A
> :: [<A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
>] -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asections"
>sections</A
> ::  (a -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; [a] -&gt; [[a]]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Apartitions"
>partitions</A
> ::  (a -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; [a] -&gt; [[a]]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A HREF="#t%3ATagRep"
>TagRep</A
> a </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A HREF="#t%3AIsChar"
>IsChar</A
> a </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A~%3D%3D"
>(~==)</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATagRep"
>TagRep</A
> t =&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; t -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A~%2F%3D"
>(~/=)</A
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATagRep"
>TagRep</A
> t =&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; t -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Data structures and parsing
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Tag"
><A NAME="t%3ATag"
></A
></A
><B
>Tag</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An HTML element, a document is <TT
>[Tag]</TT
>.
   There is no requirement for <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagOpen"
>TagOpen</A
></TT
> and <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagClose"
>TagClose</A
></TT
> to match
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:TagOpen"
><A NAME="v%3ATagOpen"
></A
></A
><B
>TagOpen</B
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> [<A HREF="Text-HTML-TagSoup.html#t%3AAttribute"
>Attribute</A
>]</TD
><TD CLASS="rdoc"
>An open tag with <TT
><A HREF="Text-HTML-TagSoup.html#t%3AAttribute"
>Attribute</A
></TT
>s in their original order.
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TagClose"
><A NAME="v%3ATagClose"
></A
></A
><B
>TagClose</B
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>A closing tag
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TagText"
><A NAME="v%3ATagText"
></A
></A
><B
>TagText</B
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>A text node, guaranteed not to be the empty string
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TagComment"
><A NAME="v%3ATagComment"
></A
></A
><B
>TagComment</B
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>A comment
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TagWarning"
><A NAME="v%3ATagWarning"
></A
></A
><B
>TagWarning</B
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>Meta: Mark a syntax error in the input file
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:TagPosition"
><A NAME="v%3ATagPosition"
></A
></A
><B
>TagPosition</B
> !<A HREF="Text-HTML-TagSoup-Type.html#t%3ARow"
>Row</A
> !<A HREF="Text-HTML-TagSoup-Type.html#t%3AColumn"
>Column</A
></TD
><TD CLASS="rdoc"
>Meta: The position of a parsed element
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Tag')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Tag" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/libraries/base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/libraries/base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-HTML-TagSoup.html#t%3ATagRep"
>TagRep</A
> <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:Attribute"
><A NAME="t%3AAttribute"
></A
></A
><B
>Attribute</B
> = (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
>, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>An HTML attribute <TT
>id=&quot;name&quot;</TT
> generates <TT
>(&quot;id&quot;,&quot;name&quot;)</TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-HTML-TagSoup-Parser.html"
>Text.HTML.TagSoup.Parser</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:canonicalizeTags"
><A NAME="v%3AcanonicalizeTags"
></A
></A
><B
>canonicalizeTags</B
> :: [<A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
>] -&gt; [<A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
>]</TD
></TR
><TR
><TD CLASS="doc"
>Turns all tag names to lower case and
converts DOCTYPE to upper case.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Tag identification
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTagOpen"
><A NAME="v%3AisTagOpen"
></A
></A
><B
>isTagOpen</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test if a <TT
><A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TT
> is a <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagOpen"
>TagOpen</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTagClose"
><A NAME="v%3AisTagClose"
></A
></A
><B
>isTagClose</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test if a <TT
><A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TT
> is a <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagClose"
>TagClose</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTagText"
><A NAME="v%3AisTagText"
></A
></A
><B
>isTagText</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test if a <TT
><A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TT
> is a <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagText"
>TagText</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTagWarning"
><A NAME="v%3AisTagWarning"
></A
></A
><B
>isTagWarning</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test if a <TT
><A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TT
> is a <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagWarning"
>TagWarning</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTagOpenName"
><A NAME="v%3AisTagOpenName"
></A
></A
><B
>isTagOpenName</B
> :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns True if the <TT
><A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TT
> is <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagOpen"
>TagOpen</A
></TT
> and matches the given name
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isTagCloseName"
><A NAME="v%3AisTagCloseName"
></A
></A
><B
>isTagCloseName</B
> :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns True if the <TT
><A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TT
> is <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagClose"
>TagClose</A
></TT
> and matches the given name
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Extraction
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fromTagText"
><A NAME="v%3AfromTagText"
></A
></A
><B
>fromTagText</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Extract the string from within <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagText"
>TagText</A
></TT
>, crashes if not a <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagText"
>TagText</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fromAttrib"
><A NAME="v%3AfromAttrib"
></A
></A
><B
>fromAttrib</B
> :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Extract an attribute, crashes if not a <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagOpen"
>TagOpen</A
></TT
>.
   Returns <TT
>&quot;&quot;</TT
> if no attribute present.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maybeTagText"
><A NAME="v%3AmaybeTagText"
></A
></A
><B
>maybeTagText</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Extract the string from within <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagText"
>TagText</A
></TT
>, otherwise <TT
><A HREF="/usr/share/doc/ghc/libraries/base/Data-Maybe.html#v%3ANothing"
>Nothing</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:maybeTagWarning"
><A NAME="v%3AmaybeTagWarning"
></A
></A
><B
>maybeTagWarning</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Extract the string from within <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagWarning"
>TagWarning</A
></TT
>, otherwise <TT
><A HREF="/usr/share/doc/ghc/libraries/base/Data-Maybe.html#v%3ANothing"
>Nothing</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:innerText"
><A NAME="v%3AinnerText"
></A
></A
><B
>innerText</B
> :: [<A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
>] -&gt; <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Extract all text content from tags (similar to Verbatim found in HaXml)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Utility
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sections"
><A NAME="v%3Asections"
></A
></A
><B
>sections</B
> ::  (a -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; [a] -&gt; [[a]]</TD
></TR
><TR
><TD CLASS="doc"
>This function takes a list, and returns all suffixes whose
   first item matches the predicate.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:partitions"
><A NAME="v%3Apartitions"
></A
></A
><B
>partitions</B
> ::  (a -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; [a] -&gt; [[a]]</TD
></TR
><TR
><TD CLASS="doc"
>This function is similar to <TT
><A HREF="Text-HTML-TagSoup.html#v%3Asections"
>sections</A
></TT
>, but splits the list
   so no element appears in any two partitions.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>Combinators
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A NAME="t:TagRep"
><A NAME="t%3ATagRep"
></A
></A
><B
>TagRep</B
> a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Define a class to allow String's or Tag's to be used as matches
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:TagRep')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:TagRep" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Text-HTML-TagSoup.html#t%3ATagRep"
>TagRep</A
> <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-HTML-TagSoup.html#t%3AIsChar"
>IsChar</A
> c =&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATagRep"
>TagRep</A
> ([] c)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A NAME="t:IsChar"
><A NAME="t%3AIsChar"
></A
></A
><B
>IsChar</B
> a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:IsChar')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:IsChar" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Text-HTML-TagSoup.html#t%3AIsChar"
>IsChar</A
> <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:~=="
><A NAME="v%3A~%3D%3D"
></A
></A
><B
>(~==)</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATagRep"
>TagRep</A
> t =&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; t -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Performs an inexact match, the first item should be the thing to match.
 If the second item is a blank string, that is considered to match anything.
 For example:
</P
><PRE
> (TagText &quot;test&quot; ~== TagText &quot;&quot;    ) == True
 (TagText &quot;test&quot; ~== TagText &quot;test&quot;) == True
 (TagText &quot;test&quot; ~== TagText &quot;soup&quot;) == False
</PRE
><P
>For <TT
><A HREF="Text-HTML-TagSoup.html#v%3ATagOpen"
>TagOpen</A
></TT
> missing attributes on the right are allowed.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:~/="
><A NAME="v%3A~%2F%3D"
></A
></A
><B
>(~/=)</B
> :: <A HREF="Text-HTML-TagSoup.html#t%3ATagRep"
>TagRep</A
> t =&gt; <A HREF="Text-HTML-TagSoup.html#t%3ATag"
>Tag</A
> -&gt; t -&gt; <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Negation of <TT
><A HREF="Text-HTML-TagSoup.html#v%3A~%3D%3D"
>~==</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.5.0</TD
></TR
></TABLE
></BODY
></HTML
>