HaXml-1.19.3: docs/HaXml/Text-XML-HaXml-XmlContent.html
<!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.XML.HaXml.XmlContent</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock.js" TYPE="text/javascript"
></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"
>HaXml</TD
><TD CLASS="topbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html"
>Source code</A
></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.XML.HaXml.XmlContent</FONT
></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"
>Re-export the relevant set of generic XML document type definitions
</A
></DT
><DT
><A HREF="#2"
>The enabling classes, that define parsing/unparsing between Haskell
</A
></DT
><DD
><DL
><DT
><A HREF="#3"
>Auxiliaries for writing parsers in the XmlContent class
</A
></DT
><DT
><A HREF="#4"
>Auxiliaries for generating in the XmlContent class
</A
></DT
><DT
><A HREF="#5"
>Auxiliaries for the attribute-related classes
</A
></DT
></DL
></DD
><DT
><A HREF="#6"
>Whole-document conversion functions
</A
></DT
><DT
><A HREF="#7"
>Explicit representation of Haskell datatype information
</A
></DT
><DT
><A HREF="#8"
>Types useful for some content models
</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
>The class <TT
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
></TT
> is a kind of replacement for Read and Show:
it provides conversions between a generic XML tree representation
and your own more specialised typeful Haskell data trees.
</P
><P
>If you are starting with a set of Haskell datatypes, use DrIFT to
derive instances of this class for you:
http://repetae.net/john/computer/haskell/DrIFT
If you are starting with an XML DTD, use HaXml's tool DtdToHaskell
to generate both the Haskell types and the corresponding instances.
</P
><P
>This unified class interface replaces two previous (somewhat similar)
classes: Haskell2Xml and Xml2Haskell. There was no real reason to have
separate classes depending on how you originally defined your datatypes.
</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"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3ADocument"
>Document</A
> i = <A HREF="#v%3ADocument"
>Document</A
> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AProlog"
>Prolog</A
> (<A HREF="Text-XML-HaXml-Types.html#t%3ASymTab"
>SymTab</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AEntityDef"
>EntityDef</A
>) (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> i) [<A HREF="Text-XML-HaXml-Types.html#t%3AMisc"
>Misc</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AElement"
>Element</A
> i = <A HREF="#v%3AElem"
>Elem</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AName"
>Name</A
> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> i]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AElemTag"
>ElemTag</A
> = <A HREF="#v%3AElemTag"
>ElemTag</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AName"
>Name</A
> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AContent"
>Content</A
> i</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ACElem"
>CElem</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> i) i</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACString"
>CString</A
> Bool <A HREF="Text-XML-HaXml-Types.html#t%3ACharData"
>CharData</A
> i</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACRef"
>CRef</A
> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AReference"
>Reference</A
> i</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ACMisc"
>CMisc</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AMisc"
>Misc</A
> i</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="Text-XML-HaXml-Types.html#t%3AName"
>Name</A
>, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttValue"
>AttValue</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AAttValue"
>AttValue</A
> = <A HREF="#v%3AAttValue"
>AttValue</A
> [Either String <A HREF="Text-XML-HaXml-XmlContent.html#t%3AReference"
>Reference</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AProlog"
>Prolog</A
> = <A HREF="#v%3AProlog"
>Prolog</A
> (Maybe <A HREF="Text-XML-HaXml-Types.html#t%3AXMLDecl"
>XMLDecl</A
>) [<A HREF="Text-XML-HaXml-Types.html#t%3AMisc"
>Misc</A
>] (Maybe <A HREF="Text-XML-HaXml-Types.html#t%3ADocTypeDecl"
>DocTypeDecl</A
>) [<A HREF="Text-XML-HaXml-Types.html#t%3AMisc"
>Misc</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AReference"
>Reference</A
> </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ARefEntity"
>RefEntity</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AEntityRef"
>EntityRef</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARefChar"
>RefChar</A
> <A HREF="Text-XML-HaXml-Types.html#t%3ACharRef"
>CharRef</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="Text-XML-HaXml-TypeMapping.html#t%3AHTypeable"
>HTypeable</A
> a => <A HREF="#t%3AXmlContent"
>XmlContent</A
> a <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AparseContents"
>parseContents</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoContents"
>toContents</A
> :: a -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()]</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AxToChar"
>xToChar</A
> :: a -> Char</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AxFromChar"
>xFromChar</A
> :: Char -> a</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="#t%3AXmlAttributes"
>XmlAttributes</A
> a <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromAttrs"
>fromAttrs</A
> :: [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] -> a</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoAttrs"
>toAttrs</A
> :: a -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>]</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="#t%3AXmlAttrType"
>XmlAttrType</A
> a <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromAttrToTyp"
>fromAttrToTyp</A
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe a</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoAttrFrTyp"
>toAttrFrTyp</A
> :: String -> a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AXMLParser"
>XMLParser</A
> a = Parser (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>) a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Acontent"
>content</A
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AposnElement"
>posnElement</A
> :: [String] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aelement"
>element</A
> :: [String] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ainterior"
>interior</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
> -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinElement"
>inElement</A
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atext"
>text</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aattributes"
>attributes</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlAttributes"
>XmlAttributes</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
> -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AposnElementWith"
>posnElementWith</A
> :: (String -> String -> Bool) -> [String] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AelementWith"
>elementWith</A
> :: (String -> String -> Bool) -> [String] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinElementWith"
>inElementWith</A
> :: (String -> String -> Bool) -> String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Achoice"
>choice</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => (a -> b) -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> b -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adefinite"
>definite</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a -> String -> String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkElem"
>mkElem</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => a -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkElemC"
>mkElemC</A
> :: String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkAttr"
>mkAttr</A
> :: String -> String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoText"
>toText</A
> :: String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoCData"
>toCData</A
> :: String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmaybeToAttr"
>maybeToAttr</A
> :: (String -> a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>) -> String -> Maybe a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefaultToAttr"
>defaultToAttr</A
> :: (String -> a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>) -> String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADefaultable"
>Defaultable</A
> a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefiniteA"
>definiteA</A
> :: (String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe a) -> String -> String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] -> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdefaultA"
>defaultA</A
> :: (String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe a) -> a -> String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADefaultable"
>Defaultable</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApossibleA"
>possibleA</A
> :: (String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe a) -> String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] -> Maybe a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromAttrToStr"
>fromAttrToStr</A
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoAttrFrStr"
>toAttrFrStr</A
> :: String -> String -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3ADefaultable"
>Defaultable</A
> a</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3ADefault"
>Default</A
> a</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ANonDefault"
>NonDefault</A
> a</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Astr2attr"
>str2attr</A
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttValue"
>AttValue</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aattr2str"
>attr2str</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttValue"
>AttValue</A
> -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aattval"
>attval</A
> :: Read a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> i -> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtoXml"
>toXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Bool -> a -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADocument"
>Document</A
> ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromXml"
>fromXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADocument"
>Document</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
> -> Either String a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadXml"
>readXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => String -> Either String a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AshowXml"
>showXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Bool -> a -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfpsShowXml"
>fpsShowXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Bool -> a -> ByteString</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfReadXml"
>fReadXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => FilePath -> IO a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfWriteXml"
>fWriteXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => FilePath -> a -> IO ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfpsWriteXml"
>fpsWriteXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => FilePath -> a -> IO ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhGetXml"
>hGetXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Handle -> IO a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AhPutXml"
>hPutXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Handle -> Bool -> a -> IO ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfpsHPutXml"
>fpsHPutXml</A
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Handle -> Bool -> a -> IO ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-XML-HaXml-TypeMapping.html"
>Text.XML.HaXml.TypeMapping</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AList1"
>List1</A
> a = <A HREF="#v%3ANonEmpty"
>NonEmpty</A
> [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AANYContent"
>ANYContent</A
> </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <SPAN CLASS="keyword"
>forall</SPAN
> a . (XmlContent a, Show a) => <A HREF="#v%3AANYContent"
>ANYContent</A
> a</TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AUnConverted"
>UnConverted</A
> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>]</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
>Re-export the relevant set of generic XML document type definitions
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3ADocument"
></A
><B
>Document</B
> i</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#Document"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The symbol table stored in a document holds all its general entity
reference definitions.
</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%3ADocument"
></A
><B
>Document</B
> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AProlog"
>Prolog</A
> (<A HREF="Text-XML-HaXml-Types.html#t%3ASymTab"
>SymTab</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AEntityDef"
>EntityDef</A
>) (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> i) [<A HREF="Text-XML-HaXml-Types.html#t%3AMisc"
>Misc</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Document')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Document" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Functor <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADocument"
>Document</A
></TD
></TR
><TR
><TD CLASS="decl"
>??? i => Eq (<A HREF="Text-XML-HaXml-XmlContent.html#t%3ADocument"
>Document</A
> i)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AElement"
></A
><B
>Element</B
> i</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#Element"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><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%3AElem"
></A
><B
>Elem</B
> <A HREF="Text-XML-HaXml-Types.html#t%3AName"
>Name</A
> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> i]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Element')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Element" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Functor <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
></TD
></TR
><TR
><TD CLASS="decl"
>??? i => Eq (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> i)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> i)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AElemTag"
></A
><B
>ElemTag</B
> </TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#ElemTag"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><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%3AElemTag"
></A
><B
>ElemTag</B
> <A HREF="Text-XML-HaXml-Types.html#t%3AName"
>Name</A
> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ElemTag')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ElemTag" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElemTag"
>ElemTag</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AContent"
></A
><B
>Content</B
> i</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#Content"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><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%3ACElem"
></A
><B
>CElem</B
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> i) i</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ACString"
></A
><B
>CString</B
> Bool <A HREF="Text-XML-HaXml-Types.html#t%3ACharData"
>CharData</A
> i</TD
><TD CLASS="rdoc"
>bool is whether whitespace is significant
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ACRef"
></A
><B
>CRef</B
> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AReference"
>Reference</A
> i</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ACMisc"
></A
><B
>CMisc</B
> <A HREF="Text-XML-HaXml-Types.html#t%3AMisc"
>Misc</A
> i</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Content')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Content" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Functor <A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
></TD
></TR
><TR
><TD CLASS="decl"
>(Eq i, ??? i) => Eq (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> i)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> i)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t%3AAttribute"
></A
><B
>Attribute</B
> = (<A HREF="Text-XML-HaXml-Types.html#t%3AName"
>Name</A
>, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttValue"
>AttValue</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#Attribute"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AAttValue"
></A
><B
>AttValue</B
> </TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#AttValue"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><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%3AAttValue"
></A
><B
>AttValue</B
> [Either String <A HREF="Text-XML-HaXml-XmlContent.html#t%3AReference"
>Reference</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:AttValue')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:AttValue" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttValue"
>AttValue</A
></TD
></TR
><TR
><TD CLASS="decl"
>Show <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttValue"
>AttValue</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AProlog"
></A
><B
>Prolog</B
> </TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#Prolog"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><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%3AProlog"
></A
><B
>Prolog</B
> (Maybe <A HREF="Text-XML-HaXml-Types.html#t%3AXMLDecl"
>XMLDecl</A
>) [<A HREF="Text-XML-HaXml-Types.html#t%3AMisc"
>Misc</A
>] (Maybe <A HREF="Text-XML-HaXml-Types.html#t%3ADocTypeDecl"
>DocTypeDecl</A
>) [<A HREF="Text-XML-HaXml-Types.html#t%3AMisc"
>Misc</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Prolog')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Prolog" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq <A HREF="Text-XML-HaXml-XmlContent.html#t%3AProlog"
>Prolog</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AReference"
></A
><B
>Reference</B
> </TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#Reference"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><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%3ARefEntity"
></A
><B
>RefEntity</B
> <A HREF="Text-XML-HaXml-Types.html#t%3AEntityRef"
>EntityRef</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ARefChar"
></A
><B
>RefChar</B
> <A HREF="Text-XML-HaXml-Types.html#t%3ACharRef"
>CharRef</A
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Reference')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Reference" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq <A HREF="Text-XML-HaXml-XmlContent.html#t%3AReference"
>Reference</A
></TD
></TR
><TR
><TD CLASS="decl"
>Show <A HREF="Text-XML-HaXml-XmlContent.html#t%3AReference"
>Reference</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AReference"
>Reference</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
>The enabling classes, that define parsing/unparsing between Haskell
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="Text-XML-HaXml-TypeMapping.html#t%3AHTypeable"
>HTypeable</A
> a => <A NAME="t%3AXmlContent"
></A
><B
>XmlContent</B
> a <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#XmlContent"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The <TT
>XmlContent</TT
> class promises that an XML Content element can be
converted to and from a Haskell value.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AparseContents"
></A
><B
>parseContents</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#parseContents"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert from XML to Haskell
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtoContents"
></A
><B
>toContents</B
> :: a -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()]</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#toContents"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert from Haskell to XML
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AxToChar"
></A
><B
>xToChar</B
> :: a -> Char</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#xToChar"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Dummy functions (for most types): used <EM
>only</EM
> in the Char instance
for coercing lists of Char into String.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AxFromChar"
></A
><B
>xFromChar</B
> :: Char -> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#xFromChar"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:XmlContent')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:XmlContent" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AANYContent"
>ANYContent</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> Bool</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> Char</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> Double</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> Float</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> Int</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> Integer</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> ()</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (a, b)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (a, b, c)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (a, b, c, d)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (a, b, c, d, e)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (a, b, c, d, e, f)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AList1"
>List1</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (Maybe a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> [a]</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (Either a b)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf2"
>OneOf2</A
> a b)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf3"
>OneOf3</A
> a b c)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf4"
>OneOf4</A
> a b c d)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf5"
>OneOf5</A
> a b c d e)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf6"
>OneOf6</A
> a b c d e f)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf7"
>OneOf7</A
> a b c d e f g)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf8"
>OneOf8</A
> a b c d e f g h)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf9"
>OneOf9</A
> a b c d e f g h i)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf10"
>OneOf10</A
> a b c d e f g h i j)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf11"
>OneOf11</A
> a b c d e f g h i j k)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf12"
>OneOf12</A
> a b c d e f g h i j k l)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> m) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf13"
>OneOf13</A
> a b c d e f g h i j k l m)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> m, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> n) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf14"
>OneOf14</A
> a b c d e f g h i j k l m n)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> m, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> n, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> o) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf15"
>OneOf15</A
> a b c d e f g h i j k l m n o)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> m, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> n, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> o, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> p) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf16"
>OneOf16</A
> a b c d e f g h i j k l m n o p)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> m, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> n, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> o, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> p, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> q) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf17"
>OneOf17</A
> a b c d e f g h i j k l m n o p q)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> m, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> n, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> o, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> p, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> q, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> r) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf18"
>OneOf18</A
> a b c d e f g h i j k l m n o p q r)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> m, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> n, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> o, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> p, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> q, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> r, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> s) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf19"
>OneOf19</A
> a b c d e f g h i j k l m n o p q r s)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> b, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> c, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> d, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> e, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> f, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> g, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> h, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> i, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> j, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> k, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> l, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> m, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> n, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> o, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> p, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> q, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> r, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> s, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> t) => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-OneOfN.html#t%3AOneOf20"
>OneOf20</A
> a b c d e f g h i j k l m n o p q r s t)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> <A NAME="t%3AXmlAttributes"
></A
><B
>XmlAttributes</B
> a <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#XmlAttributes"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The <TT
>XmlAttributes</TT
> class promises that a list of XML tag attributes
can be converted to and from a Haskell value.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfromAttrs"
></A
><B
>fromAttrs</B
> :: [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] -> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fromAttrs"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtoAttrs"
></A
><B
>toAttrs</B
> :: a -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>]</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#toAttrs"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> <A NAME="t%3AXmlAttrType"
></A
><B
>XmlAttrType</B
> a <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#XmlAttrType"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The <TT
>XmlAttrType</TT
> class promises that an attribute taking an XML
enumerated type can be converted to and from a Haskell value.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfromAttrToTyp"
></A
><B
>fromAttrToTyp</B
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fromAttrToTyp"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtoAttrFrTyp"
></A
><B
>toAttrFrTyp</B
> :: String -> a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#toAttrFrTyp"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
>Auxiliaries for writing parsers in the XmlContent class
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t%3AXMLParser"
></A
><B
>XMLParser</B
> a = Parser (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>) a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#XMLParser"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>We need a parsing monad for reading generic XML Content into specific
datatypes. This is a specialisation of the Text.ParserCombinators.Poly
ones, where the input token type is fixed as XML Content.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Acontent"
></A
><B
>content</B
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#content"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The most primitive combinator for XMLParser - get one content item.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AposnElement"
></A
><B
>posnElement</B
> :: [String] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#posnElement"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A specialisation of <TT
>posnElementWith (==)</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Aelement"
></A
><B
>element</B
> :: [String] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#element"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Get the next content element, checking that it has one of the required
tags. (Skips over comments and whitespace, rejects text and refs.)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Ainterior"
></A
><B
>interior</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
> -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#interior"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Run an XMLParser on the contents of the given element (i.e. not on the
current monadic content sequence), checking that the contents are
exhausted, before returning the calculated value within the current
parser context.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AinElement"
></A
><B
>inElement</B
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#inElement"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A combination of element + interior.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Atext"
></A
><B
>text</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> String</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#text"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><TT
><A HREF="Text-XML-HaXml-XmlContent.html#v%3Atext"
>text</A
></TT
> is a counterpart to <TT
><A HREF="Text-XML-HaXml-XmlContent.html#v%3Aelement"
>element</A
></TT
>, parsing text content if it
exists. Adjacent text and references are coalesced.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Aattributes"
></A
><B
>attributes</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlAttributes"
>XmlAttributes</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
> -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#attributes"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Do some parsing of the attributes of the given element
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AposnElementWith"
></A
><B
>posnElementWith</B
> :: (String -> String -> Bool) -> [String] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>, <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#posnElementWith"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Get the next content element, checking that it has one of the required
tags, using the given matching function.
(Skips over comments and whitespace, rejects text and refs.
Also returns position of element.)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AelementWith"
></A
><B
>elementWith</B
> :: (String -> String -> Bool) -> [String] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#elementWith"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Like element, only permits a more flexible match against the tagname.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AinElementWith"
></A
><B
>inElementWith</B
> :: (String -> String -> Bool) -> String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#inElementWith"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>A combination of elementWith + interior.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Achoice"
></A
><B
>choice</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => (a -> b) -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> b -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#choice"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>'choice f p' means if parseContents succeeds, apply f to the result,
otherwise use the continuation parser.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Adefinite"
></A
><B
>definite</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a -> String -> String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXMLParser"
>XMLParser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#definite"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>not sure this is needed now. 'definite p' previously ensured that
an element was definitely present. Now I think the monad might take
care of that for us.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="4"
>Auxiliaries for generating in the XmlContent class
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AmkElem"
></A
><B
>mkElem</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => a -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#mkElem"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Generate an element with no attributes, named for its HType.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AmkElemC"
></A
><B
>mkElemC</B
> :: String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#mkElemC"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Generate an element with no attributes, named directly.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AmkAttr"
></A
><B
>mkAttr</B
> :: String -> String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#mkAttr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Generate a single attribute.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtoText"
></A
><B
>toText</B
> :: String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()]</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#toText"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Turn a simple string into XML text.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtoCData"
></A
><B
>toCData</B
> :: String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> ()]</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#toCData"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Turn a string into an XML CDATA section.
(i.e. special characters like & are preserved without interpretation.)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
>Auxiliaries for the attribute-related classes
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AmaybeToAttr"
></A
><B
>maybeToAttr</B
> :: (String -> a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>) -> String -> Maybe a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#maybeToAttr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AdefaultToAttr"
></A
><B
>defaultToAttr</B
> :: (String -> a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>) -> String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADefaultable"
>Defaultable</A
> a -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#defaultToAttr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AdefiniteA"
></A
><B
>definiteA</B
> :: (String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe a) -> String -> String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] -> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#definiteA"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AdefaultA"
></A
><B
>defaultA</B
> :: (String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe a) -> a -> String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADefaultable"
>Defaultable</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#defaultA"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3ApossibleA"
></A
><B
>possibleA</B
> :: (String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe a) -> String -> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
>] -> Maybe a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#possibleA"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfromAttrToStr"
></A
><B
>fromAttrToStr</B
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
> -> Maybe String</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fromAttrToStr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtoAttrFrStr"
></A
><B
>toAttrFrStr</B
> :: String -> String -> Maybe <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttribute"
>Attribute</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#toAttrFrStr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3ADefaultable"
></A
><B
>Defaultable</B
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#Defaultable"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>If an attribute is defaultable, then it either takes the default
value (which is omitted from the output), or a non-default value
(which obviously must be printed).
</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%3ADefault"
></A
><B
>Default</B
> a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3ANonDefault"
></A
><B
>NonDefault</B
> a</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Defaultable')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Defaultable" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq a => Eq (<A HREF="Text-XML-HaXml-XmlContent.html#t%3ADefaultable"
>Defaultable</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>Show a => Show (<A HREF="Text-XML-HaXml-XmlContent.html#t%3ADefaultable"
>Defaultable</A
> a)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Astr2attr"
></A
><B
>str2attr</B
> :: String -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttValue"
>AttValue</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#str2attr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Aattr2str"
></A
><B
>attr2str</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AAttValue"
>AttValue</A
> -> String</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#attr2str"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3Aattval"
></A
><B
>attval</B
> :: Read a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AElement"
>Element</A
> i -> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#attval"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Read a single attribute called <A HREF="value.html"
>value</A
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
>Whole-document conversion functions
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtoXml"
></A
><B
>toXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Bool -> a -> <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADocument"
>Document</A
> ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#toXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a fully-typed XML document to a string (with or without DTD).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfromXml"
></A
><B
>fromXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3ADocument"
>Document</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
> -> Either String a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fromXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Read a Haskell value from an XML document, ignoring the DTD and
using the Haskell result type to determine how to parse it.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AreadXml"
></A
><B
>readXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => String -> Either String a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#readXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Read a fully-typed XML document from a string.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AshowXml"
></A
><B
>showXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Bool -> a -> String</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#showXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a fully-typed XML document to a string (without DTD).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfpsShowXml"
></A
><B
>fpsShowXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Bool -> a -> ByteString</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fpsShowXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a fully-typed XML document to a ByteString (without DTD).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfReadXml"
></A
><B
>fReadXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => FilePath -> IO a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fReadXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Read an XML document from a file and convert it to a fully-typed
Haskell value.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfWriteXml"
></A
><B
>fWriteXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => FilePath -> a -> IO ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fWriteXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Write a fully-typed Haskell value to the given file as an XML
document.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfpsWriteXml"
></A
><B
>fpsWriteXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => FilePath -> a -> IO ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fpsWriteXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Write any Haskell value to the given file as an XML document,
using the FastPackedString interface (output will not be prettified).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AhGetXml"
></A
><B
>hGetXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Handle -> IO a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#hGetXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Read a fully-typed XML document from a file handle.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AhPutXml"
></A
><B
>hPutXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Handle -> Bool -> a -> IO ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#hPutXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Write a fully-typed XML document to a file handle.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfpsHPutXml"
></A
><B
>fpsHPutXml</B
> :: <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => Handle -> Bool -> a -> IO ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#fpsHPutXml"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Write a fully-typed XML document to a file handle, using the
FastPackedString interface (output will not be prettified).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
>Explicit representation of Haskell datatype information
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-XML-HaXml-TypeMapping.html"
>Text.XML.HaXml.TypeMapping</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
>Types useful for some content models
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AList1"
></A
><B
>List1</B
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#List1"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The List1 type represents lists with at least one element.
It is required for DTD content models that use + as a modifier.
</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%3ANonEmpty"
></A
><B
>NonEmpty</B
> [a]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:List1')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:List1" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>??? a => Eq (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AList1"
>List1</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-TypeMapping.html#t%3AHTypeable"
>HTypeable</A
> a => <A HREF="Text-XML-HaXml-TypeMapping.html#t%3AHTypeable"
>HTypeable</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AList1"
>List1</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>??? a => Show (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AList1"
>List1</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> a => <A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> (<A HREF="Text-XML-HaXml-XmlContent.html#t%3AList1"
>List1</A
> a)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AANYContent"
></A
><B
>ANYContent</B
> </TD
><TD CLASS="declbut"
><A HREF="src/Text/XML/HaXml/XmlContent.html#ANYContent"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A type corresponding to XML's ANY contentspec.
It is either a list of unconverted xml <TT
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
></TT
>
or some <TT
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
></TT
>-able value.
</P
><P
>Parsing functions (e.g. <TT
><A HREF="Text-XML-HaXml-XmlContent.html#v%3AparseContents"
>parseContents</A
></TT
>) will always produce <TT
><A HREF="Text-XML-HaXml-XmlContent.html#v%3AUnConverted"
>UnConverted</A
></TT
>.
Note: The Show instance for <TT
><A HREF="Text-XML-HaXml-XmlContent.html#v%3AUnConverted"
>UnConverted</A
></TT
> uses <TT
><A HREF="Text-XML-HaXml-Verbatim.html#v%3Averbatim"
>verbatim</A
></TT
>.
</P
></TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><SPAN CLASS="keyword"
>forall</SPAN
> a . (XmlContent a, Show a) => <A NAME="v%3AANYContent"
></A
><B
>ANYContent</B
> a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3AUnConverted"
></A
><B
>UnConverted</B
> [<A HREF="Text-XML-HaXml-XmlContent.html#t%3AContent"
>Content</A
> <A HREF="Text-XML-HaXml-Posn.html#t%3APosn"
>Posn</A
>]</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ANYContent')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ANYContent" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Eq <A HREF="Text-XML-HaXml-XmlContent.html#t%3AANYContent"
>ANYContent</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-TypeMapping.html#t%3AHTypeable"
>HTypeable</A
> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AANYContent"
>ANYContent</A
></TD
></TR
><TR
><TD CLASS="decl"
>Show <A HREF="Text-XML-HaXml-XmlContent.html#t%3AANYContent"
>ANYContent</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-XmlContent.html#t%3AXmlContent"
>XmlContent</A
> <A HREF="Text-XML-HaXml-XmlContent.html#t%3AANYContent"
>ANYContent</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 0.8</TD
></TR
></TABLE
></BODY
></HTML
>