Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > de6775e528a2ff5ec193c6359891220e > files > 88

haskell-HaXml-1.13.2-1mdv2007.1.i586.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.XML.HaXml.Verbatim</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-1.13.2: Utilities for manipulating XML 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.XML.HaXml.Verbatim</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"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>simons@cryp.to</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>The preferred method for rendering a <TT
><A HREF="Text-XML-HaXml-Types.html#t%3ADocument"
>Document</A
></TT
> or single <TT
><A HREF="Text-XML-HaXml-Types.html#t%3AContent"
>Content</A
></TT
>
   is by using the pretty printing facility defined in <A HREF="Pretty.html"
>Pretty</A
>.
   Pretty-printing does not work well for cases, however, where the
   formatting in the XML document is significant. Examples of this
   case are XHTML's <TT
>&lt;pre&gt;</TT
> tag, Docbook's <TT
>&lt;literallayout&gt;</TT
> tag,
   and many more.
</P
><P
>Theoretically, the document author could avoid this problem by
   wrapping the contents of these tags in a &lt;![CDATA[...]]&gt; section,
   but often this is not practical, for instance when the
   literal-layout section contains other elements. Finally, program
   writers could manually format these elements by transforming them
   into a literal string in their CFliter, etc., but this is
   annoying to do and prone to omissions and formatting errors.
</P
><P
>As an alternative, this module provides the function <TT
><A HREF="Text-XML-HaXml-Verbatim.html#v%3Averbatim"
>verbatim</A
></TT
>,
   which will format XML <TT
><A HREF="Text-XML-HaXml-Types.html#t%3AContent"
>Content</A
></TT
> as a String while retaining the
   formatting of the input document unchanged.
</P
><P
><EM
>Know problems</EM
>:
</P
><UL
><LI
> HaXml's parser eats line feeds between two tags.
</LI
><LI
> <TT
><A HREF="Text-XML-HaXml-Types.html#t%3AAttribute"
>Attribute</A
></TT
>s should be formatted by making them an instance of
      <TT
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
></TT
> as well, but since an <TT
><A HREF="Text-XML-HaXml-Types.html#t%3AAttribute"
>Attribute</A
></TT
> is just a tuple,
      not a full data type, the helper function <TT
><A HREF="Text-XML-HaXml-Verbatim.html#v%3AverbAttr"
>verbAttr</A
></TT
> must be
      used instead.
</LI
><LI
> <TT
><A HREF="Text-XML-HaXml-Types.html#v%3ACMisc"
>CMisc</A
></TT
> is not yet supported.
</LI
><LI
> <TT
><A HREF="Text-XML-HaXml-Types.html#t%3AElement"
>Element</A
></TT
>s, which contain no content, are formatted as
       <TT
>&lt;element-name/&gt;</TT
>, even if they were not defined as being of
       type <TT
>EMPTY</TT
>. In XML this perfectly alright, but in SGML it is
       not. Those, who wish to use <TT
><A HREF="Text-XML-HaXml-Verbatim.html#v%3Averbatim"
>verbatim</A
></TT
> to format parts of say
       an HTML page will have to (a) replace problematic elements by
       literals <EM
>before</EM
> running <TT
><A HREF="Text-XML-HaXml-Verbatim.html#v%3Averbatim"
>verbatim</A
></TT
> or (b) use a second
       search-and-replace stage to fix this.
</LI
></UL
></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"
>class</SPAN
> <A HREF="#t%3AVerbatim"
>Verbatim</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%3Averbatim"
>verbatim</A
> :: a -&gt; String</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AverbAttr"
>verbAttr</A
> :: <A HREF="Text-XML-HaXml-Types.html#t%3AAttribute"
>Attribute</A
> -&gt; String</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A NAME="t%3AVerbatim"
></A
><B
>Verbatim</B
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>This class promises that the function <TT
><A HREF="Text-XML-HaXml-Verbatim.html#v%3Averbatim"
>verbatim</A
></TT
> knows how to
 format this data type into a string without changing the
 formatting.
</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="decl"
><A NAME="v%3Averbatim"
></A
><B
>verbatim</B
> :: a -&gt; String</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:Verbatim')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Verbatim" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> Char</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AContent"
>Content</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AElement"
>Element</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> <A HREF="Text-XML-HaXml-Types.html#t%3AReference"
>Reference</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> a =&gt; <A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> [a]</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> a, <A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> b) =&gt; <A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
> (Either a b)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AverbAttr"
></A
><B
>verbAttr</B
> :: <A HREF="Text-XML-HaXml-Types.html#t%3AAttribute"
>Attribute</A
> -&gt; String</TD
></TR
><TR
><TD CLASS="doc"
>This is a helper function is required because Haskell does not
 allow to make an ordinary tuple (like <TT
><A HREF="Text-XML-HaXml-Types.html#t%3AAttribute"
>Attribute</A
></TT
>) an instance of a
 class. The resulting output will preface the actual attribute with
 a single blank so that lists of <TT
><A HREF="Text-XML-HaXml-Types.html#t%3AAttribute"
>Attribute</A
></TT
>s can be handled
 implicitly by the definition for lists of <TT
><A HREF="Text-XML-HaXml-Verbatim.html#t%3AVerbatim"
>Verbatim</A
></TT
> data types.
</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
>