diff --git a/Makefile b/Makefile
deleted file mode 100644
--- a/Makefile
+++ /dev/null
@@ -1,138 +0,0 @@
-include Version.mk
-
-HXT_HOME	= .
-
-DIST		= $(DIST_NAME)
-DIST_TAR	= $(DIST_NAME).tar.gz
-DIST_FILES	= Makefile Version.mk README LICENCE Setup.lhs $(SOFTWARE).cabal
-
-SETUP		= Setup.lhs
-
-VERSIONTAG	= $(DIST_NAME)
-PUBDATE		:= $(shell date +%Y-%m-%d)
-
-EDIT_VERSION	= sed 's/%DISTFILE%/$(DIST_NAME)/g' \
-		| sed 's/%VERSION%/$(VERSION)/g' \
-		| sed 's/%PUBDATE%/$(PUBDATE)/g'
-
-HSCOLOUR	= HsColour
-HSCOLOUR_CSS	= doc/hscolour.css
-
-# --------------------------------------------------
-
-all		:
-		$(MAKE) -C src all
-		$(MAKE)        $(SOFTWARE).cabal
-
-allexamples	:
-		$(MAKE) -C examples all
-
-test		:
-		$(MAKE) -C examples test
-
-# ------------------------------------------------------------
-
-cabal		:
-		$(MAKE) cabal_configure cabal_build cabal_doc cabal_install
-
-cabal_configure :
-		runhaskell $(SETUP) configure --global
-
-cabal_doc	:
-		$(HSCOLOUR) -print-css > $(HSCOLOUR)
-		runhaskell $(SETUP) haddock --hyperlink-source --hscolour-css=$(HSCOLOUR)
-		rm -f $(HSCOLOUR)
-
-cabal_build	:
-		runhaskell $(SETUP) build
-
-cabal_install	:
-		sudo runhaskell $(SETUP) install --global
-
-# ------------------------------------------------------------
-
-$(SOFTWARE).cabal	: src/$(SOFTWARE)-package.hs src/Makefile Makefile
-		$(MAKE) -C src ../$(SOFTWARE).cabal
-
-DOC_HXT		= $(DIST)/doc/$(SOFTWARE)
-
-doc		: $(SOFTWARE).cabal
-		$(MAKE) cabal_configure cabal_doc
-		[ -d $(DOC_HXT) ] || mkdir -p $(DOC_HXT)
-		( cd dist/doc/html/$(SOFTWARE) ; tar cf - . ) | ( cd $(DOC_HXT) ; tar xf - )
-
-dist		: all doc
-		[ -d $(DIST) ] || mkdir -p $(DIST)
-		$(MAKE) -C src      dist
-		$(MAKE) -C examples dist
-		cp $(DIST_FILES) $(DIST)
-
-tarball		: dist
-		tar -zcvf $(DIST_TAR) $(DIST)
-
-# ------------------------------------------------------------
-
-clean		:
-		$(MAKE) -C src      clean
-		$(MAKE) -C examples clean
-		rm -rf $(DIST) $(DIST_TAR) $(SOFTWARE).cabal .setup-config .installed-pkg-config dist
-
-# ------------------------------------------------------------
-
-tag		:
-		darcs tag $(VERSIONTAG) .
-
-install		:
-		$(MAKE) -C src install
-
-uninstall		:
-		$(MAKE) -C src uninstall
-
-DISTDATE	= $(shell date -r $(DIST_TAR) +%Y-%m-%d.%R)
-
-distcopy	: $(DIST_TAR)
-		scp $(DIST_TAR) hxt@darcs.fh-wedel.de:/home/hxt/$(SOFTWARE)/$(SOFTWARE)-head-$(DISTDATE).tar.gz
-
-# --------------------------------------------------
-
-.PHONY		: all doc test dist clean tag install uninstall tarball webpage cleanwebpage
-
-# --------------------------------------------------
-
-# Create webpage directory for distribution
-
-WEBHOME		= ../../../fh/public_html/HXmlToolbox
-
-webpage		: tarball
-		[ -d $(WEBHOME) ] || exit 1
-		[ -d $(WEBHOME)/hdoc-filter ] || mkdir -p $(WEBHOME)/hdoc-filter
-		cp -r dist/doc/html/$(SOFTWARE)/* $(WEBHOME)/hdoc-filter
-		cp $(DIST_TAR) $(WEBHOME)
-
-# --------------------------------------------------
-
-# make a clean installation from distribution tar
-
-PROD_DIR	= ~/tmp
-INSTALL		= echo now run: "(" cd $(PROD_DIR)/$(DIST) ";" 
-INSTEND		= ")"
-
-distbuild	: tarball
-		( [ -f $(DIST_TAR) ] || exit 1 \
-		; cp -f $(DIST_TAR) $(PROD_DIR) || exit 1 \
-		; cd $(PROD_DIR) || exit 1 \
-		; rm -rf $(DIST) \
-		; tar xvzf $(DIST_TAR) \
-		; cd $(DIST) || exit 1 \
-		; runhaskell $(SETUP) configure || exit 1 \
-		; runhaskell $(SETUP) build || exit 1 \
-		; $(INSTALL) sudo runhaskell $(SETUP) install --global $(INSTEND) \
-		)
-
-distinstall	:
-		$(MAKE) distbuild INSTALL="" INSTEND=""
-
-# --------------------------------------------------
-#
-
-# end Makefile
diff --git a/README b/README
deleted file mode 100644
--- a/README
+++ /dev/null
@@ -1,23 +0,0 @@
-The Haskell XML Toolbox is a collection of tools for processing XML with
-Haskell.
-
-The Haskell XML Toolbox is available from:
-    http://www.fh-wedel.de/~si/HXmlToolbox/
-or from hackage.haskell.org
-
-Detailed information about the features, changes, requirements, installation and documentation
-is available from that web page.
-
-This is the "old" approach with the filters like in HaXmL.
-The package name for these modules is "hxt-filter".
-It requires the "hxt" package to be installed.
-For new projects we strongly recomend the
-library based on arrows (package "hxt").
-
-Installation can be done with cabal in the usual way.
-
-Good luck,
-
-Uwe Schmidt
-
-(uwe@fh-wedel.de)
diff --git a/Version.mk b/Version.mk
deleted file mode 100644
--- a/Version.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# Version.mk
-# Version numbering for HXT filter package
-
-SOFTWARE	= hxt-filter
-VERSION		= 8.3.0
-LASTVERSION	= 8.2.0
-DIST_NAME	= $(SOFTWARE)-$(VERSION)
diff --git a/doc/hxt-filter/Control-Monad-MonadStateIO.html b/doc/hxt-filter/Control-Monad-MonadStateIO.html
deleted file mode 100644
--- a/doc/hxt-filter/Control-Monad-MonadStateIO.html
+++ /dev/null
@@ -1,487 +0,0 @@
-<!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
->Control.Monad.MonadStateIO</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Control-Monad-MonadStateIO.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"
->Control.Monad.MonadStateIO</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->general usefull state monad for a local state and IO
-</P
-><P
->This module is used for threading a state and io actions
- through a computation.
- Here the monad is constructed by hand.
- It could easily be refactored with the use of the monad transformer library.
-</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"
->newtype</SPAN
->  <A HREF="#t%3AStateIO"
->StateIO</A
-> state res = <A HREF="#v%3ASTIO"
->STIO</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3Atrans"
->trans</A
-> :: state -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (res, state)</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aio"
->io</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> a -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtrcState"
->trcState</A
-> ::  (state -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AchangeState"
->changeState</A
-> ::  (state -&gt; state) -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetState"
->setState</A
-> ::  state -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetState"
->getState</A
-> ::  <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Arun"
->run</A
-> ::  state -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state res -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> res</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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->newtype</SPAN
->  <A NAME="t%3AStateIO"
-></A
-><B
->StateIO</B
-> state res </TD
-><TD CLASS="declbut"
-><A HREF="src/Control-Monad-MonadStateIO.html#StateIO"
->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="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ASTIO"
-></A
-><B
->STIO</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3Atrans"
-></A
-><B
->trans</B
-> :: state -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (res, state)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:StateIO')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:StateIO" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> (<A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state)</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%3Aio"
-></A
-><B
->io</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> a -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state a</TD
-><TD CLASS="declbut"
-><A HREF="src/Control-Monad-MonadStateIO.html#io"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->lift IO command to <TT
-><A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtrcState"
-></A
-><B
->trcState</B
-> ::  (state -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Control-Monad-MonadStateIO.html#trcState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->state inspection command: a &quot;show&quot;-like function is applied to the state
- and the result is written to stderr.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AchangeState"
-></A
-><B
->changeState</B
-> ::  (state -&gt; state) -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state state</TD
-><TD CLASS="declbut"
-><A HREF="src/Control-Monad-MonadStateIO.html#changeState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->change the state with a given function and return the new state
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetState"
-></A
-><B
->setState</B
-> ::  state -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state state</TD
-><TD CLASS="declbut"
-><A HREF="src/Control-Monad-MonadStateIO.html#setState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->set the state
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetState"
-></A
-><B
->getState</B
-> ::  <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state state</TD
-><TD CLASS="declbut"
-><A HREF="src/Control-Monad-MonadStateIO.html#getState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->read the state
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Arun"
-></A
-><B
->run</B
-> ::  state -&gt; <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> state res -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> res</TD
-><TD CLASS="declbut"
-><A HREF="src/Control-Monad-MonadStateIO.html#run"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->run a <TT
-><A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-></TT
-> command with an initial state
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Data-Tree-NTree-Filter.html b/doc/hxt-filter/Data-Tree-NTree-Filter.html
deleted file mode 100644
--- a/doc/hxt-filter/Data-Tree-NTree-Filter.html
+++ /dev/null
@@ -1,3754 +0,0 @@
-<!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
->Data.Tree.NTree.Filter</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Data-Tree-NTree-Filter.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"
->Data.Tree.NTree.Filter</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"
->stable</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Uwe Schmidt (uwe\@fh-wedel.de)</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="section4"
-><B
->Contents</B
-></TD
-></TR
-><TR
-><TD
-><DL
-><DT
-><A HREF="#1"
->Filter
-</A
-></DT
-><DT
-><A HREF="#2"
->Monadic Filter
-</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
->Filter for n-ary tree structure with filter combinators
-   copied and modified from HaXml (<A HREF="http://www.cs.york.ac.uk/fp/HaXml/"
->http://www.cs.york.ac.uk/fp/HaXml/</A
->)
-</P
-><P
->Similar but more flexible functions for tree processing are defined in the
-   arrow classes <A HREF="Control-Arrow-ArrowList.html"
->Control.Arrow.ArrowList</A
->, <A HREF="Control-Arrow-ArrowIf.html"
->Control.Arrow.ArrowIf</A
->, <A HREF="Control-Arrow-ArrowTree.html"
->Control.Arrow.ArrowTree</A
-> and <A HREF="Control-Arrow-ArrowState.html"
->Control.Arrow.ArrowState</A
->.
-   For new applications, especially for XML processing, it's recommended to use the arrow interface
-   <A HREF="Text-XML-HXT-Arrow.html"
->Text.XML.HXT.Arrow</A
-> instead of this filter approach as part of the api <A HREF="Text-XML-HXT-Parser.html"
->Text.XML.HXT.Parser</A
->
-</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"
->type</SPAN
-> <A HREF="#t%3ATFilter"
->TFilter</A
-> node = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3ATSFilter"
->TSFilter</A
-> node = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Asatisfies"
->satisfies</A
-> ::  (a -&gt; [b]) -&gt; a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Anone"
->none</A
-> ::  a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Athis"
->this</A
-> ::  a -&gt; [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOf"
->isOf</A
-> ::  (a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; a -&gt; [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfNode"
->isOfNode</A
-> ::  (node -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkNTree"
->mkNTree</A
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AreplaceNode"
->replaceNode</A
-> ::  node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AreplaceChildren"
->replaceChildren</A
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmodifyNode"
->modifyNode</A
-> ::  (node -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
->Maybe</A
-> node) -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmodifyNode0"
->modifyNode0</A
-> ::  (node -&gt; node) -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmodifyChildren"
->modifyChildren</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATSFilter"
->TSFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsubstChildren"
->substChildren</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessChildren"
->processChildren</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Ao"
->o</A
-> ::  (a -&gt; [b]) -&gt; (c -&gt; [a]) -&gt; c -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A.%3E"
->(.&gt;)</A
-> ::  (a -&gt; [b]) -&gt; (b -&gt; [c]) -&gt; a -&gt; [c]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AseqF"
->seqF</A
-> ::  [a -&gt; [a]] -&gt; a -&gt; [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A..%3E"
->(..&gt;)</A
-> ::  (a -&gt; [b]) -&gt; (a -&gt; b -&gt; [d]) -&gt; a -&gt; [d]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%2B%2B%2B"
->(+++)</A
-> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Acat"
->cat</A
-> ::  [a -&gt; [b]] -&gt; a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AorElse"
->orElse</A
-> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aiff"
->iff</A
-> ::  (a -&gt; [c]) -&gt; (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Achoice"
->choice</A
-> ::  [<A HREF="Data-Tree-NTree-Filter.html#t%3AIfThen"
->IfThen</A
-> (a -&gt; [c]) (a -&gt; [b])] -&gt; a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
->  <A HREF="#t%3AIfThen"
->IfThen</A
-> a b = a <A HREF="#v%3A%3A-%3E"
->:-&gt;</A
-> b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Awhen"
->when</A
-> ::  (a -&gt; [a]) -&gt; (a -&gt; [a]) -&gt; a -&gt; [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AwhenNot"
->whenNot</A
-> ::  (a -&gt; [a]) -&gt; (a -&gt; [a]) -&gt; a -&gt; [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aguards"
->guards</A
-> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aneg"
->neg</A
-> ::  (a -&gt; [c]) -&gt; a -&gt; [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Acontaining"
->containing</A
-> ::  (a -&gt; [b]) -&gt; (b -&gt; [c]) -&gt; a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnotContaining"
->notContaining</A
-> ::  (a -&gt; [b]) -&gt; (b -&gt; [c]) -&gt; a -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%2F%3E"
->(/&gt;)</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%3C%2F"
->(&lt;/)</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Adeep"
->deep</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Adeepest"
->deepest</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Amulti"
->multi</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessBottomUp"
->processBottomUp</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessBottomUpIfNot"
->processBottomUpIfNot</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessTopDown"
->processTopDown</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessTopDownUntil"
->processTopDownUntil</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AinsertChildrenAt"
->insertChildrenAt</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AinsertChildrenAfter"
->insertChildrenAfter</A
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AthisM"
->thisM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; a -&gt; m [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnoneM"
->noneM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; a -&gt; m [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A.%3E%3E"
->(.&gt;&gt;)</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [b]) -&gt; (b -&gt; m [c]) -&gt; a -&gt; m [c]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AseqM"
->seqM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; [a -&gt; m [a]] -&gt; a -&gt; m [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%2B%2B%2B%3E%3E"
->(+++&gt;&gt;)</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [b]) -&gt; (a -&gt; m [b]) -&gt; a -&gt; m [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcatM"
->catM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; [a -&gt; m [b]] -&gt; a -&gt; m [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AifM"
->ifM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; [b]) -&gt; (a -&gt; m [c]) -&gt; (a -&gt; m [c]) -&gt; a -&gt; m [c]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AchoiceM"
->choiceM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; [<A HREF="Data-Tree-NTree-Filter.html#t%3AIfThen"
->IfThen</A
-> (a -&gt; [c]) (a -&gt; m [b])] -&gt; a -&gt; m [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AwhenM"
->whenM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [a]) -&gt; (a -&gt; [b]) -&gt; a -&gt; m [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AwhenNotM"
->whenNotM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [a]) -&gt; (a -&gt; [b]) -&gt; a -&gt; m [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AguardsM"
->guardsM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; [b]) -&gt; (a -&gt; m [c]) -&gt; a -&gt; m [c]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcontainingM"
->containingM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [b]) -&gt; (b -&gt; [c]) -&gt; a -&gt; m [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessChildrenM"
->processChildrenM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessTopDownM"
->processTopDownM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessBottomUpM"
->processBottomUpM</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AliftMf"
->liftMf</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; [b]) -&gt; a -&gt; m [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%24%24"
->($$)</A
-> ::  (a -&gt; [b]) -&gt; [a] -&gt; [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%24%24%3C"
->($$&lt;)</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [b]) -&gt; [a] -&gt; m [b]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AperformAction"
->performAction</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m b) -&gt; a -&gt; m [a]</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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A NAME="t%3ATFilter"
-></A
-><B
->TFilter</B
-> node = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#TFilter"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->tree filter type: a function mapping a tree onto a list of trees
-</P
-><P
->filter can be used in various ways, as predicates, selectors, transformers, ...
-</P
-></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%3ATSFilter"
-></A
-><B
->TSFilter</B
-> node = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#TSFilter"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->a filter for sequences
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Asatisfies"
-></A
-><B
->satisfies</B
-> ::  (a -&gt; [b]) -&gt; a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#satisfies"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->satisfies converts a result of a predicate filter into a boolean
-</P
-><P
->is a shortcut for not . null
-</P
-><P
->typical use in guards or ifs: <TT
->if (satisfies f) t then ... else ... </TT
->
-</P
-><UL
-><LI
-> 1.parameter f :  the predicate filter
-</LI
-><LI
-> 2.parameter t :  the tree to be tested
-</LI
-><LI
-> returns : <TT
->b = not (null (f t))</TT
->
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="1"
->Filter
-</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Anone"
-></A
-><B
->none</B
-> ::  a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#none"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->the null filter, returns the empty list
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Athis"
-></A
-><B
->this</B
-> ::  a -&gt; [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#this"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->the unit filter, returns the single element list containing the argument
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisOf"
-></A
-><B
->isOf</B
-> ::  (a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; a -&gt; [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#isOf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->conversion from predicate function to filter
-</P
-><UL
-><LI
-> 1.parameter p :  the predicate for testing the tree
-</LI
-><LI
-> returns : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Athis"
->this</A
-></TT
-> or <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Anone"
->none</A
-></TT
-> depending on the predicate
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisOfNode"
-></A
-><B
->isOfNode</B
-> ::  (node -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#isOfNode"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->select filter, selects trees with node values with a specific property
-</P
-><UL
-><LI
-> 1.parameter p :  the predicate for testing the node value
-</LI
-><LI
-> returns : <TT
->[]</TT
-> or <TT
->[t]</TT
-> depending on <TT
->p t</TT
->
-</LI
-></UL
-><P
->a special case of <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AisOf"
->isOf</A
-></TT
-> filter
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkNTree"
-></A
-><B
->mkNTree</B
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#mkNTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for substituting an arbitray tree by a constant
-</P
-><UL
-><LI
-> 1.parameter t :  the result tree, the input tree is ignored
-</LI
-><LI
-> returns : the filter
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AreplaceNode"
-></A
-><B
->replaceNode</B
-> ::  node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#replaceNode"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for replacing the node
-</P
-><UL
-><LI
-> 1.parameter n :  the new node
-</LI
-><LI
-> returns : the editing filter
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AreplaceChildren"
-></A
-><B
->replaceChildren</B
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#replaceChildren"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for replacing the children
-</P
-><UL
-><LI
-> 1.parameter cs :  cs the list of children
-</LI
-><LI
-> returns : the filter
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmodifyNode"
-></A
-><B
->modifyNode</B
-> ::  (node -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
->Maybe</A
-> node) -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#modifyNode"
->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%3AmodifyNode0"
-></A
-><B
->modifyNode0</B
-> ::  (node -&gt; node) -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#modifyNode0"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for editing the node
-</P
-><UL
-><LI
-> 1.parameter nf :  the XNode editing funtion
-</LI
-><LI
-> returns : the filter
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmodifyChildren"
-></A
-><B
->modifyChildren</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATSFilter"
->TSFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#modifyChildren"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for editing the children
-</P
-><P
->all children are processed with a filter mapping lists to lists,
- this enables not only elementwise editing by lifting a normal
- filter to a list filter with <TT
->(f $$)</TT
-> (see '($$)') but also manipulation
- of the order of the elements, e.g. <A HREF="reverse.html"
->reverse</A
-> is an appropriate childen
- editing function.
-</P
-><UL
-><LI
-> 1.parameter csf :  the children editing function
-</LI
-><LI
-> returns : the filter
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessChildren"
->processChildren</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsubstChildren"
-></A
-><B
->substChildren</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#substChildren"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter for substituting the children of a tree by
- a new list of childen computed by applying a filter to the input tree.
- <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AmodifyChildren"
->modifyChildren</A
-></TT
-> can be expressed by <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AsubstChildren"
->substChildren</A
-></TT
->:
- <TT
->modifyChildren f t</TT
-> is equal to <TT
->substChildren (f . getChildren)</TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessChildren"
-></A
-><B
->processChildren</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#processChildren"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Filter for editing the children of a tree element wise
-</P
-><UL
-><LI
-> 1.parameter cf :  the filter applied to the children
-</LI
-><LI
-> returns : the editing filter
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AmodifyChildren"
->modifyChildren</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Ao"
-></A
-><B
->o</B
-> ::  (a -&gt; [b]) -&gt; (c -&gt; [a]) -&gt; c -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#o"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->sequential composition of filters, usually written in infix notation f2 <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Ao"
->o</A
-></TT
-> f1.
-</P
-><P
->for predicate filter the logical AND
-</P
-><UL
-><LI
-> 1.parameter f2 :  the 2. filter
-</LI
-><LI
-> 2.parameter f1 :  the 1. filter
-</LI
-><LI
-> returns : the fiter applying first f1 to n and then f2 to the result (like function composition)
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A.%3E"
-></A
-><B
->(.&gt;)</B
-> ::  (a -&gt; [b]) -&gt; (b -&gt; [c]) -&gt; a -&gt; [c]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#.%3E"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->pronounced &quot;followed by&quot;, defined as: <TT
->f .&gt; g = g `o` f</TT
->.
-</P
-><P
->allows filter composition in a more readable way from left to right
-</P
-><UL
-><LI
-> 1.parameter f1 :  the 1. filter
-</LI
-><LI
-> 2.parameter f2 :  the 2. filter
-</LI
-><LI
-> returns : the composition of f1 and f2
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Ao"
->o</A
-></TT
->, '(..&gt;)'
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AseqF"
-></A
-><B
->seqF</B
-> ::  [a -&gt; [a]] -&gt; a -&gt; [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#seqF"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->apply a list of filters sequentially with '(.&gt;)', for predicate filters the generalized AND
-</P
-><P
->see also : '(.&gt;)'
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A..%3E"
-></A
-><B
->(..&gt;)</B
-> ::  (a -&gt; [b]) -&gt; (a -&gt; b -&gt; [d]) -&gt; a -&gt; [d]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#..%3E"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->special sequential composition.
-</P
-><P
->filter f is applied to an argument t.
- then filter g is applied to all elements of the result list,
- but the argument t is also passed as extra parameter to g.
-</P
-><P
->This allows for step by step transformations of a tree
- with access to the original tree in every
- transformation step.
-</P
-><P
->see also : '(.&gt;)', <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Ao"
->o</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%2B%2B%2B"
-></A
-><B
->(+++)</B
-> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#%2B%2B%2B"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->binary parallel composition, the logical OR for predicate filter
-</P
-><UL
-><LI
-> 1.parameter f1 :  the 1. filter
-</LI
-><LI
-> 2.parameter f2 :  the 2. filter
-</LI
-><LI
-> returns : the filter for applying f1 and f2 both to an argument tree and concatenating the results
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Acat"
-></A
-><B
->cat</B
-> ::  [a -&gt; [b]] -&gt; a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#cat"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->apply a list of filters, a &quot;union&quot; for lists, for predicate filters the generalized OR
-</P
-><UL
-><LI
-> 1.parameter fs :  the list of filters
-</LI
-><LI
-> returns : the composing filter
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AorElse"
-></A
-><B
->orElse</B
-> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#orElse"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->directional choice, usually written in infix notation as f <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AorElse"
->orElse</A
-></TT
-> g
-</P
-><UL
-><LI
-> 1.parameter f :  the 1. filter
-</LI
-><LI
-> 2.parameter g :  the 2. filter
-</LI
-><LI
-> 3.parameter t :  the tree
-</LI
-><LI
-> returns : the filter, that applies f to t, if the result is not the empty list, the result is found, else g t is the result
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aiff"
-></A
-><B
->iff</B
-> ::  (a -&gt; [c]) -&gt; (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#iff"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->if then else lifted to filters
-</P
-><UL
-><LI
-> 1.parameter p :  the predicate filter
-</LI
-><LI
-> 2.parameter t :  the &quot;then&quot; filter
-</LI
-><LI
-> 3.parameter e :  the &quot;else&quot; filter
-</LI
-><LI
-> returns : the resulting conditional filter
-</LI
-></UL
-></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="Data-Tree-NTree-Filter.html#t%3AIfThen"
->IfThen</A
-> (a -&gt; [c]) (a -&gt; [b])] -&gt; a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#choice"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->multiway branch. The list of cases <TT
->f :-&gt; g</TT
-> is processed sequentially,
- in the first case for that f holds g is applied, if no case matches, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Anone"
->none</A
-></TT
-> is
- applied.
- This filter can be used like a case expression: <TT
->choice [ p1 :-&gt; f1, p2 :-&gt; f2, ... , this :-&gt; defaultFilter]</TT
->
-</P
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aiff"
->iff</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AchoiceM"
->choiceM</A
-></TT
->
-</P
-></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%3AIfThen"
-></A
-><B
->IfThen</B
-> a b </TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#IfThen"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->auxiliary datatype for cases within choice filter
-</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 <A NAME="v%3A%3A-%3E"
-></A
-><B
->:-&gt;</B
-> b</TD
-><TD CLASS="rdoc"
-></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"
-><A NAME="v%3Awhen"
-></A
-><B
->when</B
-> ::  (a -&gt; [a]) -&gt; (a -&gt; [a]) -&gt; a -&gt; [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#when"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->when the predicate p holds, f is applied, else the identity filter this
-</P
-><UL
-><LI
-> 1.parameter f :  the conditinally applied filter
-</LI
-><LI
-> 2.parameter p :  the predicate
-</LI
-><LI
-> returns : the conditional filter
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aiff"
->iff</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenNot"
->whenNot</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aguards"
->guards</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenM"
->whenM</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AwhenNot"
-></A
-><B
->whenNot</B
-> ::  (a -&gt; [a]) -&gt; (a -&gt; [a]) -&gt; a -&gt; [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#whenNot"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the complementary filter of when
-</P
-><P
->shortcut for f <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Awhen"
->when</A
-></TT
-> neg g
-</P
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aiff"
->iff</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Awhen"
->when</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenNotM"
->whenNotM</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aneg"
->neg</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aguards"
-></A
-><B
->guards</B
-> ::  (a -&gt; [b]) -&gt; (a -&gt; [b]) -&gt; a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#guards"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->when the predicate p holds, f is applied, else the null filter none
-</P
-><UL
-><LI
-> 1.parameter p :  the predicate filter
-</LI
-><LI
-> 2.parameter f :  the conditionally applied filter
-</LI
-><LI
-> returns : the conditional filter
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aiff"
->iff</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Awhen"
->when</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AguardsM"
->guardsM</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aneg"
-></A
-><B
->neg</B
-> ::  (a -&gt; [c]) -&gt; a -&gt; [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#neg"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->negation lifted to filters
-</P
-><UL
-><LI
-> 1.parameter f :  the predicate filter
-</LI
-><LI
-> returns : the filter, that succeeds, when f failed
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Acontaining"
-></A
-><B
->containing</B
-> ::  (a -&gt; [b]) -&gt; (b -&gt; [c]) -&gt; a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#containing"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->pruning: keep only those results from f for which g holds, usually written in infix notation as f <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acontaining"
->containing</A
-></TT
-> g
-</P
-><UL
-><LI
-> 1.parameter f :  the processing filter
-</LI
-><LI
-> 2.parameter g :  the predicate filter
-</LI
-><LI
-> 3.parameter t :  the tree
-</LI
-><LI
-> returns : all trees r from f t, for which g r holds (is not the empty list)
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AnotContaining"
->notContaining</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnotContaining"
-></A
-><B
->notContaining</B
-> ::  (a -&gt; [b]) -&gt; (b -&gt; [c]) -&gt; a -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#notContaining"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->pruning: keep only those results from f for which g does not hold
-</P
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acontaining"
->containing</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%2F%3E"
-></A
-><B
->(/&gt;)</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#%2F%3E"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->pronounced &quot;slash&quot;, meaning g inside f
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%3C%2F"
-></A
-><B
->(&lt;/)</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#%3C%2F"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->pronounced &quot;outside&quot; meaning f containing g
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Adeep"
-></A
-><B
->deep</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#deep"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->top down search.
-</P
-><P
->search terminates, when filter f succeeds
- can e.g. be used for finding all outermost tag node of a specific kind
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Adeepest"
-></A
-><B
->deepest</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#deepest"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->bottom up search.
-</P
-><P
->first the children are processed,
- if this does not succeed, the node itself is processed
- can e.g. be used for finding all innermost tag nodes of a specific kind
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Amulti"
-></A
-><B
->multi</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#multi"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->process all nodes of the whole tree.
-</P
-><P
->can e.g. be used for finding all nodes of a specific kind
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessBottomUp"
-></A
-><B
->processBottomUp</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#processBottomUp"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->bottom up transformation
-</P
-><UL
-><LI
-> 1.parameter f :  the <EM
->simple</EM
-> transforming filter
-</LI
-><LI
-> returns : the filter that applies f to all subtrees and the tree itself in a deepth first left to right manner
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessTopDown"
->processTopDown</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessBottomUpIfNot"
->processBottomUpIfNot</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessBottomUpIfNot"
-></A
-><B
->processBottomUpIfNot</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#processBottomUpIfNot"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->guarded bottom up transformation, stops at subtrees for which a predicate p holds
-</P
-><UL
-><LI
-> 1.parameter f :  the transforming filter
-</LI
-><LI
-> 2.parameter p :  the predicate filter for the guard
-</LI
-><LI
-> returns : the filter for processing all (sub-)trees
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessBottomUp"
->processBottomUp</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessTopDown"
-></A
-><B
->processTopDown</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#processTopDown"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->top down transformation
-</P
-><UL
-><LI
-> 1.parameter f :  the <EM
->simple</EM
-> transforming filter
-</LI
-><LI
-> returns : the filter that applies f first to the tree and then recursively to all subtrees of the result
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessBottomUp"
->processBottomUp</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessTopDownUntil"
-></A
-><B
->processTopDownUntil</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#processTopDownUntil"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->top down transformation until a node to be transformed is found
-</P
-><UL
-><LI
-> 1.parameter f :  the <EM
->simple</EM
-> transforming filter
-</LI
-><LI
-> returns : the filter that applies f first to the tree and, if the filter does not succeed,
-		  recursively to all children of the input tree.
-</LI
-></UL
-><P
->Example:
-</P
-><PRE
->processTopDownUntil none</PRE
-><P
->is the identity filter (maybe a bit more inefficient).
-</P
-><P
->Example:
-</P
-><PRE
->processTopDownUntil (add1Attr &quot;border&quot; &quot;2&quot; `containing` isTag &quot;table&quot;)</PRE
-><P
->is a filter for adding an attribute border=&quot;2&quot; in all top level table tags.
-		  The content of table tags will remain unchanged.
-</P
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessTopDown"
->processTopDown</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessBottomUp"
->processBottomUp</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AinsertChildrenAt"
-></A
-><B
->insertChildrenAt</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#insertChildrenAt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->insertion of trees into the list of children at a given position
-</P
-><P
->useful for inserting something into the list of children at a given position
- the list of children is split with the <TT
->splitAt</TT
-> function
- the nodes are inserted between these two sublists.
-</P
-><P
->examples: <TT
->insertChildrenAt 0 ins t</TT
-> inserts all elements computed with <TT
->ins t</TT
-> in front
- of the childen of <TT
->t</TT
->, <TT
->insertChildrenAt 1 ins t</TT
-> behind the first child
-</P
-><P
->see also: <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AinsertChildrenAfter"
->insertChildrenAfter</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AinsertChildrenAfter"
-></A
-><B
->insertChildrenAfter</B
-> ::  <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node -&gt; <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#insertChildrenAfter"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->insertion of trees into the list of children after specific elements
-</P
-><P
->useful for inserting something into the list of children of a node
- the list of children is split with the <TT
->span</TT
-> function and the filter p as predicate
- the nodes are inserted between these two sublists
-</P
-><P
->examples: <TT
->insertChildrenAfter none ins t</TT
-> inserts all elements computed with <TT
->ins t</TT
-> in front
- of the childen of <TT
->t</TT
->, <TT
->insertChildrenAfter this ins t</TT
-> appends the elements to the children
-</P
-><P
->see also: <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AinsertChildrenAt"
->insertChildrenAt</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
-><A NAME="2"
->Monadic Filter
-</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AthisM"
-></A
-><B
->thisM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; a -&gt; m [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#thisM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the monadic version of the identity filter this.
-</P
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Athis"
->this</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnoneM"
-></A
-><B
->noneM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; a -&gt; m [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#noneM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the monadic version of the null filter none.
-</P
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Anone"
->none</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A.%3E%3E"
-></A
-><B
->(.&gt;&gt;)</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [b]) -&gt; (b -&gt; m [c]) -&gt; a -&gt; m [c]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#.%3E%3E"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->sequential composition of monadic filters, monadic version of &quot;.&gt;&quot;.
-</P
-><UL
-><LI
-> 1.parameter f1 :  the 1. monadic filter
-</LI
-><LI
-> 2.parameter f2 :  the 2. monadic filter
-</LI
-><LI
-> returns : the monadic fiter applying first f1 to n and then f2 to the result (like function composition)
-</LI
-></UL
-><P
->see also : '(.&gt;)'
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AseqM"
-></A
-><B
->seqM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; [a -&gt; m [a]] -&gt; a -&gt; m [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#seqM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->generalized sequential composition of monadic filters
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%2B%2B%2B%3E%3E"
-></A
-><B
->(+++&gt;&gt;)</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [b]) -&gt; (a -&gt; m [b]) -&gt; a -&gt; m [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#%2B%2B%2B%3E%3E"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->binary parallel composition, the logical OR for predicate filter
-</P
-><UL
-><LI
-> 1.parameter f1 :  the 1. filter
-</LI
-><LI
-> 2.parameter f2 :  the 2. filter
-</LI
-><LI
-> returns : the filter for applying f1 and f2 both to an argument tree and concatenating the results
- see also: <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acat"
->cat</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%2B%2B%2B"
->+++</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AcatM"
->catM</A
-></TT
->
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcatM"
-></A
-><B
->catM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; [a -&gt; m [b]] -&gt; a -&gt; m [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#catM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->apply a list of monadic filters
-</P
-><UL
-><LI
-> 1.parameter fs :  the list of filters
-</LI
-><LI
-> returns : the composing filter
- see also: <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acat"
->cat</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%2B%2B%2B"
->+++</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%2B%2B%2B%3E%3E"
->+++&gt;&gt;</A
-></TT
->
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AifM"
-></A
-><B
->ifM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; [b]) -&gt; (a -&gt; m [c]) -&gt; (a -&gt; m [c]) -&gt; a -&gt; m [c]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#ifM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->monadic if-then-else.
-</P
-><UL
-><LI
-> 1.parameter p :  the predicate
-</LI
-><LI
-> 2.parameter thenP :  the then part: the monadic filter, that is applied if p holds for the input tree
-</LI
-><LI
-> 3.parameter elseP :  the else part
-</LI
-><LI
-> returns : the monadic filter for the conditional
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AchoiceM"
-></A
-><B
->choiceM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; [<A HREF="Data-Tree-NTree-Filter.html#t%3AIfThen"
->IfThen</A
-> (a -&gt; [c]) (a -&gt; m [b])] -&gt; a -&gt; m [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#choiceM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->monadic version of multiway branch. The list of cases <TT
->f :-&gt; g</TT
-> is processed sequentially,
- in the first case for that f holds g is applied, if no case matches, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AnoneM"
->noneM</A
-></TT
-> is
- applied.
- This filter can be used like a case expression: <TT
->choiceM [ p1 :-&gt; f1, p2 :-&gt; f2, ... , thisM :-&gt; defaultFilter]</TT
->
-</P
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Achoice"
->choice</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AifM"
->ifM</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AwhenM"
-></A
-><B
->whenM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [a]) -&gt; (a -&gt; [b]) -&gt; a -&gt; m [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#whenM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->when the predicate p holds, the monadic filter f is applied, else the identity filter.
-</P
-><UL
-><LI
-> 1.parameter f :  the conditinally applied monadic filter
-</LI
-><LI
-> 2.parameter p :  the simple predicate
-</LI
-><LI
-> returns : the conditional filter
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AifM"
->ifM</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Awhen"
->when</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AguardsM"
->guardsM</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenNotM"
->whenNotM</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AwhenNotM"
-></A
-><B
->whenNotM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [a]) -&gt; (a -&gt; [b]) -&gt; a -&gt; m [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#whenNotM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the complementary filter of whenM.
-</P
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AifM"
->ifM</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenM"
->whenM</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenNot"
->whenNot</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AguardsM"
-></A
-><B
->guardsM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; [b]) -&gt; (a -&gt; m [c]) -&gt; a -&gt; m [c]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#guardsM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->when the predicate p holds, the monadic filter f is applied, else the null filter.
-</P
-><UL
-><LI
-> 1.parameter p :  the simple predicate filter
-</LI
-><LI
-> 2.parameter f :  the conditionally applied monadic filter
-</LI
-><LI
-> returns : the conditional filter
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AifM"
->ifM</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aguards"
->guards</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenM"
->whenM</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcontainingM"
-></A
-><B
->containingM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [b]) -&gt; (b -&gt; [c]) -&gt; a -&gt; m [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#containingM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->pruning: monadic version of containing, usually written in infix notation as f <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AcontainingM"
->containingM</A
-></TT
-> g
-</P
-><UL
-><LI
-> 1.parameter f :  the monadic processing filter
-</LI
-><LI
-> 2.parameter g :  the predicate filter
-</LI
-><LI
-> 3.parameter t :  the tree
-</LI
-><LI
-> returns : all trees r from f t, for which g r holds (is not the empty list)
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AnotContaining"
->notContaining</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessChildrenM"
-></A
-><B
->processChildrenM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#processChildrenM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Filter for editing the children of a tree with a monadic filter
-</P
-><UL
-><LI
-> 1.parameter cf :  the monadic filter applied to the children
-</LI
-><LI
-> returns : the monadic editing filter
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessChildren"
->processChildren</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessTopDownM"
-></A
-><B
->processTopDownM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#processTopDownM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->monadic variant of <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessTopDown"
->processTopDown</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessBottomUpM"
-></A
-><B
->processBottomUpM</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; m [<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#processBottomUpM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->monadic variant of <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessBottomUp"
->processBottomUp</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AliftMf"
-></A
-><B
->liftMf</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; [b]) -&gt; a -&gt; m [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#liftMf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->lift a filter to a monadic filter
-</P
-><UL
-><LI
-> 1.parameter f :  the <EM
->simple</EM
-> filter
-</LI
-><LI
-> returns : the lifted monadic version
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%24%24"
-></A
-><B
->($$)</B
-> ::  (a -&gt; [b]) -&gt; [a] -&gt; [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#%24%24"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->infix operator for applying a filter to a list of trees
-</P
-><UL
-><LI
-> 1.parameter f :  the filter
-</LI
-><LI
-> 2.parameter ts :  the list of trees
-</LI
-><LI
-> returns : the concatenated list of results
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%24%24%3C"
-></A
-><B
->($$&lt;)</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m [b]) -&gt; [a] -&gt; m [b]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#%24%24%3C"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->infix operator for applying a monadic filter to a list of trees,
- typically used in do-notation for processing of intermediate results.
-</P
-><UL
-><LI
-> 1.parameter f :  the monadic filter
-</LI
-><LI
-> 2.parameter ts :  the list of trees
-</LI
-><LI
-> returns : the concatenated list of results
-</LI
-></UL
-><P
->see also : '($$)'
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AperformAction"
-></A
-><B
->performAction</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Control-Monad.html#t%3AMonad"
->Monad</A
-> m =&gt; (a -&gt; m b) -&gt; a -&gt; m [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Data-Tree-NTree-Filter.html#performAction"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->run an arbitray command on a tree t and return the tree,
- used for inserting arbitray commands in a filter pipeline
-</P
-><UL
-><LI
-> 1.parameter cmd :  the command
-</LI
-><LI
-> 2.parameter t :  the argument tree
-</LI
-><LI
-> returns : the unchanged tree as a single element list
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/System-PipeOpen.html b/doc/hxt-filter/System-PipeOpen.html
deleted file mode 100644
--- a/doc/hxt-filter/System-PipeOpen.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<!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
->System.PipeOpen</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/System-PipeOpen.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"
->System.PipeOpen</FONT
-></TD
-><TD ALIGN="right"
-><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="infohead"
->Portability</TD
-><TD CLASS="infoval"
->none portable</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Stability</TD
-><TD CLASS="infoval"
->experimental</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Uwe Schmidt (uwe\@fh-wedel.de)</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
->Version    : $Id: PipeOpen.hs,v 1.2 2005<EM
->09</EM
->02 17:09:39 hxml Exp $
-</P
-><P
->pipe open implemented with System.Process functions
-</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"
-><A HREF="#v%3Apopen"
->popen</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; [<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->] -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->, <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->, <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
->)</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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Apopen"
-></A
-><B
->popen</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; [<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->] -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->, <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->, <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
->)</TD
-><TD CLASS="declbut"
-><A HREF="src/System-PipeOpen.html#popen"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->call an external program with a list of command line arguments
- and return content of stdout, content of stderr and return code
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM-EditFilters.html b/doc/hxt-filter/Text-XML-HXT-DOM-EditFilters.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM-EditFilters.html
+++ /dev/null
@@ -1,1463 +0,0 @@
-<!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.HXT.DOM.EditFilters</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.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.HXT.DOM.EditFilters</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->XML editing filters
-</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"
-><A HREF="#v%3AcanonicalizeTree"
->canonicalizeTree</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcanonicalizeAllNodes"
->canonicalizeAllNodes</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcanonicalizeForXPath"
->canonicalizeForXPath</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcollapseXText"
->collapseXText</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcollapseAllXText"
->collapseAllXText</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AindentDoc"
->indentDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AremoveWhiteSpace"
->removeWhiteSpace</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AremoveAllWhiteSpace"
->removeAllWhiteSpace</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AremoveDocWhiteSpace"
->removeDocWhiteSpace</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AremoveComment"
->removeComment</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AremoveAllComment"
->removeAllComment</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtransfCdata"
->transfCdata</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtransfAllCdata"
->transfAllCdata</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtransfCdataEscaped"
->transfCdataEscaped</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtransfAllCdataEscaped"
->transfAllCdataEscaped</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtransfCharRef"
->transfCharRef</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtransfAllCharRef"
->transfAllCharRef</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AescapeXmlDoc"
->escapeXmlDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AescapeXmlText"
->escapeXmlText</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AescapeXmlAttrValue"
->escapeXmlAttrValue</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AunparseXmlDoc"
->unparseXmlDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnumberLinesInXmlDoc"
->numberLinesInXmlDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnumberLines"
->numberLines</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtreeRepOfXmlDoc"
->treeRepOfXmlDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhaskellRepOfXmlDoc"
->haskellRepOfXmlDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AaddHeadlineToXmlDoc"
->addHeadlineToXmlDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AaddXmlPiToDoc"
->addXmlPiToDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcanonicalizeTree"
-></A
-><B
->canonicalizeTree</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#canonicalizeTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Applies some <A HREF="Canonical XML.html"
->Canonical XML</A
-> rules to the nodes of a tree.
-</P
-><P
->The rule differ slightly for canonical XML and XPath in handling of comments
-</P
-><P
->Note: This is not the whole canonicalization as it is specified by the W3C
- Recommendation. Adding attribute defaults or sorting attributes in lexicographic
- order is done by the <TT
->transform</TT
-> function of module <TT
->Text.XML.HXT.Validator.Validation</TT
->.
- Replacing entities or line feed normalization is done by the parser.
-</P
-><P
->Not implemented yet:
-</P
-><UL
-><LI
-> Whitespace within start and end tags is normalized
-</LI
-><LI
-> Special characters in attribute values and character content are replaced by character references
-</LI
-></UL
-><P
->see <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcanonicalizeAllNodes"
->canonicalizeAllNodes</A
-></TT
-> and <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcanonicalizeForXPath"
->canonicalizeForXPath</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcanonicalizeAllNodes"
-></A
-><B
->canonicalizeAllNodes</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#canonicalizeAllNodes"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->canonicalize tree and remove comments and &lt;?xml ... ?&gt; declarations
-</P
-><P
->see <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcanonicalizeTree"
->canonicalizeTree</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcanonicalizeForXPath"
-></A
-><B
->canonicalizeForXPath</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#canonicalizeForXPath"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Canonicalize a tree for XPath
- Comment nodes are not removed
-</P
-><P
->see <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcanonicalizeTree"
->canonicalizeTree</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcollapseXText"
-></A
-><B
->collapseXText</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#collapseXText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Collects sequences of child XText nodes into one XText node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcollapseAllXText"
-></A
-><B
->collapseAllXText</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#collapseAllXText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Applies collapseXText recursively.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcollapseXText"
->collapseXText</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AindentDoc"
-></A
-><B
->indentDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#indentDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for indenting a document tree for pretty printing.
-</P
-><P
->the tree is traversed for inserting whitespace for tag indentation.
-</P
-><P
->whitespace is only inserted or changed at places, where it isn't significant,
- is's not inserted between tags and text containing non whitespace chars.
-</P
-><P
->whitespace is only inserted or changed at places, where it's not significant.
- preserving whitespace may be controlled in a document tree
- by a tag attribute <TT
->xml:space</TT
->
-</P
-><P
->allowed values for this attribute are <TT
->default | preserve</TT
->.
-</P
-><P
->input is a complete document tree.
- result the semantically equivalent formatted tree.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveDocWhiteSpace"
->removeDocWhiteSpace</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AremoveWhiteSpace"
-></A
-><B
->removeWhiteSpace</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#removeWhiteSpace"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->simple filter for removing whitespace.
-</P
-><P
->no check on sigificant whitespace is done.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveAllWhiteSpace"
->removeAllWhiteSpace</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveDocWhiteSpace"
->removeDocWhiteSpace</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AremoveAllWhiteSpace"
-></A
-><B
->removeAllWhiteSpace</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#removeAllWhiteSpace"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->simple recursive filter for removing all whitespace.
-</P
-><P
->removes all text nodes in a tree that consist only of whitespace.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveWhiteSpace"
->removeWhiteSpace</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveDocWhiteSpace"
->removeDocWhiteSpace</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AremoveDocWhiteSpace"
-></A
-><B
->removeDocWhiteSpace</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#removeDocWhiteSpace"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for removing all not significant whitespace.
-</P
-><P
->the tree traversed for removing whitespace between tags,
- that was inserted for indentation and readability.
- whitespace is only removed at places, where it's not significat
- preserving whitespace may be controlled in a document tree
- by a tag attribute <TT
->xml:space</TT
->
-</P
-><P
->allowed values for this attribute are <TT
->default | preserve</TT
->
-</P
-><P
->input is root node of the document to be cleaned up
- output the semantically equivalent simplified tree
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AindentDoc"
->indentDoc</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveAllWhiteSpace"
->removeAllWhiteSpace</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AremoveComment"
-></A
-><B
->removeComment</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#removeComment"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->remove Comments
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AremoveAllComment"
-></A
-><B
->removeAllComment</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#removeAllComment"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->remove all Comments recursively
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtransfCdata"
-></A
-><B
->transfCdata</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#transfCdata"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->converts CDATA section in normal text sections
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtransfAllCdata"
-></A
-><B
->transfAllCdata</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#transfAllCdata"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->converts CDATA sections in whole document tree
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtransfCdataEscaped"
-></A
-><B
->transfCdataEscaped</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#transfCdataEscaped"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->converts CDATA section in normal text nodes
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtransfAllCdataEscaped"
-></A
-><B
->transfAllCdataEscaped</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#transfAllCdataEscaped"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->converts CDATA sections in whole document tree into normal text nodes
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtransfCharRef"
-></A
-><B
->transfCharRef</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#transfCharRef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->converts character references to normal text
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtransfAllCharRef"
-></A
-><B
->transfAllCharRef</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#transfAllCharRef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->recursively converts all character references to normal text
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AescapeXmlDoc"
-></A
-><B
->escapeXmlDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#escapeXmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convert the special XML chars &quot;, &lt;, &gt;, &amp; and ' in a document to char references,
- attribute values are converted with <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlAttrValue"
->escapeXmlAttrValue</A
-></TT
->
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlText"
->escapeXmlText</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlAttrValue"
->escapeXmlAttrValue</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AescapeXmlText"
-></A
-><B
->escapeXmlText</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#escapeXmlText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convert the special XML chars in a text or comment node
- into character references
-</P
-><P
->see also <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlDoc"
->escapeXmlDoc</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AescapeXmlAttrValue"
-></A
-><B
->escapeXmlAttrValue</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#escapeXmlAttrValue"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convert the special XML chars in an attribute value into
- charachter references. Not only the XML specials but also \n, \r and \t are converted
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlDoc"
->escapeXmlDoc</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlText"
->escapeXmlText</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AunparseXmlDoc"
-></A
-><B
->unparseXmlDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#unparseXmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convert a document tree into an output string representation
- with respect to the output encoding.
-</P
-><P
->The children of the document root are stubstituted by
- a single text node for the text representation of the document.
-</P
-><P
->Encoding of the document is performed with respect
- to the <TT
->output-encoding</TT
-> attribute in the root node, or if not present,
- of the <TT
->encoding</TT
-> attribute for the original input encoding.
- If the encoding is not specified or not supported, UTF-8 is taken.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnumberLinesInXmlDoc"
-></A
-><B
->numberLinesInXmlDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#numberLinesInXmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convert a document into a text and add line numbers to the text representation.
-</P
-><P
->Result is a root node with a single text node as child.
- Useful for debugging and trace output.
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AhaskellRepOfXmlDoc"
->haskellRepOfXmlDoc</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtreeRepOfXmlDoc"
->treeRepOfXmlDoc</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnumberLines"
-></A
-><B
->numberLines</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#numberLines"
->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%3AtreeRepOfXmlDoc"
-></A
-><B
->treeRepOfXmlDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#treeRepOfXmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convert a document into a text representation in tree form.
-</P
-><P
->Useful for debugging and trace output.
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AhaskellRepOfXmlDoc"
->haskellRepOfXmlDoc</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AnumberLinesInXmlDoc"
->numberLinesInXmlDoc</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhaskellRepOfXmlDoc"
-></A
-><B
->haskellRepOfXmlDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#haskellRepOfXmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convert a document into a Haskell representation (with show).
-</P
-><P
->Useful for debugging and trace output.
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtreeRepOfXmlDoc"
->treeRepOfXmlDoc</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AnumberLinesInXmlDoc"
->numberLinesInXmlDoc</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AaddHeadlineToXmlDoc"
-></A
-><B
->addHeadlineToXmlDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#addHeadlineToXmlDoc"
->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%3AaddXmlPiToDoc"
-></A
-><B
->addXmlPiToDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-EditFilters.html#addXmlPiToDoc"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM-Namespace.html b/doc/hxt-filter/Text-XML-HXT-DOM-Namespace.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM-Namespace.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<!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.HXT.DOM.Namespace</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM-Namespace.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.HXT.DOM.Namespace</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->main namespace filter for propagation, checking, tracing and error handling
-</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"
-><A HREF="#v%3ApropagateAndValidateNamespaces"
->propagateAndValidateNamespaces</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-DOM-NamespaceFilter.html"
->Text.XML.HXT.DOM.NamespaceFilter</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ApropagateAndValidateNamespaces"
-></A
-><B
->propagateAndValidateNamespaces</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-Namespace.html#propagateAndValidateNamespaces"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->propagate all namespace declarations, check namespace constraints and issue errors.
- If no error was found, result is the unchanged input tree, else the root node &quot;/&quot; with an empty document is returned.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaces"
->propagateNamespaces</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3AvalidateNamespaces"
->validateNamespaces</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-DOM-NamespaceFilter.html"
->Text.XML.HXT.DOM.NamespaceFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM-NamespaceFilter.html b/doc/hxt-filter/Text-XML-HXT-DOM-NamespaceFilter.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM-NamespaceFilter.html
+++ /dev/null
@@ -1,434 +0,0 @@
-<!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.HXT.DOM.NamespaceFilter</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM-NamespaceFilter.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.HXT.DOM.NamespaceFilter</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Namespace filter
-</P
-><P
->Namespaces are processed with two main filter, <TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaces"
->propagateNamespaces</A
-></TT
->
- and <TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3AvalidateNamespaces"
->validateNamespaces</A
-></TT
->.
-</P
-><P
-><TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaces"
->propagateNamespaces</A
-></TT
-> takes a XML tree and
- attaches extra namespace info at every tag name and attribute name.
- So after processing a tree with <TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaces"
->propagateNamespaces</A
-></TT
->, the access functions
- <A HREF="namespaceOf.html"
->namespaceOf</A
-> and <A HREF="universalNameOf.html"
->universalNameOf</A
-> deliver the associated namespace (or &quot;&quot;)
- for tag names and attribute names.
-</P
-><P
-><TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3AvalidateNamespaces"
->validateNamespaces</A
-></TT
-> checks whether names are wellformed related to the XML namespace definition.
- whether a legal namespace is declared for all prefixes, and whether attribute names are unique
- related to universal names.
-</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"
->type</SPAN
-> <A HREF="#t%3ANamespaceTable"
->NamespaceTable</A
-> = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3ANsEnv"
->NsEnv</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3ApropagateNamespaces"
->propagateNamespaces</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3ApropagateNamespaceEnv"
->propagateNamespaceEnv</A
-> :: <A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#t%3ANamespaceTable"
->NamespaceTable</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AvalidateNamespaces"
->validateNamespaces</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Avalidate1Namespaces"
->validate1Namespaces</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisNamespaceDecl"
->isNamespaceDecl</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A NAME="t%3ANamespaceTable"
-></A
-><B
->NamespaceTable</B
-> = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3ANsEnv"
->NsEnv</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-NamespaceFilter.html#NamespaceTable"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Type for the namespace association list, used when propagating namespaces by
- modifying the <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-></TT
-> values in a tree
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ApropagateNamespaces"
-></A
-><B
->propagateNamespaces</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-NamespaceFilter.html#propagateNamespaces"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->propagate all namespace declarations &quot;xmlns:ns=...&quot; to all
- tag and attribute nodes of a document.
-</P
-><P
->This filter does not check for illegal use of namespaces.
- The real work is done by <TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaceEnv"
->propagateNamespaceEnv</A
-></TT
->.
-</P
-><P
->The filter may be applied repeatedly if neccessary.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ApropagateNamespaceEnv"
-></A
-><B
->propagateNamespaceEnv</B
-> :: <A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#t%3ANamespaceTable"
->NamespaceTable</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-NamespaceFilter.html#propagateNamespaceEnv"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->attaches the namespace info given by the namespace table
- to a tag node and its attributes and children.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AvalidateNamespaces"
-></A
-><B
->validateNamespaces</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-NamespaceFilter.html#validateNamespaces"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->validate the namespace constraints in a whole tree.
- result is the list of errors concerning namespaces.
- Work is done by applying <TT
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3Avalidate1Namespaces"
->validate1Namespaces</A
-></TT
-> to all nodes.
- Predicates <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#v%3AisWellformedQName"
->isWellformedQName</A
-></TT
->, <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#v%3AisWellformedQualifiedName"
->isWellformedQualifiedName</A
-></TT
->, <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#v%3AisDeclaredNamespace"
->isDeclaredNamespace</A
-></TT
->
- and <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#v%3AisWellformedNSDecl"
->isWellformedNSDecl</A
-></TT
-> are applied to the appropriate tags and attributes.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Avalidate1Namespaces"
-></A
-><B
->validate1Namespaces</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-NamespaceFilter.html#validate1Namespaces"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->a single node for namespace constrains.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisNamespaceDecl"
-></A
-><B
->isNamespaceDecl</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-NamespaceFilter.html#isNamespaceDecl"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM-XmlState.html b/doc/hxt-filter/Text-XML-HXT-DOM-XmlState.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM-XmlState.html
+++ /dev/null
@@ -1,3126 +0,0 @@
-<!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.HXT.DOM.XmlState</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.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.HXT.DOM.XmlState</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->This module provides a Monad for an internal state and IO commands.
- The state consists of two parts, the user state and the system state
- user state ist a type parameter, the system state is a list
- name-value pair. If the user state is not needed, the type parameter
- can be instantiated with <TT
->()</TT
->.
-</P
-><P
->Furthermore there are types for Xml filter working on this monad
- and functions for manipulating the state components
- and for lifting i/o commands and XmlFilter to monad filters.
-</P
-><P
->Error reporting functions are also located in this module.
-</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%3ASysState"
->SysState</A
->  = <A HREF="#v%3ASysState"
->SysState</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3AsysStateAttrs"
->sysStateAttrs</A
-> :: !<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
->SysStateAttrs</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3AsysStateErrorHandler"
->sysStateErrorHandler</A
-> :: !(<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> ())</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3ASysStateAttrs"
->SysStateAttrs</A
-> = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-AssocList.html#t%3AAssocList"
->AssocList</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
->  <A HREF="#t%3AXmlState"
->XmlState</A
-> state = <A HREF="#v%3AXmlState"
->XmlState</A
-> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3AsysState"
->sysState</A
-> :: !<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-></TR
-><TR
-><TD CLASS="recfield"
-><A HREF="#v%3AuserState"
->userState</A
-> :: !state</TD
-></TR
-></TABLE
->}</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3AXState"
->XState</A
-> state res = <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> (<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlState"
->XmlState</A
-> state) res</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AchangeState"
->changeState</A
-> ::  (state -&gt; state) -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetState"
->setState</A
-> ::  state -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetState"
->getState</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AchangeSysState"
->changeSysState</A
-> ::  (<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetSysState"
->setSysState</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetSysState"
->getSysState</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AinitialSysState"
->initialSysState</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AchangeSysStateAttrs"
->changeSysStateAttrs</A
-> :: (<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
->SysStateAttrs</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
->SysStateAttrs</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetSysErrorHandler"
->setSysErrorHandler</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> () -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetSysErrorHandler"
->getSysErrorHandler</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state (<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> ())</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetSysParamTree"
->setSysParamTree</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetSysParam"
->setSysParam</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetSysParamInt"
->setSysParamInt</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetSystemParams"
->setSystemParams</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetSysParamTree"
->getSysParamTree</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetSysParam"
->getSysParam</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetSysParamWithDefault"
->getSysParamWithDefault</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetSysParamInt"
->getSysParamInt</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Arun0"
->run0</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlState"
->XmlState</A
-> state -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state res -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (res, <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlState"
->XmlState</A
-> state)</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Arun"
->run</A
-> ::  state -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state res -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> res</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Arun%27"
->run'</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> () res -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> res</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Achain%27"
->chain'</A
-> ::  state1 -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state1 res -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state0 (res, state1)</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Achain"
->chain</A
-> ::  state1 -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state1 res -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state0 res</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AliftF"
->liftF</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aio"
->io</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetTraceLevel"
->setTraceLevel</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetTraceLevel"
->getTraceLevel</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtraceCmd"
->traceCmd</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Atrace"
->trace</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtraceState"
->traceState</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; (state -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AclearStatus"
->clearStatus</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AissueError"
->issueError</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AerrorMsgHandler"
->errorMsgHandler</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetErrorMsgLevel"
->setErrorMsgLevel</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AerrorMsgToStderr"
->errorMsgToStderr</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AerrorMsgLogging"
->errorMsgLogging</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AerrorMsgLoggingAndToStderr"
->errorMsgLoggingAndToStderr</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetErrorMsg"
->getErrorMsg</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AerrClass"
->errClass</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AissueWarn"
->issueWarn</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AissueErr"
->issueErr</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AissueFatal"
->issueFatal</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AaddFatal"
->addFatal</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcheckStatus"
->checkStatus</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetStatus"
->setStatus</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AstatusOk"
->statusOk</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcheckResult"
->checkResult</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessAttrM"
->processAttrM</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
->  <A NAME="t%3ASysState"
-></A
-><B
->SysState</B
->  </TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#SysState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->The internal system state consists of a list of name-value pairs
- of type <TT
->(String, XmlTrees)</TT
->, so arbitrary lists of trees can be stored.
- For options, often only strings are used as values, so a set of access
- functions with string values is available
- The error handling method can be controlled by an error handler filter,
- the default filter issues the errors on stderr
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ASysState"
-></A
-><B
->SysState</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AsysStateAttrs"
-></A
-><B
->sysStateAttrs</B
-> :: !<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
->SysStateAttrs</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AsysStateErrorHandler"
-></A
-><B
->sysStateErrorHandler</B
-> :: !(<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> ())</TD
-><TD CLASS="rdoc"
-></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"
->type</SPAN
-> <A NAME="t%3ASysStateAttrs"
-></A
-><B
->SysStateAttrs</B
-> = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-AssocList.html#t%3AAssocList"
->AssocList</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#SysStateAttrs"
->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%3AXmlState"
-></A
-><B
->XmlState</B
-> state </TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#XmlState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->The State has a system and a user part
- the user state is a type parameter
-</TD
-></TR
-><TR
-><TD CLASS="section4"
->Constructors</TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AXmlState"
-></A
-><B
->XmlState</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="body" COLSPAN="2"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AsysState"
-></A
-><B
->sysState</B
-> :: !<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3AuserState"
-></A
-><B
->userState</B
-> :: !state</TD
-><TD CLASS="rdoc"
-></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"
->type</SPAN
-> <A NAME="t%3AXState"
-></A
-><B
->XState</B
-> state res = <A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->StateIO</A
-> (<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlState"
->XmlState</A
-> state) res</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#XState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->The monad type for commands. It is an instance of <A HREF="StateIO.html"
->StateIO</A
-> from the
- general module <A HREF="Control-Monad-MonadStateIO.html"
->Control.Monad.MonadStateIO</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%3AXmlStateFilter"
-></A
-><B
->XmlStateFilter</B
-> state = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#XmlStateFilter"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->The <A HREF="XmlFilter.html"
->XmlFilter</A
-> type for filters working on a state
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AchangeState"
-></A
-><B
->changeState</B
-> ::  (state -&gt; state) -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#changeState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->change the user state
-</P
-><UL
-><LI
-> 1.parameter fct :  the user state change function
-</LI
-><LI
-> returns : the new state
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetState"
-></A
-><B
->setState</B
-> ::  state -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->set the user state.
-</P
-><UL
-><LI
-> 1.parameter s :  the new state
-</LI
-><LI
-> returns : the new state
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetState"
-></A
-><B
->getState</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->read the user state
-</P
-><UL
-><LI
-> returns : the current state
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AchangeSysState"
-></A
-><B
->changeSysState</B
-> ::  (<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#changeSysState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->change the system part of the state.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AchangeState"
->changeState</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetSysState"
-></A
-><B
->setSysState</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setSysState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->set the system part of the state.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetState"
->setState</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetSysState"
-></A
-><B
->getSysState</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getSysState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->read the system part of the state.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetState"
->getState</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AinitialSysState"
-></A
-><B
->initialSysState</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#initialSysState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the initial system state
-</P
-><P
->an empty list of attribute value pairs
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AchangeSysStateAttrs"
-></A
-><B
->changeSysStateAttrs</B
-> :: (<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
->SysStateAttrs</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
->SysStateAttrs</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->SysState</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#changeSysStateAttrs"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->change the attributes in the system state
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetSysErrorHandler"
-></A
-><B
->setSysErrorHandler</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> () -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setSysErrorHandler"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->set the error message handler
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetSysErrorHandler"
-></A
-><B
->getSysErrorHandler</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state (<A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> ())</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getSysErrorHandler"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->get the error handler
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetSysParamTree"
-></A
-><B
->setSysParamTree</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setSysParamTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->set or change a single system parameter.
-</P
-><UL
-><LI
-> 1.parameter name :  the name of the parameter
-</LI
-><LI
-> 2.parameter value :  the list of associated trees
-</LI
-><LI
-> returns : nothing
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysParam"
->setSysParam</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysParamInt"
->setSysParamInt</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetSysParam"
-></A
-><B
->setSysParam</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setSysParam"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->set or change a single system parameter of type string.
-</P
-><UL
-><LI
-> 1.parameter name :  the name of the parameter
-</LI
-><LI
-> 2.parameter value :  the (new) string value
-</LI
-><LI
-> returns : nothing
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysParamTree"
->setSysParamTree</A
-></TT
->, setSysParamInt
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetSysParamInt"
-></A
-><B
->setSysParamInt</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setSysParamInt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->set or change a single integer type system parameter
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysParam"
->setSysParam</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetSystemParams"
-></A
-><B
->setSystemParams</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setSystemParams"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->add (or change) all attributes of the document root to the system state
-     - returns : this
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetSysParamTree"
-></A
-><B
->getSysParamTree</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getSysParamTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->read a system parameter
-</P
-><UL
-><LI
-> 1.parameter name :  the name of the parameter
-</LI
-><LI
-> returns : the list of tres associated with the key, or the empty list for unknown parameters
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetSysParam"
-></A
-><B
->getSysParam</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getSysParam"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->read a system string parameter
-</P
-><UL
-><LI
-> 1.parameter name :  the name of the parameter
-</LI
-><LI
-> returns : the value, or the empty string for unknown parameters
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetSysParamWithDefault"
-></A
-><B
->getSysParamWithDefault</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getSysParamWithDefault"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->read a system parameter or return a default value
-</P
-><UL
-><LI
-> 1.parameter name :  the name of the parameter
-</LI
-><LI
-> 2.parameter default :  the default value
-</LI
-><LI
-> returns : the value if found, else the default
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetSysParamInt"
-></A
-><B
->getSysParamInt</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getSysParamInt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->read an integer system parameter
-</P
-><UL
-><LI
-> 1.parameter name : 
-</LI
-><LI
-> 2.parameter default : 
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetSysParamWithDefault"
->getSysParamWithDefault</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Arun0"
-></A
-><B
->run0</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlState"
->XmlState</A
-> state -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state res -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (res, <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlState"
->XmlState</A
-> state)</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#run0"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->exec a XState command with initial state.
-</P
-><UL
-><LI
-> 1.parameter initalState :  the inital user state
-</LI
-><LI
-> 2.parameter cmd :  the command
-</LI
-><LI
-> returns : the i/o command with result and user state
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Arun"
-></A
-><B
->run</B
-> ::  state -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state res -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> res</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#run"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->exec a XState command with initial user state.
- ignore final user state.
- like run0, but ignore the resulting user state
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Arun%27"
-></A
-><B
->run'</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> () res -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> res</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#run%27"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->exec a XState command in th IO monad.
- like run with the empty state ().
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Achain%27"
-></A
-><B
->chain'</B
-> ::  state1 -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state1 res -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state0 (res, state1)</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#chain%27"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->run a command in a new user state.
- chain the system state part,
- init new system state with the current one, run the command and
- update the old system state with the resulting new system state
-</P
-><UL
-><LI
-> 1.parameter initialUserState :  the initial user state
-</LI
-><LI
-> 2.parameter cmd :  the command
-</LI
-><LI
-> returns : the result of executing cmd and the final state
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Achain"
-></A
-><B
->chain</B
-> ::  state1 -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state1 res -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state0 res</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#chain"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->like chain' but forget the final user state
-</P
-><UL
-><LI
-> 1.parameter initialUserState :  the initial user state
-</LI
-><LI
-> 2.parameter cmd :  the command
-</LI
-><LI
-> returns : only the result of executing cmd
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AliftF"
-></A
-><B
->liftF</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#liftF"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->lift a XmlFilter to a XmlStateFilter filter
- issue all error nodes as error messages
- and remove the error nodes from the result
-</P
-><UL
-><LI
-> 1.parameter f :  the filter
-</LI
-><LI
-> returns : the filter running in the state monad
-</LI
-></UL
-><P
->all errors are filtered from the result and issued on stderr
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aio"
-></A
-><B
->io</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#io"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->lift an I/O command
-</P
-><UL
-><LI
-> 1.parameter cmd :  the i/o command
-</LI
-><LI
-> returns : the i/o command lifted to the XML state monad
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetTraceLevel"
-></A
-><B
->setTraceLevel</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setTraceLevel"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->set the trace level.
-</P
-><P
->convention:
-</P
-><P
->0: no trace output (default)
-</P
-><P
->1: trace important computation steps, e.g. accessing a document
-</P
-><P
->2: trace small computation steps
-</P
-><P
->3: output an intermediate result XmlTree in XML source format
-</P
-><P
->4: output an intermediate result XmlTree in tree representation
-</P
-><UL
-><LI
-> 1.parameter level :  the trace level
-</LI
-><LI
-> returns : nothing
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetTraceLevel"
-></A
-><B
->getTraceLevel</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getTraceLevel"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->get the current trace level.
-</P
-><UL
-><LI
-> returns : the current trace level
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtraceCmd"
-></A
-><B
->traceCmd</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#traceCmd"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->trace output for arbitray commands.
-</P
-><UL
-><LI
-> 1.parameter level :  the trace level,
-			  for which the command will be execuded
-			  if level &lt;= current trace level
-</LI
-><LI
-> 2.parameter cmd :  the command to be executed
-</LI
-><LI
-> returns : nothing
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Atrace"
-></A
-><B
->trace</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#trace"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->trace output function for simple text.
-</P
-><UL
-><LI
-> 1.parameter level :  like in traceCmd
-</LI
-><LI
-> 2.parameter str :  the test
-</LI
-><LI
-> returns : nothing
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtraceState"
-></A
-><B
->traceState</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; (state -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#traceState"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->trace output of the user part of the program state.
-</P
-><UL
-><LI
-> 1.parameter level :  like in traceCmd
-</LI
-><LI
-> 2.parameter showFct :  the toString function
-</LI
-><LI
-> returns : nothing
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AclearStatus"
-></A
-><B
->clearStatus</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#clearStatus"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter to reset the state attribute <TT
->a_status</TT
->
-    - returns : this
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AissueError"
-></A
-><B
->issueError</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#issueError"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->report an error message.
-</P
-><UL
-><LI
-> returns : if the input tree n represents an error, <TT
->res = []</TT
->
-		  and the error is processed by the errror handler filter (default: error is issued on stderr)
-		  else <TT
->res = [n]</TT
->
-</LI
-></UL
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueErr"
->issueErr</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AerrorMsgHandler"
-></A
-><B
->errorMsgHandler</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#errorMsgHandler"
->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%3AsetErrorMsgLevel"
-></A
-><B
->setErrorMsgLevel</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setErrorMsgLevel"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->set the error level in system state
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AerrorMsgToStderr"
-></A
-><B
->errorMsgToStderr</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#errorMsgToStderr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->default error handler for writing errors to stderr
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AerrorMsgLogging"
-></A
-><B
->errorMsgLogging</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#errorMsgLogging"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->error message handler for collecting all error messages
- all messages are stored under attribute <TT
->a_error_log</TT
->
- they can be read with <TT
->getSysParamTree a_error_log</TT
-> or by
- applying the filter <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetErrorMsg"
->getErrorMsg</A
-></TT
-> to the root node
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AerrorMsgLoggingAndToStderr"
-></A
-><B
->errorMsgLoggingAndToStderr</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#errorMsgLoggingAndToStderr"
->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%3AgetErrorMsg"
-></A
-><B
->getErrorMsg</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#getErrorMsg"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the filter for reading all collected error mesages
-</P
-><P
->result is the list of error messages, the input tree is ignored
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AerrClass"
-></A
-><B
->errClass</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#errClass"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->error level translation
- <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_warn"
->c_warn</A
-></TT
-> (1) : warning,
- <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_err"
->c_err</A
-></TT
-> (2): error (e.g. parse error, validation error, ...),
- <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_fatal"
->c_fatal</A
-></TT
-> (3) : fatal error (document access error, internal error, ...)
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AissueWarn"
-></A
-><B
->issueWarn</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#issueWarn"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for issuing a warning
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueError"
->issueError</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueErr"
->issueErr</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AissueErr"
-></A
-><B
->issueErr</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#issueErr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for issuing an error
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueError"
->issueError</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AissueFatal"
-></A
-><B
->issueFatal</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#issueFatal"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for issuing a fatal error
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueError"
->issueError</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueErr"
->issueErr</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AaddFatal"
-></A
-><B
->addFatal</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#addFatal"
->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%3AcheckStatus"
-></A
-><B
->checkStatus</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#checkStatus"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->checks the value of the attribute <TT
->a_status</TT
-> in a document root.
- if it contains a value greater or equal to <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_err"
->c_err</A
-></TT
->, an error with error message
- stored in attribute <TT
->a_module</TT
-> is issued and the filter acts as the <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AnoneM"
->noneM</A
-></TT
-> filter
- else its the <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AthisM"
->thisM</A
-></TT
-> filter
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetStatus"
-></A
-><B
->setStatus</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#setStatus"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->add the error level and the module where the error occured
- to the attributes of a document root node and remove the children when level is greater or equal to <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_err"
->c_err</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AstatusOk"
-></A
-><B
->statusOk</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#statusOk"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->check whether tree is a document root and the status attribute has a value less than <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_err"
->c_err</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcheckResult"
-></A
-><B
->checkResult</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#checkResult"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->check whether the error level attribute in the system state
- is set to error, in this case the children of the document root are
- removed and error info is added as attributes with <TT
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetStatus"
->setStatus</A
-></TT
->
- else nothing is changed
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessAttrM"
-></A
-><B
->processAttrM</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlState.html#processAttrM"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->monadic filter for processing the attribute list of a tag.
- for other trees this filter acts like <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AnoneM"
->noneM</A
-></TT
->
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AprocessAttr"
->processAttr</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AprocessAttrl"
->processAttrl</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM-XmlTree.html b/doc/hxt-filter/Text-XML-HXT-DOM-XmlTree.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM-XmlTree.html
+++ /dev/null
@@ -1,120 +0,0 @@
-<!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.HXT.DOM.XmlTree</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTree.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.HXT.DOM.XmlTree</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This helper module exports elements from the basic libraries:
- XmlTreeTypes, XmlKeywords, XNodeFunctions, XmlTreeFunctions and XmlTreeFilter
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></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"
->module <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html"
->Text.XML.HXT.DOM.XmlTreeTypes</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html"
->Text.XML.HXT.DOM.XmlTreeFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeFilter.html b/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeFilter.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeFilter.html
+++ /dev/null
@@ -1,5758 +0,0 @@
-<!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.HXT.DOM.XmlTreeFilter</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.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.HXT.DOM.XmlTreeFilter</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->basic XmlTree filter
-</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"
-><A HREF="#v%3AisRoot"
->isRoot</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisTag"
->isTag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisNsTag"
->isNsTag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhasLocalPart"
->hasLocalPart</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhasPrefix"
->hasPrefix</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhasNamespace"
->hasNamespace</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfTag"
->isOfTag</A
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhasAttr"
->hasAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhasNsAttr"
->hasNsAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhasValue"
->hasValue</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisPi"
->isPi</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXmlPi"
->isXmlPi</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfPi"
->isOfPi</A
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXCdata"
->isXCdata</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXCharRef"
->isXCharRef</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXCmt"
->isXCmt</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXDTD"
->isXDTD</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXEntityRef"
->isXEntityRef</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXError"
->isXError</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXPi"
->isXPi</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXTag"
->isXTag</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXAttr"
->isXAttr</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisAttr"
->isAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisNsAttr"
->isNsAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfAttr"
->isOfAttr</A
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AAttrName"
->AttrName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXText"
->isXText</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisText"
->isText</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfText"
->isOfText</A
-> :: (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisWhiteSpace"
->isWhiteSpace</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisDoctype"
->isDoctype</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisAttlist"
->isAttlist</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisElement"
->isElement</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisEntity"
->isEntity</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisPeRef"
->isPeRef</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisDTDName"
->isDTDName</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisCondSect"
->isCondSect</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisParameterEntity"
->isParameterEntity</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisNotation"
->isNotation</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisDefaultAttrKind"
->isDefaultAttrKind</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisEnumAttrType"
->isEnumAttrType</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisFixedAttrKind"
->isFixedAttrKind</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisIdAttrType"
->isIdAttrType</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisIdRefAttrType"
->isIdRefAttrType</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisNotationAttrType"
->isNotationAttrType</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisRequiredAttrKind"
->isRequiredAttrKind</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisAttlistParameterEntity"
->isAttlistParameterEntity</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisEmptyElement"
->isEmptyElement</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisMixedContentElement"
->isMixedContentElement</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisElemWithContent"
->isElemWithContent</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisAttlistOfElement"
->isAttlistOfElement</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisElemContentParamEntity"
->isElemContentParamEntity</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisUnparsedEntity"
->isUnparsedEntity</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisExternalParameterEntity"
->isExternalParameterEntity</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisInternalParameterEntity"
->isInternalParameterEntity</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisWarning"
->isWarning</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisError"
->isError</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisFatalError"
->isFatalError</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXTag"
->mkXTag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkQTag"
->mkQTag</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXNsTag"
->mkXNsTag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXAttr"
->mkXAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkQAttr"
->mkQAttr</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXNsAttr"
->mkXNsAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXText"
->mkXText</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXCharRef"
->mkXCharRef</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXEntityRef"
->mkXEntityRef</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXCmt"
->mkXCmt</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXDTD"
->mkXDTD</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3ADTDElem"
->DTDElem</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXCdata"
->mkXCdata</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXPi"
->mkXPi</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXError"
->mkXError</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetName"
->getName</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetAttrl"
->getAttrl</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetValue"
->getValue</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetNsValue"
->getNsValue</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetDTDValue"
->getDTDValue</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetXCmt"
->getXCmt</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetXCdata"
->getXCdata</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AreplaceQName"
->replaceQName</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmodifyText"
->modifyText</A
-> :: (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmodifyQName"
->modifyQName</A
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessAttrl"
->processAttrl</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlSFilter"
->XmlSFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessAttr"
->processAttr</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AreplaceAttrl"
->replaceAttrl</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Adel1Attr"
->del1Attr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aadd1Attr"
->add1Attr</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AaddAttrl"
->addAttrl</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AaddAttr"
->addAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AaddAttrInt"
->addAttrInt</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmodifyAttr"
->modifyAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AaddDTDAttr"
->addDTDAttr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%2B%3D"
->(+=)</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3A%2B%2B%3D"
->(++=)</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AvalueOf"
->valueOf</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AintValueOf"
->intValueOf</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Atag"
->tag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Astag"
->stag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aatag"
->atag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aetag"
->etag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aqetag"
->qetag</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aqtag"
->qtag</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3ArootTag"
->rootTag</A
-> :: [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aattr"
->attr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aqattr"
->qattr</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Asattr"
->sattr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Atxt"
->txt</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Acmt"
->cmt</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aspi"
->spi</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Acdata"
->cdata</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Adtd"
->dtd</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3ADTDElem"
->DTDElem</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Awarn"
->warn</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Aerr"
->err</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Afatal"
->fatal</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhasOption"
->hasOption</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisRoot"
-></A
-><B
->isRoot</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isRoot"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a document root node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisTag"
-></A
-><B
->isTag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isTag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->test whether the root of a tree contains a tag node.
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisNsTag"
->isNsTag</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisNsTag"
-></A
-><B
->isNsTag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isNsTag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->namespace aware test whether the root of a tree contains a tag node. Parameters are the local part and namespace.
- Only usable after namespace propagation.
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisTag"
->isTag</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhasLocalPart"
-></A
-><B
->hasLocalPart</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#hasLocalPart"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree has a given local name
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasNamespace"
->hasNamespace</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasPrefix"
->hasPrefix</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisTag"
->isTag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttr"
->isAttr</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhasPrefix"
-></A
-><B
->hasPrefix</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#hasPrefix"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree has a given prefix name
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasNamespace"
->hasNamespace</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasLocalPart"
->hasLocalPart</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisTag"
->isTag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttr"
->isAttr</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhasNamespace"
-></A
-><B
->hasNamespace</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#hasNamespace"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree belongs to a given namespace
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisTag"
->isTag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttr"
->isAttr</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasLocalPart"
->hasLocalPart</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasPrefix"
->hasPrefix</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisOfTag"
-></A
-><B
->isOfTag</B
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isOfTag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a tag node with a special name.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhasAttr"
-></A
-><B
->hasAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#hasAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->test whether the node of a tree is a XTag node or a XPi node with an attibute of a specific name
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttr"
->isAttr</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasNsAttr"
->hasNsAttr</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhasNsAttr"
-></A
-><B
->hasNsAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#hasNsAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->test whether the tree is a XTag node with an attibute of a specific local name and namespace uri
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasAttr"
->hasAttr</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisNsAttr"
->isNsAttr</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhasValue"
-></A
-><B
->hasValue</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#hasValue"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->test whether the given node is a XTag node or a XPI node with an attribute with a value with a specific property.
- In case of a match, the attribute value represented by a text node is returned as single element list,
- else the empty list is the result.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetValue"
->getValue</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisPi"
-></A
-><B
->isPi</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isPi"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the tree is a processing instruction with a given name.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXmlPi"
-></A
-><B
->isXmlPi</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXmlPi"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the tree is a &lt;?xml ... ?&gt; declaration
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisOfPi"
-></A
-><B
->isOfPi</B
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isOfPi"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a processing instruction of a special name.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXCdata"
-></A
-><B
->isXCdata</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXCdata"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a CDATA node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXCharRef"
-></A
-><B
->isXCharRef</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXCharRef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a character reference node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXCmt"
-></A
-><B
->isXCmt</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXCmt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a comment node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXDTD"
-></A
-><B
->isXDTD</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXDTD"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a DTD part.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXEntityRef"
-></A
-><B
->isXEntityRef</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXEntityRef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an entity reference node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXError"
-></A
-><B
->isXError</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXError"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an error node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXPi"
-></A
-><B
->isXPi</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXPi"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a processing instruction node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXTag"
-></A
-><B
->isXTag</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXTag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a tag node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXAttr"
-></A
-><B
->isXAttr</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an attribute node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisAttr"
-></A
-><B
->isAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree is an attribute node for a given attribute name
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisNsAttr"
-></A
-><B
->isNsAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isNsAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->namespace aware test whether the tree contains an attribute node. Parameters are the local part of the atribute name and the namespace.
- Only usable after namespace propagation.
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisNsTag"
->isNsTag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttr"
->isAttr</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasNsAttr"
->hasNsAttr</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisOfAttr"
-></A
-><B
->isOfAttr</B
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AAttrName"
->AttrName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isOfAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->general test for an attribute name
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXText"
-></A
-><B
->isXText</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isXText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a text node.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisText"
-></A
-><B
->isText</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a special text.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisOfText"
-></A
-><B
->isOfText</B
-> :: (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isOfText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a text node with a special property
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisWhiteSpace"
-></A
-><B
->isWhiteSpace</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isWhiteSpace"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a text node only with whitespace.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisDoctype"
-></A
-><B
->isDoctype</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isDoctype"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a DOCTYPE DTD part.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisAttlist"
-></A
-><B
->isAttlist</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isAttlist"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an ATTLIST DTD part.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisElement"
-></A
-><B
->isElement</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isElement"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an ELEMENT DTD part.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisEntity"
-></A
-><B
->isEntity</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isEntity"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an ENTITY DTD part.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisPeRef"
-></A
-><B
->isPeRef</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isPeRef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a parameter ENTITY reference.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisDTDName"
-></A
-><B
->isDTDName</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isDTDName"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a DTD name part.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisCondSect"
-></A
-><B
->isCondSect</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isCondSect"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a conditional section DTD part.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisParameterEntity"
-></A
-><B
->isParameterEntity</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isParameterEntity"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a parameter entity declaration.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisNotation"
-></A
-><B
->isNotation</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isNotation"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains a NOTATION DTD part.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisDefaultAttrKind"
-></A
-><B
->isDefaultAttrKind</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isDefaultAttrKind"
->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%3AisEnumAttrType"
-></A
-><B
->isEnumAttrType</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isEnumAttrType"
->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%3AisFixedAttrKind"
-></A
-><B
->isFixedAttrKind</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isFixedAttrKind"
->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%3AisIdAttrType"
-></A
-><B
->isIdAttrType</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isIdAttrType"
->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%3AisIdRefAttrType"
-></A
-><B
->isIdRefAttrType</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isIdRefAttrType"
->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%3AisNotationAttrType"
-></A
-><B
->isNotationAttrType</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isNotationAttrType"
->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%3AisRequiredAttrKind"
-></A
-><B
->isRequiredAttrKind</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isRequiredAttrKind"
->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%3AisAttlistParameterEntity"
-></A
-><B
->isAttlistParameterEntity</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isAttlistParameterEntity"
->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%3AisEmptyElement"
-></A
-><B
->isEmptyElement</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isEmptyElement"
->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%3AisMixedContentElement"
-></A
-><B
->isMixedContentElement</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isMixedContentElement"
->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%3AisElemWithContent"
-></A
-><B
->isElemWithContent</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isElemWithContent"
->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%3AisAttlistOfElement"
-></A
-><B
->isAttlistOfElement</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isAttlistOfElement"
->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%3AisElemContentParamEntity"
-></A
-><B
->isElemContentParamEntity</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isElemContentParamEntity"
->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%3AisUnparsedEntity"
-></A
-><B
->isUnparsedEntity</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isUnparsedEntity"
->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%3AisExternalParameterEntity"
-></A
-><B
->isExternalParameterEntity</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isExternalParameterEntity"
->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%3AisInternalParameterEntity"
-></A
-><B
->isInternalParameterEntity</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isInternalParameterEntity"
->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%3AisWarning"
-></A
-><B
->isWarning</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isWarning"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an error node for a warning.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisError"
-></A
-><B
->isError</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isError"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an error node for an error.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisFatalError"
-></A
-><B
->isFatalError</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#isFatalError"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test whether the root of a tree contains an error node for a fatal error.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXTag"
-></A
-><B
->mkXTag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXTag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->constructor filter for a tag node.
- a new tree is constructed.
- the attributes and the children are computed by applying the aproprate filter to the input tree
-</P
-><UL
-><LI
-> 1.parameter n :  the tag name
-</LI
-><LI
-> 2.parameter af :  the filter for the attribute list
-</LI
-><LI
-> 3.parameter cf :  the filter for the children
-</LI
-><LI
-> returns : the constructor filter
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkQTag"
-></A
-><B
->mkQTag</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkQTag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Version with qualified names of <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXTag"
->mkXTag</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXNsTag"
-></A
-><B
->mkXNsTag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXNsTag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->constructor filter for a tag node.
- a new tree is constructed.
- the attributes and the children are computed by applying the aproprate filter to the input tree
-</P
-><UL
-><LI
-> 1.parameter n :  the tag name in form of prefix:localpart
-</LI
-><LI
-> 2.parameter ns:   the namespace uri
-</LI
-><LI
-> 3.parameter af :  the filter for the attribute list
-</LI
-><LI
-> 4.parameter cf :  the filter for the children
-</LI
-><LI
-> returns : the constructor filter
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXAttr"
-></A
-><B
->mkXAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter for attribute construction.
- a new tree with attribute name and a value computed by a filter
- is build.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkQAttr"
-></A
-><B
->mkQAttr</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkQAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Qualified version <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXAttr"
->mkXAttr</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXNsAttr"
-></A
-><B
->mkXNsAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXNsAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter for attribute construction.
- a new tree with attribute name and namespace and a value computed by a filter
- is build.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXText"
-></A
-><B
->mkXText</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->constructor filter for a text node.
- a new tree is constructed.
- the input tree is ignored.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXCharRef"
-></A
-><B
->mkXCharRef</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXCharRef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->constructor filter for a character reference node.
- a new tree is constructed.
- the input tree is ignored.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXEntityRef"
-></A
-><B
->mkXEntityRef</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXEntityRef"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->constructor filter for an entity reference node.
- a new tree is constructed.
- the input tree is ignored.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXCmt"
-></A
-><B
->mkXCmt</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXCmt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->constructor filter for a comment node.
- a new tree is constructed.
- the xml string representation of the filter result
- forms the comment
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXDTD"
-></A
-><B
->mkXDTD</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3ADTDElem"
->DTDElem</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXDTD"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->constructor filter for a DTD part.
- a new tree is constructed.
- the input tree is ignored.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXCdata"
-></A
-><B
->mkXCdata</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXCdata"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->constructor filter for a CDATA section node.
- a new tree is constructed.
- the input tree is ignored.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXPi"
-></A
-><B
->mkXPi</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXPi"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->constructor filter for a processing instruction
- a new tree is constructed from the text representation
- of the input tree
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXError"
-></A
-><B
->mkXError</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#mkXError"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->constructor filter for an error message node.
- a new tree is constructed.
- the input tree is ignored.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetName"
-></A
-><B
->getName</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#getName"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter for selecting the name of a tag node, an attribute node or a pi node.
- Result of the filter is a single element list with a text node or the empty list
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetAttrl"
-></A
-><B
->getAttrl</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#getAttrl"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter for selecting the attibute list
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetValue"
-></A
-><B
->getValue</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#getValue"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for selecting the value of an attribute in a tag node.
- Result of the filter is a single element list with a text node or the empty list
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasValue"
->hasValue</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetNsValue"
->getNsValue</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetNsValue"
-></A
-><B
->getNsValue</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#getNsValue"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for selecting the value of an attribute with namespace in a tag node.
- Result of the filter is a single element list with a text node or the empty list
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetValue"
->getValue</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisNsAttr"
->isNsAttr</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetDTDValue"
-></A
-><B
->getDTDValue</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#getDTDValue"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter for selecting an attribute of a DTD node.
- Result of the filter is a single element list with a text node or the empty list
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetXCmt"
-></A
-><B
->getXCmt</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#getXCmt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter for selecting content of a comment.
- Result of the filter is a single element list with a text node or the empty list
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetXCdata"
-></A
-><B
->getXCdata</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#getXCdata"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter for selecting the CDATA content.
- Result of the filter is a single element list with a text node or the empty list
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AreplaceQName"
-></A
-><B
->replaceQName</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#replaceQName"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->edit filter for changing the name of a tag node, an attribute or a pi.
- result of the filter is a single element list with a tag node or the empty list
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmodifyText"
-></A
-><B
->modifyText</B
-> :: (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#modifyText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->edit filter for changing the text of a text node.
- result of the filter is a single element list with a text node or the empty list
-</P
-><P
->example for editing all text nodes of a tree with an edit function <TT
->f</TT
->:
-</P
-><PRE
->processBottomUp (modifyText f `when` isXText)</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmodifyQName"
-></A
-><B
->modifyQName</B
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#modifyQName"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->edit filter for changing the name of a tag node.
- result of the filter is a single element list with a text node or the empty list
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessAttrl"
-></A
-><B
->processAttrl</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlSFilter"
->XmlSFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#processAttrl"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->process the attribute list of a tag node with a tree list filter.
- for other trees this filter acts like <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Anone"
->none</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessAttr"
-></A
-><B
->processAttr</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#processAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->elementwise processing of the attributes of a tag.
- for other trees this filter acts like <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Anone"
->none</A
-></TT
->
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AprocessAttrl"
->processAttrl</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AreplaceAttrl"
-></A
-><B
->replaceAttrl</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#replaceAttrl"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->replace an attribute list
- to be renamed when replaceAttrl is eliminated
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Adel1Attr"
-></A
-><B
->del1Attr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#del1Attr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->delete an attribute from the attribute list of a tag tree
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aadd1Attr"
-></A
-><B
->add1Attr</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#add1Attr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->add an attribute to the attribute list of a tag.
- If the attribute already exists, it's substituted,
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Asattr"
->sattr</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%3D"
->+=</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AaddAttrl"
-></A
-><B
->addAttrl</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#addAttrl"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->adds an attribute list computed by a filter, uses <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aadd1Attr"
->add1Attr</A
-></TT
->.
-</P
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%3D"
->+=</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AaddAttr"
-></A
-><B
->addAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#addAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->add or change an attribute with a given string as value for a XTag or XPi tree,
- uses <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aadd1Attr"
->add1Attr</A
-></TT
->.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AaddAttrInt"
-></A
-><B
->addAttrInt</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#addAttrInt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->add or change an attribute with an Int value.
- uses <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AaddAttr"
->addAttr</A
-></TT
->.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmodifyAttr"
-></A
-><B
->modifyAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#modifyAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->edit filter for changing the value of an attribute in a tag node.
- result of the filter is a single element list with the tag node or the empty list.
-</P
-><UL
-><LI
-> 1.parameter n :  the name of the attribute
-</LI
-><LI
-> 2.parameter f :  the edit function for the attribute value
-</LI
-><LI
-> returns : the edit filter
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AaddDTDAttr"
-></A
-><B
->addDTDAttr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#addDTDAttr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->add or change an attribute of a DTD tree
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%2B%3D"
-></A
-><B
->(+=)</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#%2B%3D"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convenient function for tag node tree construction
-</P
-><P
->infixl 7
-</P
-><P
->filter combinator for tag tree constrcution
- take a 1. filter for computing a tag node tree (or a whole list of tag node trees)
- then add all trees computed by the 2. filter to the attribute list when they represent attributes
- else append them to the list of children.
-</P
-><P
->if the 1. filter computes a list of tag nodes, the results of the 2. filter are added to all trees
-</P
-><P
->example: <TT
-> etag &quot;a&quot; += sattr &quot;href&quot; &quot;#42&quot; += txt &quot;the answer&quot; </TT
->
- gives the tree <TT
-> &lt;a href=&quot;#42&quot;&gt;the answer&lt;/a&gt; </TT
->
-</P
-><P
->example: <TT
-> ( etag &quot;a&quot; +++ etag &quot;b&quot; ) += sattr &quot;x&quot; &quot;42&quot; </TT
->
- gives the tree <TT
-> &lt;a x=&quot;42&quot;/&gt;&lt;b x=&quot;42&quot;/&gt; </TT
->
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aetag"
->etag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Atag"
->tag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aadd1Attr"
->add1Attr</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3AmodifyChildren"
->modifyChildren</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%2B%3D"
->++=</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3A%2B%2B%3D"
-></A
-><B
->(++=)</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#%2B%2B%3D"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convenient filter function adding a whole list of trees, just for not writing to many ( ... ).
-</P
-><P
->infixl 7
-</P
-><PRE
-> f ++= gl  == f += cat gl</PRE
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%3D"
->+=</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AvalueOf"
-></A
-><B
->valueOf</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#valueOf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->combination of <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetValue"
->getValue</A
-></TT
-> and conversion into a String
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AintValueOf"
-></A
-><B
->intValueOf</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#intValueOf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->combination of <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetValue"
->getValue</A
-></TT
-> and conversion to a Int
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Atag"
-></A
-><B
->tag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#tag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->variant of mkXTag with a list of filters for the attributes and a list of filters for the children.
- this variant leads to a more readable source for a complicated construction filter
- than the simple solution with a combination of <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXTag"
->mkXTag</A
-></TT
-> and <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acat"
->cat</A
-></TT
->.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXTag"
->mkXTag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Astag"
->stag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aetag"
->etag</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acat"
->cat</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%3D"
->+=</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Astag"
-></A
-><B
->stag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#stag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->variant of tag, useful for tags without attributes and with a list of filters for
- constructing the children
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXTag"
->mkXTag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Atag"
->tag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aetag"
->etag</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acat"
->cat</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%3D"
->+=</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aatag"
-></A
-><B
->atag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#atag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->variant of tag, useful for tags with attributes but without children
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXTag"
->mkXTag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Atag"
->tag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Astag"
->stag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aetag"
->etag</A
-></TT
->, <TT
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acat"
->cat</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aetag"
-></A
-><B
->etag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#etag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Short cut for empty tags without attributes
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Atag"
->tag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aatag"
->atag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Astag"
->stag</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXTag"
->mkXTag</A
-></TT
-> and <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%3D"
->+=</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aqetag"
-></A
-><B
->qetag</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#qetag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Qualified version of etag
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aqtag"
-></A
-><B
->qtag</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#qtag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Alias for mkQTag
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ArootTag"
-></A
-><B
->rootTag</B
-> :: [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#rootTag"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for creating a document root node with a list of filters for the attributes and a list of filters for the document.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Atag"
->tag</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aattr"
-></A
-><B
->attr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#attr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Alias for <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXAttr"
->mkXAttr</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aqattr"
-></A
-><B
->qattr</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#qattr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Alias for mkQAttr
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Asattr"
-></A
-><B
->sattr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#sattr"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for attribute construction with string constants
-</P
-><P
->set also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aattr"
->attr</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXAttr"
->mkXAttr</A
-></TT
-> and <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXText"
->mkXText</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Atxt"
-></A
-><B
->txt</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#txt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->short cut for <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXText"
->mkXText</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Acmt"
-></A
-><B
->cmt</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#cmt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for simple comment
- the input tree is ignored
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXCmt"
->mkXCmt</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aspi"
-></A
-><B
->spi</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#spi"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for generating simple processing instructions (spi)
- the input tree is ignored
-</P
-><P
-><TT
->spi &quot;xyz&quot; &quot;abc&quot;</TT
-> is equal to <TT
->mkXPi &quot;xyz&quot; (txt &quot;abc&quot;)</TT
->
- (the name pi is already used in prelude)
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Acdata"
-></A
-><B
->cdata</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#cdata"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->short cut for generating simple cdata sections,
- the input tree is ignored
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Adtd"
-></A
-><B
->dtd</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3ADTDElem"
->DTDElem</A
-> -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; [<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
->] -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#dtd"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->DTD part generation with filter for attributes and children
- see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXDTDTree"
->mkXDTDTree</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Awarn"
-></A
-><B
->warn</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#warn"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for mkXError c_warn.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXError"
->mkXError</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Aerr"
-></A
-><B
->err</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#err"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for mkXError c_fatal.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXError"
->mkXError</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Afatal"
-></A
-><B
->fatal</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#fatal"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->short cut for mkXError c_fatal.
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXError"
->mkXError</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhasOption"
-></A
-><B
->hasOption</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFilter.html#hasOption"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->check whether an option is set
-</P
-><P
->reads the value of an attribute, usually applied to a document root node,
- and checks if the value represents True. The following strings are interpreted
- as true: &quot;1&quot;, &quot;True&quot;, &quot;true&quot;, &quot;yes&quot;, &quot;Yes&quot;.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeFunctions.html b/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeFunctions.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeFunctions.html
+++ /dev/null
@@ -1,3474 +0,0 @@
-<!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.HXT.DOM.XmlTreeFunctions</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.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.HXT.DOM.XmlTreeFunctions</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"
->stable</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Uwe Schmidt (uwe@fh-wedel.de)</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"
->Basic XmlTree functions
-</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"
-><A HREF="#v%3AisXCdataNode"
->isXCdataNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXCharRefNode"
->isXCharRefNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXCmtNode"
->isXCmtNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXDTDNode"
->isXDTDNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXAttrNode"
->isXAttrNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXEntityRefNode"
->isXEntityRefNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXErrorNode"
->isXErrorNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXPiNode"
->isXPiNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXTagNode"
->isXTagNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisXTextNode"
->isXTextNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisRootNode"
->isRootNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisTagNode"
->isTagNode</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfTagNode"
->isOfTagNode</A
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisAttrNode"
->isAttrNode</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfAttrNode"
->isOfAttrNode</A
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AAttrName"
->AttrName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisTextNode"
->isTextNode</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfTextNode"
->isOfTextNode</A
-> :: (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisPiNode"
->isPiNode</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisOfPiNode"
->isOfPiNode</A
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisDTDElemNode"
->isDTDElemNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3ADTDElem"
->DTDElem</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisErrorNode"
->isErrorNode</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtextOfXNode"
->textOfXNode</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXTagTree"
->mkXTagTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkQTagTree"
->mkQTagTree</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXNsTagTree"
->mkXNsTagTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnewRoot"
->newRoot</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AemptyRoot"
->emptyRoot</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnewDocument"
->newDocument</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnewDocument%27"
->newDocument'</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkRootTree"
->mkRootTree</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXTextTree"
->mkXTextTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXCharRefTree"
->mkXCharRefTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXEntityRefTree"
->mkXEntityRefTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXCmtTree"
->mkXCmtTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXDTDTree"
->mkXDTDTree</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3ADTDElem"
->DTDElem</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXAttrTree"
->mkXAttrTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkQAttrTree"
->mkQAttrTree</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXNsAttrTree"
->mkXNsAttrTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXPERefTree"
->mkXPERefTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXPiTree"
->mkXPiTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXmlDeclTree"
->mkXmlDeclTree</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXCdataTree"
->mkXCdataTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkXErrorTree"
->mkXErrorTree</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmaybeString2XText"
->maybeString2XText</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
->Maybe</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AshowXText"
->showXText</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AshowXCharRef"
->showXCharRef</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AshowXEntityRef"
->showXEntityRef</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AshowXErrors"
->showXErrors</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AxmlTreesToString"
->xmlTreesToString</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AxmlTreesToText"
->xmlTreesToText</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlSFilter"
->XmlSFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AxmlContentModelToString"
->xmlContentModelToString</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnameOf"
->nameOf</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AlocalPartOf"
->localPartOf</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnamespaceOf"
->namespaceOf</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprefixOf"
->prefixOf</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AuniversalNameOf"
->universalNameOf</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AattrlOfDTD"
->attrlOfDTD</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AvalueOfDTD"
->valueOfDTD</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AofDTDequals"
->ofDTDequals</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Axcmt"
->xcmt</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Axerr"
->xerr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Axwarn"
->xwarn</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Axtext"
->xtext</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Axtag"
->xtag</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Axattr"
->xattr</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtoTreel"
->toTreel</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-AssocList.html#t%3AAssocList"
->AssocList</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtoAttrl"
->toAttrl</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AfromTreel"
->fromTreel</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-AssocList.html#t%3AAssocList"
->AssocList</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AfromAttrl"
->fromAttrl</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisXCdataNode"
-></A
-><B
->isXCdataNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXCdataNode"
->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%3AisXCharRefNode"
-></A
-><B
->isXCharRefNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXCharRefNode"
->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%3AisXCmtNode"
-></A
-><B
->isXCmtNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXCmtNode"
->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%3AisXDTDNode"
-></A
-><B
->isXDTDNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXDTDNode"
->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%3AisXAttrNode"
-></A
-><B
->isXAttrNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXAttrNode"
->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%3AisXEntityRefNode"
-></A
-><B
->isXEntityRefNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXEntityRefNode"
->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%3AisXErrorNode"
-></A
-><B
->isXErrorNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXErrorNode"
->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%3AisXPiNode"
-></A
-><B
->isXPiNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXPiNode"
->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%3AisXTagNode"
-></A
-><B
->isXTagNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXTagNode"
->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%3AisXTextNode"
-></A
-><B
->isXTextNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isXTextNode"
->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%3AisRootNode"
-></A
-><B
->isRootNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isRootNode"
->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%3AisTagNode"
-></A
-><B
->isTagNode</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isTagNode"
->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%3AisOfTagNode"
-></A
-><B
->isOfTagNode</B
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isOfTagNode"
->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%3AisAttrNode"
-></A
-><B
->isAttrNode</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isAttrNode"
->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%3AisOfAttrNode"
-></A
-><B
->isOfAttrNode</B
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AAttrName"
->AttrName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isOfAttrNode"
->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%3AisTextNode"
-></A
-><B
->isTextNode</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isTextNode"
->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%3AisOfTextNode"
-></A
-><B
->isOfTextNode</B
-> :: (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isOfTextNode"
->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%3AisPiNode"
-></A
-><B
->isPiNode</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isPiNode"
->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%3AisOfPiNode"
-></A
-><B
->isOfPiNode</B
-> :: (<A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->TagName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isOfPiNode"
->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%3AisDTDElemNode"
-></A
-><B
->isDTDElemNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3ADTDElem"
->DTDElem</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isDTDElemNode"
->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%3AisErrorNode"
-></A
-><B
->isErrorNode</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#isErrorNode"
->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%3AtextOfXNode"
-></A
-><B
->textOfXNode</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#textOfXNode"
->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%3AmkXTagTree"
-></A
-><B
->mkXTagTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXTagTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Create a tree with a tag node.
-</P
-><UL
-><LI
-> 1.parameter n :  the name of the tag
-</LI
-><LI
-> 2.parameter al :  the tag attribte list
-</LI
-><LI
-> 3.parameter cs :  the list of children
-</LI
-><LI
-> returns : the new tree
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkQTagTree"
-></A
-><B
->mkQTagTree</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkQTagTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Version with qualified name of <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXTagTree"
->mkXTagTree</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXNsTagTree"
-></A
-><B
->mkXNsTagTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXNsTagTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a tree with a namespace aware tag node.
-</P
-><UL
-><LI
-> 1.parameter n :  the prefix:localpart of the tag
-</LI
-><LI
-> 2.parameter ns:  the namespace uri
-</LI
-><LI
-> 3.parameter al :  the tag attribte list
-</LI
-><LI
-> 4.parameter cs :  the list of children
-</LI
-><LI
-> returns : the new tree
-</LI
-></UL
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXTagTree"
->mkXTagTree</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnewRoot"
-></A
-><B
->newRoot</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#newRoot"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->creates a new document tree with empty contents.
-</P
-><UL
-><LI
-> 1.parameter al : the attribute list for the root node
-</LI
-></UL
-><P
->returns a single node tree with tag name &quot;/&quot; indicating a root and
- with empty list of children
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AemptyRoot"
->emptyRoot</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AemptyRoot"
-></A
-><B
->emptyRoot</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#emptyRoot"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the empty document tree
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnewRoot"
->newRoot</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnewDocument"
-></A
-><B
->newDocument</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#newDocument"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->create a new empty document with source name as parameter
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnewDocument%27"
-></A
-><B
->newDocument'</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#newDocument%27"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a new empty document with a list of attributes for source location and options
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnewDocument"
->newDocument</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkRootTree"
-></A
-><B
->mkRootTree</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkRootTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a document root tree.
-</P
-><UL
-><LI
-> 1.parameter al :  the attribute list for the root. This list must contain at
-		  least an attribute &quot;source&quot; that contains the URI of the document to be processed
-</LI
-><LI
-> 2.parameter cs :  the list for the document content
-</LI
-><LI
-> returns : the document root
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXTextTree"
-></A
-><B
->mkXTextTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXTextTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a leaf for a text element.
-</P
-><UL
-><LI
-> 1.parameter txt :  the text
-</LI
-><LI
-> returns : the tree with the single node containing the text
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXCharRefTree"
-></A
-><B
->mkXCharRefTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXCharRefTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a leaf for a char reference.
-</P
-><UL
-><LI
-> 1.parameter i :  the integer representing the Unicode char
-</LI
-><LI
-> returns : the tree with the single node containing the char reference
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXEntityRefTree"
-></A
-><B
->mkXEntityRefTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXEntityRefTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a leaf for an entity reference.
-</P
-><UL
-><LI
-> 1.parameter n :  the name of the entity reference
-</LI
-><LI
-> returns : the tree with the single node containing the entity reference
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXCmtTree"
-></A
-><B
->mkXCmtTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXCmtTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a leaf for a comment,
-</P
-><UL
-><LI
-> 1.parameter c :  the comment text
-</LI
-><LI
-> returns : the tree with the single node containing the comment
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXDTDTree"
-></A
-><B
->mkXDTDTree</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3ADTDElem"
->DTDElem</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXDTDTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a tree for a part of a DTD
-</P
-><UL
-><LI
-> 1.parameter d :  the type of the DTD part
-</LI
-><LI
-> 2.parameter al :  the attribute list for the DTD part
-</LI
-><LI
-> 3.parameter ds :  the possibly empty list of components for the DTD part
-</LI
-><LI
-> returns : the tree with the composed DTD part
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXAttrTree"
-></A
-><B
->mkXAttrTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXAttrTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create an attribute tree as part of a tag attribute list of tag nodes
-</P
-><UL
-><LI
-> 1.parameter al : the attribute name
-</LI
-><LI
-> 2.parameter av : the attribute value as tree list, usually containing a single text node
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkQAttrTree"
-></A
-><B
->mkQAttrTree</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkQAttrTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Qualified version of <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXAttrTree"
->mkXAttrTree</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXNsAttrTree"
-></A
-><B
->mkXNsAttrTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXNsAttrTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create an attribute tree with a namespace
-</P
-><UL
-><LI
-> 1.parameter al : the attribute name
-</LI
-><LI
-> 2.parameter ns : namespace uri
-</LI
-><LI
-> 3.parameter av : the attribute value as tree list, usually containing a single text node
-</LI
-></UL
-><P
->see also: <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXAttrTree"
->mkXAttrTree</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXNsTagTree"
->mkXNsTagTree</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXPERefTree"
-></A
-><B
->mkXPERefTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXPERefTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a parameter entity reference DTD part.
-</P
-><UL
-><LI
-> 1.parameter ref :  the name of the reference
-</LI
-><LI
-> returns : the DTD part for a PERef
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXPiTree"
-></A
-><B
->mkXPiTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXPiTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a processing instruction tree.
-</P
-><UL
-><LI
-> 1.parameter n :  the name of the PI
-</LI
-><LI
-> 2.parameter str :  the content of a PI
-</LI
-><LI
-> returns : the processing instruction tree with a single attribute &quot;value&quot;
-      with the str parameter as attribute value, with <TT
->valueOf a_value</TT
-> applied to the result tree
-      the content of the PI can be selected
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXmlDeclTree"
-></A
-><B
->mkXmlDeclTree</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXmlDeclTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->create xml declaration
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXCdataTree"
-></A
-><B
->mkXCdataTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXCdataTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create a CDATA section tree.
-</P
-><UL
-><LI
-> 1.parameter s :  the content of the CDATA section
-</LI
-><LI
-> returns : the tree for the CDATA section
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkXErrorTree"
-></A
-><B
->mkXErrorTree</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#mkXErrorTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->create an error tree.
-</P
-><UL
-><LI
-> 1.parameter l :  the level of the error (warning, error fatal)
-</LI
-><LI
-> 2.parameter msg :  the error message
-</LI
-><LI
-> 3.parameter cs :  the context, where the error was detected
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmaybeString2XText"
-></A
-><B
->maybeString2XText</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
->Maybe</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#maybeString2XText"
->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%3AshowXText"
-></A
-><B
->showXText</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#showXText"
->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%3AshowXCharRef"
-></A
-><B
->showXCharRef</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#showXCharRef"
->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%3AshowXEntityRef"
-></A
-><B
->showXEntityRef</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#showXEntityRef"
->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%3AshowXErrors"
-></A
-><B
->showXErrors</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#showXErrors"
->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%3AxmlTreesToString"
-></A
-><B
->xmlTreesToString</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xmlTreesToString"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->old name for <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-ShowXml.html#v%3Axshow"
->xshow</A
-></TT
-> (deprecated)
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AxmlTreesToText"
-></A
-><B
->xmlTreesToText</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlSFilter"
->XmlSFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xmlTreesToText"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->conversion of a filter result into a text node
-</P
-><P
->see also : <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-ShowXml.html#v%3Axshow"
->xshow</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AxmlContentModelToString"
-></A
-><B
->xmlContentModelToString</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xmlContentModelToString"
->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%3AnameOf"
-></A
-><B
->nameOf</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#nameOf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->select the name of a node. For tags, attributes and pi's the name string
- is returned, else the empty string.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AlocalPartOf"
-></A
-><B
->localPartOf</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#localPartOf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->select the local part of a name of a node. For tags, attributes the name string
- is returned, for pi's the whole name, else the empty string.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnamespaceOf"
-></A
-><B
->namespaceOf</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#namespaceOf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->select the namespace URI of a tag or an attribute tree, else the empty string is returned
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnameOf"
->nameOf</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprefixOf"
-></A
-><B
->prefixOf</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#prefixOf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->select the namespace prefix of a tag or an attribute tree, else the empty string is returned
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnameOf"
->nameOf</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AlocalPartOf"
->localPartOf</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AuniversalNameOf"
-></A
-><B
->universalNameOf</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#universalNameOf"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->select the universal name (namespace uri ++ localPart) of a tag or an attribute tree, else the empty string is returned
- see also : <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnameOf"
->nameOf</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnamespaceOf"
->namespaceOf</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AattrlOfDTD"
-></A
-><B
->attrlOfDTD</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#attrlOfDTD"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->select the attributes of a dtd tree
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AvalueOfDTD"
-></A
-><B
->valueOfDTD</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#valueOfDTD"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->select a special attribute of a DTD part
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AofDTDequals"
-></A
-><B
->ofDTDequals</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#ofDTDequals"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->test an attribute of a DTD part
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Axcmt"
-></A
-><B
->xcmt</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xcmt"
->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%3Axerr"
-></A
-><B
->xerr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xerr"
->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%3Axwarn"
-></A
-><B
->xwarn</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xwarn"
->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%3Axtext"
-></A
-><B
->xtext</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xtext"
->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%3Axtag"
-></A
-><B
->xtag</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xtag"
->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%3Axattr"
-></A
-><B
->xattr</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#xattr"
->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%3AtoTreel"
-></A
-><B
->toTreel</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-AssocList.html#t%3AAssocList"
->AssocList</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#toTreel"
->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%3AtoAttrl"
-></A
-><B
->toAttrl</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#toAttrl"
->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%3AfromTreel"
-></A
-><B
->fromTreel</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-AssocList.html#t%3AAssocList"
->AssocList</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#fromTreel"
->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%3AfromAttrl"
-></A
-><B
->fromAttrl</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeFunctions.html#fromAttrl"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeTypes.html b/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeTypes.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM-XmlTreeTypes.html
+++ /dev/null
@@ -1,690 +0,0 @@
-<!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.HXT.DOM.XmlTreeTypes</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.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.HXT.DOM.XmlTreeTypes</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->exports the core data types
- and some additional types and functions
- for compatibility with none arrow modules
-</P
-><P
->Version : $Id: XmlTreeTypes.hs,v 1.6 2006<EM
->05</EM
->09 15:30:43 hxml Exp $
-</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"
->module <A HREF="Data-Tree-NTree-Filter.html"
->Data.Tree.NTree.Filter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmkNode"
->mkNode</A
-> ::  node -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AformatNTree"
->formatNTree</A
-> ::  (node -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AfoldNTree"
->foldNTree</A
-> ::  (a -&gt; [b] -&gt; b) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AmapNTree"
->mapNTree</A
-> ::  (a -&gt; b) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> b</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnTreeToList"
->nTreeToList</A
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; [a]</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AdepthNTree"
->depthNTree</A
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcardNTree"
->cardNTree</A
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3AXmlFilter"
->XmlFilter</A
-> = <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3AXmlSFilter"
->XmlSFilter</A
-> = <A HREF="Data-Tree-NTree-Filter.html#t%3ATSFilter"
->TSFilter</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3ATagName"
->TagName</A
-> = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->type</SPAN
-> <A HREF="#t%3AAttrName"
->AttrName</A
-> = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtName"
->tName</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AaName"
->aName</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></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"
->module <A HREF="Data-Tree-NTree-Filter.html"
->Data.Tree.NTree.Filter</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AmkNode"
-></A
-><B
->mkNode</B
-> ::  node -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTrees"
->NTrees</A
-> node -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#mkNode"
->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%3AformatNTree"
-></A
-><B
->formatNTree</B
-> ::  (node -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
->) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> node -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#formatNTree"
->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%3AfoldNTree"
-></A
-><B
->foldNTree</B
-> ::  (a -&gt; [b] -&gt; b) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; b</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#foldNTree"
->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%3AmapNTree"
-></A
-><B
->mapNTree</B
-> ::  (a -&gt; b) -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> b</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#mapNTree"
->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%3AnTreeToList"
-></A
-><B
->nTreeToList</B
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; [a]</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#nTreeToList"
->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%3AdepthNTree"
-></A
-><B
->depthNTree</B
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#depthNTree"
->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%3AcardNTree"
-></A
-><B
->cardNTree</B
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Data-Tree-NTree-TypeDefs.html#t%3ANTree"
->NTree</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#cardNTree"
->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"
->type</SPAN
-> <A NAME="t%3AXmlFilter"
-></A
-><B
->XmlFilter</B
-> = <A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->TFilter</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#XmlFilter"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->A functions that takes a node and returns a list of nodes
-</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%3AXmlSFilter"
-></A
-><B
->XmlSFilter</B
-> = <A HREF="Data-Tree-NTree-Filter.html#t%3ATSFilter"
->TSFilter</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXNode"
->XNode</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#XmlSFilter"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->A function that takes a list of nodes and returns a list of nodes
-</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%3ATagName"
-></A
-><B
->TagName</B
-> = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#TagName"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Tag name
-</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%3AAttrName"
-></A
-><B
->AttrName</B
-> = <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#AttrName"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Attribute name
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtName"
-></A
-><B
->tName</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#tName"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->shortcut for <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#v%3AqualifiedName"
->qualifiedName</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AaName"
-></A
-><B
->aName</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#t%3AQName"
->QName</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-DOM-XmlTreeTypes.html#aName"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->shortcut for <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-QualifiedName.html#v%3AqualifiedName"
->qualifiedName</A
-></TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-DOM.html b/doc/hxt-filter/Text-XML-HXT-DOM.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-DOM.html
+++ /dev/null
@@ -1,134 +0,0 @@
-<!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.HXT.DOM</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-DOM.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.HXT.DOM</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->DOM data types and functions
-</P
-><P
->export of all basic datatypes and functions of the toolbox DOM.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></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"
->module <A HREF="Text-XML-HXT-DOM-XmlTree.html"
->Text.XML.HXT.DOM.XmlTree</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-DOM-XmlState.html"
->Text.XML.HXT.DOM.XmlState</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-DOM-EditFilters.html"
->Text.XML.HXT.DOM.EditFilters</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-DOM-Namespace.html"
->Text.XML.HXT.DOM.Namespace</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-DTDProcessing.html b/doc/hxt-filter/Text-XML-HXT-Parser-DTDProcessing.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-DTDProcessing.html
+++ /dev/null
@@ -1,347 +0,0 @@
-<!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.HXT.Parser.DTDProcessing</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-DTDProcessing.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.HXT.Parser.DTDProcessing</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"
->Uwe Schmidt (uwe@fh-wedel.de)</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"
->DTD processing function for
-   including external parts of a DTD
-   parameter entity substitution and general entity substitution
-</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"
-><A HREF="#v%3AgetWellformedDoc"
->getWellformedDoc</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcheckWellformedDoc"
->checkWellformedDoc</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessDTD"
->processDTD</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprocessGeneralEntities"
->processGeneralEntities</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetWellformedDoc"
-></A
-><B
->getWellformedDoc</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-DTDProcessing.html#getWellformedDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->monadic filter for reading, parsing and checking a wellformed document.
- the input tree must consist of a root node with a source attribute
- in its attribute list.
-</P
-><P
->All attributes from the document root are copied into the system state,
- and may be queried by the monadic filters, e.g. trace options.
-</P
-><P
->Result is the single element list containing the well-formed document tree
- or, in case of errors, the document root with an empty list as children
- and attributes <TT
->a_status</TT
-> and <TT
->a_module</TT
-> for error level and the module,
- where the error occured.
-</P
-><P
->this is a shortcut for <TT
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetXmlContents"
->getXmlContents</A
-></TT
-> .&gt;&gt; <TT
-><A HREF="Text-XML-HXT-Parser-DTDProcessing.html#v%3AcheckWellformedDoc"
->checkWellformedDoc</A
-></TT
->
-</P
-><P
->example for a main program:
-</P
-><PRE
->
- main =
-   run' $
-   do
-   res  &lt;- getWellformedDoc $ newDocument &quot;myfile.xml&quot;
-   ...
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcheckWellformedDoc"
-></A
-><B
->checkWellformedDoc</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-DTDProcessing.html#checkWellformedDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->parses a text node with <TT
-><A HREF="Text-XML-HXT-Parser-XmlParser.html#v%3AparseXmlDoc"
->parseXmlDoc</A
-></TT
->, processes the DTD and general entities
- and transforms all char references into characters
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessDTD"
-></A
-><B
->processDTD</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-DTDProcessing.html#processDTD"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->a filter for DTD processing
-</P
-><P
->inclusion of external parts of DTD,
- parameter entity substitution
- conditional section evaluation
-</P
-><P
->input tree must represent a complete document including root node
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprocessGeneralEntities"
-></A
-><B
->processGeneralEntities</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-DTDProcessing.html#processGeneralEntities"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->substitution of general entities
-</P
-><P
->input: a complete document tree including root node
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-DefaultURI.html b/doc/hxt-filter/Text-XML-HXT-Parser-DefaultURI.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-DefaultURI.html
+++ /dev/null
@@ -1,104 +0,0 @@
-<!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.HXT.Parser.DefaultURI</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-DefaultURI.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.HXT.Parser.DefaultURI</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetDefaultURI"
-></A
-><B
->setDefaultURI</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-DefaultURI.html#setDefaultURI"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-HtmlParser.html b/doc/hxt-filter/Text-XML-HXT-Parser-HtmlParser.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-HtmlParser.html
+++ /dev/null
@@ -1,338 +0,0 @@
-<!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.HXT.Parser.HtmlParser</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-HtmlParser.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.HXT.Parser.HtmlParser</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"
->stable</TD
-></TR
-><TR
-><TD CLASS="infohead"
->Maintainer</TD
-><TD CLASS="infoval"
->Uwe Schmidt (uwe@fh-wedel.de)</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
->This parser tries to interprete everything as HTML
-   no errors are emitted during parsing. If something looks
-   weired, warning messages are inserted in the document tree.
-</P
-><P
->Module contains state filter for easy parsing and error handling
-   real work is done in Text.XML.HXT.Parser.HtmlParsec
-</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"
-><A HREF="#v%3AgetHtmlDoc"
->getHtmlDoc</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AparseHtmlDoc"
->parseHtmlDoc</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3ArunHtmlParser"
->runHtmlParser</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsubstHtmlEntities"
->substHtmlEntities</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetHtmlDoc"
-></A
-><B
->getHtmlDoc</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-HtmlParser.html#getHtmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->read a document and parse it with <TT
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html#v%3AparseHtmlDoc"
->parseHtmlDoc</A
-></TT
->. The main entry point of this module
-</P
-><P
->The input tree must be a root tree like in '	Text.XML.HXT.Parser.MainFunctions.getXmlDoc'. The content is read with <TT
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetXmlContents"
->getXmlContents</A
-></TT
->,
- is parsed with <TT
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html#v%3AparseHtmlDoc"
->parseHtmlDoc</A
-></TT
-> and canonicalized (char refs are substituted in content and attributes,
- but comment is preserved)
-</P
-><P
->see also : Text.XML.HXT.Parser.DTDProcessing.getWellformedDoc
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AparseHtmlDoc"
-></A
-><B
->parseHtmlDoc</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-HtmlParser.html#parseHtmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->The HTML parsing filter
-</P
-><P
->The input is parsed with <TT
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html#v%3ArunHtmlParser"
->runHtmlParser</A
-></TT
->, everything is interpreted as HTML,
- if errors ocuur, the parser will try to do some meaningfull action and continues
- parsing. Afterwards the entitiy references for defined for XHTML are resovled,
- any unresolved reference is transformed into plain text.
-</P
-><P
->Error messages
- during parsing and entity resolving are added as warning nodes into the resulting tree.
-</P
-><P
->The warnings are issued, if the 1. parameter noWarnings is set to True,
- afterwards all are removed from the resulting tree.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ArunHtmlParser"
-></A
-><B
->runHtmlParser</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-HtmlParser.html#runHtmlParser"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->The pure HTML parser, usually called via <TT
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html#v%3AparseHtmlDoc"
->parseHtmlDoc</A
-></TT
->.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsubstHtmlEntities"
-></A
-><B
->substHtmlEntities</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-HtmlParser.html#substHtmlEntities"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-MainFunctions.html b/doc/hxt-filter/Text-XML-HXT-Parser-MainFunctions.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-MainFunctions.html
+++ /dev/null
@@ -1,694 +0,0 @@
-<!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.HXT.Parser.MainFunctions</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-MainFunctions.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.HXT.Parser.MainFunctions</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Simple parse functions.
-</P
-><P
->the main building blocks for an application.
- this module exports complex filters and functions for
- common tasks for input and parsing, output and option handling.
-</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"
-><A HREF="#v%3AgetXmlDocument"
->getXmlDocument</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
->, <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
->, <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
->)</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AputXmlDocument"
->putXmlDocument</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
->, <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
->)</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AparseDocument"
->parseDocument</A
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AwriteDocument"
->writeDocument</A
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetXmlDocument"
-></A
-><B
->getXmlDocument</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
->, <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
->, <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
->)</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-MainFunctions.html#getXmlDocument"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->convenient function for reading a XML document without
- dealing with state monads, error messages collection and other details
-</P
-><P
->getXmlDocument calls <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AparseDocument"
->parseDocument</A
-></TT
-> with the list of parsing options
- and an url or filename as document source.
-</P
-><P
->result is a triple
-</P
-><UL
-><LI
-> the resulting document tree with a root node containing all
-   meta info about the document (options, status info, http header, ...)
-</LI
-><LI
-> the list of errors and warnings
-</LI
-><LI
-> the error level: one of <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_ok"
->c_ok</A
-></TT
->, <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_warn"
->c_warn</A
-></TT
->, <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_err"
->c_err</A
-></TT
->, <TT
-><A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_fatal"
->c_fatal</A
-></TT
->
-</LI
-></UL
-><P
->example for input (see also example in <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AputXmlDocument"
->putXmlDocument</A
-></TT
-> and example in <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AwriteDocument"
->writeDocument</A
-></TT
->)
-</P
-><PRE
-> main :: IO ()
- main
-   = do
-     (res, errs, rc) &lt;- getXmlDocument [] &quot;test.xml&quot;
-     if rc &gt;= c_err
-       then issueErrors errs
-       else processTree res
-
- issueErrors :: XmlTrees -&gt; IO ()
-
- processTree :: XmlTree  -&gt; IO ()
-</PRE
-><P
->for options see <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AparseDocument"
->parseDocument</A
-></TT
->, <TT
->a_collect_errors</TT
-> is set implicitly
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AputXmlDocument"
-></A
-><B
->putXmlDocument</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AIO"
->IO</A
-> (<A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
->, <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
->)</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-MainFunctions.html#putXmlDocument"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the inverse operation to <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AgetXmlDocument"
->getXmlDocument</A
-></TT
->
-</P
-><P
->writes a complete document tree to a file, writing can be
- controlled by options, the real work is done with filter <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AwriteDocument"
->writeDocument</A
-></TT
->.
- useful options are the options of <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AwriteDocument"
->writeDocument</A
-></TT
->.
-</P
-><P
->result is a pair: 1.part is a list of error messages, 2. part is the return code,
- the status info of the write filter
-</P
-><P
->this filter is useful, when processing XML in an arbitray context in the IO monad
-</P
-><P
->an example main program for such an application is:
-</P
-><PRE
-> main :: IO ()
- main
-   = do
-     (input, readErrs, rc) &lt;- getXmlDocument [...] &quot;test.xml&quot;
-     if rc &gt;= c_err
-       then issueErrors readErrs
-       else processTree input
-
- processTree :: XmlTree -&gt; IO ()
- processTree t
-   = let res = computeNewTree input
-     in do
-        (writeErrs, rc2) &lt;- putXmlDocument [...] &quot;out.xml&quot; res
-        if rc2 &gt;= c_err
-          then issueErrors writeErrs
-          else return ()
-
- issueErrors :: XmlTrees -&gt; IO ()
-
- computeNewTree :: XmlTree -&gt; XmlTree
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AparseDocument"
-></A
-><B
->parseDocument</B
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-MainFunctions.html#parseDocument"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the main parsing filter
-</P
-><P
->this filter can be configured by an option list, a list of
- option name, option value pairs.
- the input tree must be a possibly empty document root tree.
- all the options are stored as attributes in this root node to control processing.
-</P
-><P
->available options:
-</P
-><UL
-><LI
-> <TT
->a_parse_html</TT
->: use HTML parser, else use XML parser (default)
-</LI
-><LI
-> <TT
->a_validate</TT
-> : validate document (default), else skip validation
-</LI
-><LI
-> <TT
->a_check_namespaces</TT
-> : check namespaces, else skip namespace processing (default)
-</LI
-><LI
-> <TT
->a_canonicalize</TT
-> : canonicalize document (default), else skip canonicalization
-</LI
-><LI
-> <TT
->a_preserve_comment</TT
-> : preserve comments during canonicalization, else remove comments (default)
-</LI
-><LI
-> <TT
->a_remove_whitespace</TT
-> : remove all whitespace, used for document indentation, else skip this step (default)
-</LI
-><LI
-> <TT
->a_indent</TT
-> : indent document by inserting whitespace, else skip this step (default)
-</LI
-><LI
-> <TT
->a_issue_warnings</TT
-> : issue warnings, when parsing HTML (default), else ignore HTML parser warnings
-</LI
-><LI
-> <TT
->a_issue_errors</TT
-> : issue all error messages on stderr (default), or ignore all error messages
-</LI
-><LI
-> <TT
->a_collect_errors</TT
-> : all error messages are collected during processing and appended to the result document
- 			  for further processing within the calling modules
-</LI
-><LI
-> <TT
->a_trace</TT
-> : trace level: values: 0 -4
-</LI
-><LI
-> <TT
->a_proxy</TT
-> : proxy for http access, e.g. www-cache:3128
-</LI
-><LI
-> <TT
->a_use_curl</TT
-> : for http access via external programm curl, default is native HTTP access
-</LI
-><LI
-> <TT
->a_options_curl</TT
-> : more options for external program curl
-</LI
-><LI
-> <TT
->a_source</TT
-> : the document source url
-</LI
-><LI
-> <TT
->a_encoding</TT
-> : default document encoding (<TT
->utf8</TT
->, <TT
->isoLatin1</TT
->, <TT
->usAscii</TT
->, ...)
-</LI
-></UL
-><P
->examples:
-</P
-><PRE
-> parseDocument [ (a_source,   &quot;test.xml&quot;)
-               , (a_validate, &quot;0&quot;)
-               , (a_encoding, isoLatin1)
-               ] emptyRoot
-</PRE
-><P
->reads document &quot;test.xml&quot; without validation and default encoding <TT
->isoLatin1</TT
->
-</P
-><PRE
-> parseDocument [ (a_source,         &quot;http://www.haskell.org/&quot;)
-               , (a_parse_html,     &quot;1&quot;)
-               , (a_proxy,          &quot;www-cache:3128&quot;)
-               , (a_curl,           &quot;1&quot;)
-               , (a_issue_warnings, &quot;0&quot;)
-               ] emptyRoot
-</PRE
-><P
->reads Haskell homepage with HTML parser ignoring any warnings and with http access via external program curl and proxy &quot;www-cache&quot; at port 3128
-</P
-><PRE
-> parseDocument [ (a_source,            &quot;http://www.w3c.org/&quot;)
-               , (a_parse_html,        &quot;0&quot;)                       -- default
-               , (a_validate,          &quot;1&quot;)                       -- default
-               , (a_check_namespace,   &quot;1&quot;)
-               , (a_remove_whitespace, &quot;1&quot;)
-               , (a_trace,             &quot;2&quot;)
-               ] emptyRoot
-</PRE
-><P
->read w3c home page, validate and chech namespaces, remove whitespace between tags, trace activities with level 2
-</P
-><PRE
-> parseDocument [ (a_source,   &quot;test.xml&quot;)
-               , (a_validate,        &quot;1&quot;)
-               , (a_check_namespace, &quot;1&quot;)
-               , (a_collect_errors,  &quot;1&quot;)
-               , (a_issue_errors,    &quot;0&quot;)
-               ] emptyRoot
-</PRE
-><P
->reads file &quot;test.xml&quot;, validates it, checks namespaces, does not issue any erros
- but collects errors and appends the list of errors to the single element list for the document.
- this enables the calling application to define own error handlers.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AwriteDocument"
-></A
-><B
->writeDocument</B
-> ::  <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AAttributes"
->Attributes</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-MainFunctions.html#writeDocument"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the main filter for writing documents
-</P
-><P
->this filter can be configured by an option list like <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AgetXmlDocument"
->getXmlDocument</A
-></TT
->
-</P
-><P
->available options are
-</P
-><UL
-><LI
-> <TT
->a_indent</TT
-> : indent document for readability, (default: no indentation)
-</LI
-><LI
-> <TT
->a_remove_whitespace</TT
-> : remove all redundant whitespace for shorten text (default: no removal)
-</LI
-><LI
-> <TT
->a_output_file</TT
-> : destination file for document, default is &quot;-&quot; for stdout
-</LI
-><LI
-> <TT
->a_output_encoding</TT
-> : encoding of document, default is <TT
->a_encoding</TT
-> or <TT
->utf8</TT
->
-</LI
-><LI
-> <TT
->a_output_xml</TT
-> : (default) issue XML: quote special XML chars &gt;,&lt;,&quot;,',&amp;
-                    add XML processing instruction
-                    and encode document with respect to <TT
->a_output_encoding</TT
->,
-                    if explizitly switched of, the plain text is issued, this is useful
-                    for non XML output, e.g. generated Haskell code, LaTex, Java, ...
-</LI
-><LI
-> <TT
->a_show_tree</TT
-> : show tree representation of document (for debugging)
-</LI
-><LI
-> <TT
->a_show_haskell</TT
-> : show Haskell representaion of document (for debugging)
-</LI
-><LI
-> <TT
->a_issue_errors</TT
->, <TT
->a_collect_errors</TT
-> : see <TT
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AparseDocument"
->parseDocument</A
-></TT
->
-</LI
-></UL
-><P
->a typical main program running in the XmlState monad
-  has the following structure:
-</P
-><PRE
->
- main :: IO ()
- main
-     = do
-       argv &lt;- getArgs                                              -- get the commandline arguments
-       (inp, outp, options) &lt;- cmdlineOpts argv                     -- and evaluate them, return a key-value list
-                                                                    -- and input and output
-       res  &lt;- run' $ application inp outp options $ emptyRoot      -- run the application
- 
-       exitWith (if null res
-                 then ExitFailure (-1)
-                 else exitSuccess
-                )
-
- application :: String -&gt; String -&gt; Attributes -&gt; XmlStateFilter ()
- application inp outp al
-   = parseDocument (al ++ [(a_source, inp)])                        -- set options and source
-     .&gt;&gt;                                                            -- and parse document
-     processDocument                                                -- the hard work
-     .&gt;&gt;
-     writeDocument [(a_output_file, outp)]                          -- issue results
-     .&gt;&gt;
-     checkStatus                                                    -- check errors
-
-</PRE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandler.html b/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandler.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandler.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!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.HXT.Parser.ProtocolHandler</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandler.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.HXT.Parser.ProtocolHandler</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetProtocolHandler"
-></A
-><B
->getProtocolHandler</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/network/Network-URI.html#t%3AURI"
->URI</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandler.html#getProtocolHandler"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerFile.html b/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerFile.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerFile.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!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.HXT.Parser.ProtocolHandlerFile</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandlerFile.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.HXT.Parser.ProtocolHandlerFile</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetFileContents"
-></A
-><B
->getFileContents</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/network/Network-URI.html#t%3AURI"
->URI</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandlerFile.html#getFileContents"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html b/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!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.HXT.Parser.ProtocolHandlerHttpCurl</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.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.HXT.Parser.ProtocolHandlerHttpCurl</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetHttpContentsWithCurl"
-></A
-><B
->getHttpContentsWithCurl</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/network/Network-URI.html#t%3AURI"
->URI</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html#getHttpContentsWithCurl"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html b/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!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.HXT.Parser.ProtocolHandlerHttpNative</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandlerHttpNative.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.HXT.Parser.ProtocolHandlerHttpNative</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetHttpContentsWithHttp"
-></A
-><B
->getHttpContentsWithHttp</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/network/Network-URI.html#t%3AURI"
->URI</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html#getHttpContentsWithHttp"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html b/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<!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.HXT.Parser.ProtocolHandlerHttpNativeOrCurl</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.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.HXT.Parser.ProtocolHandlerHttpNativeOrCurl</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetHttpContentsNativeOrWithCurl"
-></A
-><B
->getHttpContentsNativeOrWithCurl</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/network/Network-URI.html#t%3AURI"
->URI</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html#getHttpContentsNativeOrWithCurl"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-XmlInput.html b/doc/hxt-filter/Text-XML-HXT-Parser-XmlInput.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-XmlInput.html
+++ /dev/null
@@ -1,658 +0,0 @@
-<!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.HXT.Parser.XmlInput</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.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.HXT.Parser.XmlInput</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></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"
-><A HREF="#v%3AgetXmlContents"
->getXmlContents</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetXmlEntityContents"
->getXmlEntityContents</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetUrlContents"
->getUrlContents</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetContentLength"
->getContentLength</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AguessDocEncoding"
->guessDocEncoding</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3ArunInLocalURIContext"
->runInLocalURIContext</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3ArunInNewURIContext"
->runInNewURIContext</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetBaseURI"
->getBaseURI</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsetBaseURI"
->setBaseURI</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AgetAbsolutURI"
->getAbsolutURI</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AisStandaloneDocument"
->isStandaloneDocument</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Documentation</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetXmlContents"
-></A
-><B
->getXmlContents</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#getXmlContents"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for reading the content of a XML document
-</P
-><P
->input is a root node with the source as an attibute
- the text is read, the encoding scheme is parsed and selected
- and the input is translated into the internal UTF-8 string representation
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetXmlEntityContents"
-></A
-><B
->getXmlEntityContents</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#getXmlEntityContents"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for reading the content of an external XML entity
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetXmlContents"
->getXmlContents</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetUrlContents"
-></A
-><B
->getUrlContents</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#getUrlContents"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->the hard io operations
-</P
-><P
->for reading a file or accessing a document via http
- input must be a root node with a <TT
->source</TT
-> attribute specifying the URI
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetContentLength"
-></A
-><B
->getContentLength</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#getContentLength"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->compute the length of the data for a document read previously
- by a call of 'getUrlContents. The result is stored as an attribute
- value in the document root node. the attribute name is <TT
->a_contentLength</TT
->
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AguessDocEncoding"
-></A
-><B
->guessDocEncoding</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#guessDocEncoding"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->guessEncoding uses encoding attribute and content
- to determine the encoding scheme.
-</P
-><P
->it's assumed that an encoding spec has been tried to parse before guessing the encoding.
-</P
-><P
->UTF-8 is the default encoding
-</P
-><P
->other supported encodings are ISO-8859-1 (also known as ISO-Latin-1),
- US-ASCII, UTF-16 or ISO-10646-UCS-2, UTF-16BE, UTF-16LE
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ArunInLocalURIContext"
-></A
-><B
->runInLocalURIContext</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#runInLocalURIContext"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter command for saving and restoring
- the base URI
-</P
-><UL
-><LI
-> 1.parameter f :  the filter that possible changes the base URI
-</LI
-><LI
-> returns : a filter with the same effect as f, that restores the base URI after application of f
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3ArunInNewURIContext"
-></A
-><B
->runInNewURIContext</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#runInNewURIContext"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->filter command for running an action in a new URI context
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetBaseURI"
-></A
-><B
->getBaseURI</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#getBaseURI"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->read the current base URI
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AsetBaseURI"
->setBaseURI</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsetBaseURI"
-></A
-><B
->setBaseURI</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state ()</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#setBaseURI"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->set the base URI, all other URIs are handled relative to this base URI
-</P
-><P
->the default base URI is <TT
->file:///&lt;current-working-dir&gt;/</TT
->
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetBaseURI"
->getBaseURI</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetAbsolutURI"
-></A
-><B
->getAbsolutURI</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#getAbsolutURI"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->transform an URI into an absolut URI using the current base URI
-</P
-><UL
-><LI
-> 1.parameter uri :  the URI as string
-</LI
-><LI
-> returns : the absolut URI as string or &quot;&quot; in case of an error
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AisStandaloneDocument"
-></A
-><B
->isStandaloneDocument</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->XState</A
-> state <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlInput.html#isStandaloneDocument"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->predicate for testing the standalone document attribute
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-XmlOutput.html b/doc/hxt-filter/Text-XML-HXT-Parser-XmlOutput.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-XmlOutput.html
+++ /dev/null
@@ -1,583 +0,0 @@
-<!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.HXT.Parser.XmlOutput</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.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.HXT.Parser.XmlOutput</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->output functions
- implemented as filer
-</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"
-><A HREF="#v%3AputXmlDoc"
->putXmlDoc</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AputXmlDocToFile"
->putXmlDocToFile</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AputXmlTree"
->putXmlTree</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AputXmlSource"
->putXmlSource</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhPutXmlDoc"
->hPutXmlDoc</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AHandle"
->Handle</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhPutXmlTree"
->hPutXmlTree</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AHandle"
->Handle</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AhPutXmlSource"
->hPutXmlSource</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AHandle"
->Handle</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtraceF"
->traceF</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtraceMsg"
->traceMsg</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtraceTree"
->traceTree</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AtraceSource"
->traceSource</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AputXmlDoc"
-></A
-><B
->putXmlDoc</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#putXmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->document output for standard output
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AhPutXmlDoc"
->hPutXmlDoc</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AputXmlDocToFile"
-></A
-><B
->putXmlDocToFile</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#putXmlDocToFile"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->document output on a given file name
-</P
-><P
->Result is the input document
-</P
-><P
->see also : <TT
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AhPutXmlDoc"
->hPutXmlDoc</A
-></TT
->, <TT
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AputXmlDoc"
->putXmlDoc</A
-></TT
->
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AputXmlTree"
-></A
-><B
->putXmlTree</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#putXmlTree"
->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%3AputXmlSource"
-></A
-><B
->putXmlSource</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#putXmlSource"
->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%3AhPutXmlDoc"
-></A
-><B
->hPutXmlDoc</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AHandle"
->Handle</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#hPutXmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->document output for arbitrary files.
-</P
-><P
->Result is the input document
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhPutXmlTree"
-></A
-><B
->hPutXmlTree</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AHandle"
->Handle</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#hPutXmlTree"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->output of tree representation for trace
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AhPutXmlSource"
-></A
-><B
->hPutXmlSource</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/System-IO.html#t%3AHandle"
->Handle</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#hPutXmlSource"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->output of text representation for trace
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AtraceF"
-></A
-><B
->traceF</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#traceF"
->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%3AtraceMsg"
-></A
-><B
->traceMsg</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt"
->Int</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#traceMsg"
->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%3AtraceTree"
-></A
-><B
->traceTree</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#traceTree"
->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%3AtraceSource"
-></A
-><B
->traceSource</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlOutput.html#traceSource"
->Source</A
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser-XmlParser.html b/doc/hxt-filter/Text-XML-HXT-Parser-XmlParser.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser-XmlParser.html
+++ /dev/null
@@ -1,184 +0,0 @@
-<!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.HXT.Parser.XmlParser</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlParser.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.HXT.Parser.XmlParser</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->Xml Parser: the main parse filter 
-</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"
-><A HREF="#v%3AparseXmlDoc"
->parseXmlDoc</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AsubstXmlEntities"
->substXmlEntities</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AparseXmlDoc"
-></A
-><B
->parseXmlDoc</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlParser.html#parseXmlDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->The monadic parser for a whole document.
- input must be a root node with a single text child.
- Error messages are issued and global error state is set.
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AsubstXmlEntities"
-></A
-><B
->substXmlEntities</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Parser-XmlParser.html#substXmlEntities"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
->Filter for substitution of all occurences of the predefined XML entites quot, amp, lt, gt, apos
- by equivalent character references
-</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Parser.html b/doc/hxt-filter/Text-XML-HXT-Parser.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Parser.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!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.HXT.Parser</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Parser.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.HXT.Parser</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Simple parse functions.
-</P
-><P
->the <A HREF="main.html"
->main</A
-> building blocks for an application.
- this module exports all important functions for parsing, validating and transforming XML.
- it also exports all basic datatypes and functions of the toolbox.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></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"
->module <A HREF="Text-XML-HXT-DOM.html"
->Text.XML.HXT.DOM</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Parser-XmlParser.html"
->Text.XML.HXT.Parser.XmlParser</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Parser-HtmlParser.html"
->Text.XML.HXT.Parser.HtmlParser</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Parser-XmlInput.html"
->Text.XML.HXT.Parser.XmlInput</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Parser-XmlOutput.html"
->Text.XML.HXT.Parser.XmlOutput</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Parser-DTDProcessing.html"
->Text.XML.HXT.Parser.DTDProcessing</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Parser-MainFunctions.html"
->Text.XML.HXT.Parser.MainFunctions</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Validator-Validation.html"
->Text.XML.HXT.Validator.Validation</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-AttributeValueValidation.html b/doc/hxt-filter/Text-XML-HXT-Validator-AttributeValueValidation.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-AttributeValueValidation.html
+++ /dev/null
@@ -1,232 +0,0 @@
-<!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.HXT.Validator.AttributeValueValidation</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-AttributeValueValidation.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.HXT.Validator.AttributeValueValidation</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module provides functions for validating attributes.
-</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"
-><A HREF="#v%3AcheckAttributeValue"
->checkAttributeValue</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AnormalizeAttributeValue"
->normalizeAttributeValue</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
->Maybe</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcheckAttributeValue"
-></A
-><B
->checkAttributeValue</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-AttributeValueValidation.html#checkAttributeValue"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Checks if the attribute value meets the lexical constraints of its type.
-</P
-><UL
-><LI
-> 1.parameter dtdPart :  the children of the <TT
->DOCTYPE</TT
-> node
-</LI
-><LI
-> 2.parameter attrDecl :  the declaration of the attribute from the DTD
-</LI
-><LI
-> returns : a function which takes an element (XTag or XDTD ATTLIST),
-                    checks if the attribute value meets the lexical constraints
-                    of its type and returns a list of errors
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AnormalizeAttributeValue"
-></A
-><B
->normalizeAttributeValue</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Maybe.html#t%3AMaybe"
->Maybe</A
-> <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-AttributeValueValidation.html#normalizeAttributeValue"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Normalizes an attribute value with respect to its type. (3.3.3 / p.29 in Spec)
-</P
-><UL
-><LI
-> 1.parameter attrDecl :  the declaration of the attribute from the DTD. Expected
-                   is a list. If the list is empty, no declaration exists.
-</LI
-><LI
-> 2.parameter value :  the attribute value to be normalized
-</LI
-><LI
-> returns : the normalized value
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-DTDValidation.html b/doc/hxt-filter/Text-XML-HXT-Validator-DTDValidation.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-DTDValidation.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<!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.HXT.Validator.DTDValidation</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-DTDValidation.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.HXT.Validator.DTDValidation</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module provides functions for validating the DTD of XML documents
- represented as XmlTree.
-</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"
-><A HREF="#v%3AremoveDoublicateDefs"
->removeDoublicateDefs</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AvalidateDTD"
->validateDTD</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AremoveDoublicateDefs"
-></A
-><B
->removeDoublicateDefs</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-DTDValidation.html#removeDoublicateDefs"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Removes doublicate declarations from the DTD, which first declaration is
- binding. This is the case for ATTLIST and ENTITY declarations.
-</P
-><UL
-><LI
-> returns : A function that replaces the children of DOCTYPE nodes by a list
-               where all multiple declarations are removed.
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AvalidateDTD"
-></A
-><B
->validateDTD</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-DTDValidation.html#validateDTD"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Validate a DTD.
-</P
-><UL
-><LI
-> returns : a functions which takes the DTD subset of the XmlTree, checks
-                  if the DTD is valid and returns a list of errors
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-DocTransformation.html b/doc/hxt-filter/Text-XML-HXT-Validator-DocTransformation.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-DocTransformation.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!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.HXT.Validator.DocTransformation</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-DocTransformation.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.HXT.Validator.DocTransformation</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module provides functions for transforming XML documents represented as
- XmlTree with respect to its DTD.
-</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"
-><A HREF="#v%3Atransform"
->transform</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Atransform"
-></A
-><B
->transform</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-DocTransformation.html#transform"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for transforming the document.
-</P
-><UL
-><LI
-> 1.parameter dtdPart :  the DTD subset (Node <TT
->DOCTYPE</TT
->) of the XmlTree
-</LI
-><LI
-> 2.parameter doc :  the document subset of the XmlTree
-</LI
-><LI
-> returns : a list of errors
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-DocValidation.html b/doc/hxt-filter/Text-XML-HXT-Validator-DocValidation.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-DocValidation.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!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.HXT.Validator.DocValidation</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-DocValidation.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.HXT.Validator.DocValidation</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module provides functions for validating XML Documents represented as
- XmlTree.
-</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"
-><A HREF="#v%3AvalidateDoc"
->validateDoc</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AvalidateDoc"
-></A
-><B
->validateDoc</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-DocValidation.html#validateDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Validate a document.
-</P
-><UL
-><LI
-> 1.parameter dtdPart :  the DTD subset (Node <TT
->DOCTYPE</TT
->) of the XmlTree
-</LI
-><LI
-> 2.parameter doc :  the document subset of the XmlTree
-</LI
-><LI
-> returns : a list of errors
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-IdValidation.html b/doc/hxt-filter/Text-XML-HXT-Validator-IdValidation.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-IdValidation.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<!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.HXT.Validator.IdValidation</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-IdValidation.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.HXT.Validator.IdValidation</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module provides functions for checking special ID<EM
->IDREF</EM
->IDREFS constraints.
-</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"
-><A HREF="#v%3AvalidateIds"
->validateIds</A
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AvalidateIds"
-></A
-><B
->validateIds</B
-> :: <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
->XmlTree</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-IdValidation.html#validateIds"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Perform the validation of the ID<EM
->IDREF</EM
->IDREFS constraints.
-</P
-><UL
-><LI
-> 1.parameter dtdPart :  the DTD subset (Node <TT
->DOCTYPE</TT
->) of the XmlTree
-</LI
-><LI
-> 2.parameter doc :  the document subset of the XmlTree
-</LI
-><LI
-> returns : a list of errors
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-RE.html b/doc/hxt-filter/Text-XML-HXT-Validator-RE.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-RE.html
+++ /dev/null
@@ -1,1152 +0,0 @@
-<!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.HXT.Validator.RE</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.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.HXT.Validator.RE</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->A module for regular expression matching based on derivatives of regular expressions.
-</P
-><P
->The code was taken from Joe English (<A HREF="http://www.flightlab.com/~joe/sgml/validate.html"
->http://www.flightlab.com/~joe/sgml/validate.html</A
->).
- Tested and extended by Martin Schmidt.
-</P
-><P
->Further references for the algorithm:
-</P
-><P
->Janusz A. Brzozowski.
-</P
-><P
->Derivatives of Regular Expressions. Journal of the ACM, Volume 11, Issue 4, 1964. 
-</P
-><P
->Mark Hopkins.
-</P
-><P
->Regular Expression Package. Posted to comp.compilers, 1994.
-      Available per FTP at <A HREF="ftp://iecc.com/pub/file/regex.tar.gz"
->ftp://iecc.com/pub/file/regex.tar.gz</A
->.
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Synopsis</TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><SPAN CLASS="keyword"
->data</SPAN
->  <A HREF="#t%3ARE"
->RE</A
-> a </TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
->= <A HREF="#v%3ARE_ZERO"
->RE_ZERO</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ARE_UNIT"
->RE_UNIT</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ARE_SYM"
->RE_SYM</A
-> a</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ARE_DOT"
->RE_DOT</A
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ARE_REP"
->RE_REP</A
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ARE_PLUS"
->RE_PLUS</A
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ARE_OPT"
->RE_OPT</A
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ARE_SEQ"
->RE_SEQ</A
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a) (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-></TR
-><TR
-><TD CLASS="decl"
->| <A HREF="#v%3ARE_ALT"
->RE_ALT</A
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a) (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_unit"
->re_unit</A
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_zero"
->re_zero</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_sym"
->re_sym</A
-> ::  a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_rep"
->re_rep</A
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_plus"
->re_plus</A
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_opt"
->re_opt</A
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_seq"
->re_seq</A
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_alt"
->re_alt</A
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_dot"
->re_dot</A
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcheckRE"
->checkRE</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Amatches"
->matches</A
-> :: (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Eq.html#t%3AEq"
->Eq</A
-> a, <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a) =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; [a] -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Anullable"
->nullable</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprintRE"
->printRE</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
->  <A NAME="t%3ARE"
-></A
-><B
->RE</B
-> a </TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#RE"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Data type for regular expressions.
-</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%3ARE_ZERO"
-></A
-><B
->RE_ZERO</B
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ARE_UNIT"
-></A
-><B
->RE_UNIT</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ARE_SYM"
-></A
-><B
->RE_SYM</B
-> a</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ARE_DOT"
-></A
-><B
->RE_DOT</B
-></TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ARE_REP"
-></A
-><B
->RE_REP</B
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ARE_PLUS"
-></A
-><B
->RE_PLUS</B
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ARE_OPT"
-></A
-><B
->RE_OPT</B
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ARE_SEQ"
-></A
-><B
->RE_SEQ</B
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a) (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-><TR
-><TD CLASS="arg"
-><A NAME="v%3ARE_ALT"
-></A
-><B
->RE_ALT</B
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a) (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-><TD CLASS="rdoc"
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RE')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:RE" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Eq.html#t%3AEq"
->Eq</A
-> a =&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Eq.html#t%3AEq"
->Eq</A
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a)</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> (<A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</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%3Are_unit"
-></A
-><B
->re_unit</B
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_unit"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a regular expression for an empty sequence.
-</P
-><UL
-><LI
-> returns : regular expression for an empty sequence
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_zero"
-></A
-><B
->re_zero</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_zero"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a regular expression for an empty set.
-</P
-><UL
-><LI
-> 1.parameter errMsg :  error message
-</LI
-><LI
-> returns : regular expression for an empty set
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_sym"
-></A
-><B
->re_sym</B
-> ::  a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_sym"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a regular expression for accepting a symbol
-</P
-><UL
-><LI
-> 1.parameter sym :  the symbol to be accepted
-</LI
-><LI
-> returns : regular expression for accepting a symbol
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_rep"
-></A
-><B
->re_rep</B
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_rep"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs an optional repetition (*) of a regular expression
-</P
-><UL
-><LI
-> 1.parameter re_a :  regular expression to be repeted
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_plus"
-></A
-><B
->re_plus</B
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_plus"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a repetition (+) of a regular expression
-</P
-><UL
-><LI
-> 1.parameter re_a :  regular expression to be repeted
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_opt"
-></A
-><B
->re_opt</B
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_opt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs an option (?) of a regular expression
-</P
-><UL
-><LI
-> 1.parameter re_a :  regular expression to be optional
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_seq"
-></A
-><B
->re_seq</B
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_seq"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a sequence (,) of two regular expressions
-</P
-><UL
-><LI
-> 1.parameter re_a :  first regular expression in sequence
-</LI
-><LI
-> 2.parameter re_b :  second regular expression in sequence
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_alt"
-></A
-><B
->re_alt</B
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_alt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs an alternative (|) of two regular expressions
-</P
-><UL
-><LI
-> 1.parameter re_a :  first regular expression of alternative
-</LI
-><LI
-> 2.parameter re_b :  second regular expression of alternative
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_dot"
-></A
-><B
->re_dot</B
-> ::  <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_dot"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a regular expression for accepting any singel symbol
-</P
-><UL
-><LI
-> returns : regular expression for accepting any singel symbol
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AcheckRE"
-></A
-><B
->checkRE</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#checkRE"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Checks if an input matched a regular expression. The function should be
- called after matches.
-</P
-><P
->Was the sentence used in <TT
->matches</TT
-> in the language of the regular expression?
- -&gt; matches e s == s `in` L(e)?
-</P
-><UL
-><LI
-> 1.parameter re :  the derived regular expression
-</LI
-><LI
-> returns : empty String if input matched the regular expression, otherwise
-               an error message is returned
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Amatches"
-></A
-><B
->matches</B
-> :: (<A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Eq.html#t%3AEq"
->Eq</A
-> a, <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a) =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; [a] -&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#matches"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Derives a regular expression with respect to a sentence.
-</P
-><UL
-><LI
-> 1.parameter re :  regular expression
-</LI
-><LI
-> 2.parameter s :  sentence to which the regular expression is applied
-</LI
-><LI
-> returns : the derived regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Anullable"
-></A
-><B
->nullable</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/ghc-prim/GHC-Bool.html#t%3ABool"
->Bool</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#nullable"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Checks if a regular expression matches the empty sequence.
-</P
-><P
->nullable e == [] `in` L(e)
-</P
-><P
->This check indicates if a regular expression fits to a sentence or not.
-</P
-><UL
-><LI
-> 1.parameter re :  regular expression to be checked
-</LI
-><LI
-> returns : true if regular expression matches the empty sequence,
-                otherwise false
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprintRE"
-></A
-><B
->printRE</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#printRE"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a string representation of a regular expression.
-</P
-><UL
-><LI
-> 1.parameter re :  a regular expression
-</LI
-><LI
-> returns : the string representation of the regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-Validation.html b/doc/hxt-filter/Text-XML-HXT-Validator-Validation.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-Validation.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!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.HXT.Validator.Validation</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-Validation.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.HXT.Validator.Validation</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->This module provides a state filter as a main function for validating XML documents.
-</P
-><P
->The real validation is done with pure filters from module Text.XML.HXT.Validator.ValidationFilter
-</P
-><P
->Author : .\artin Schmidt
-</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"
-><A HREF="#v%3AgetValidatedDoc"
->getValidatedDoc</A
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Validator-ValidationFilter.html"
->Text.XML.HXT.Validator.ValidationFilter</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetValidatedDoc"
-></A
-><B
->getValidatedDoc</B
-> ::  <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->XmlStateFilter</A
-> state</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-Validation.html#getValidatedDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->monadic filter for validating and transforming a wellformed document.
-</P
-><P
->the <A HREF="main.html"
->main</A
-> function for validation.
-</P
-><P
->the input tree must consist of a root node with a complete document and DTD.
- Result is the single element list containing same tree but tranformed with respect to the DTD,
- or, in case of errors, the root with an empty list of children
-</P
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
->module <A HREF="Text-XML-HXT-Validator-ValidationFilter.html"
->Text.XML.HXT.Validator.ValidationFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-ValidationFilter.html b/doc/hxt-filter/Text-XML-HXT-Validator-ValidationFilter.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-ValidationFilter.html
+++ /dev/null
@@ -1,387 +0,0 @@
-<!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.HXT.Validator.ValidationFilter</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-ValidationFilter.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.HXT.Validator.ValidationFilter</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
->This module provides functions for validating XML documents represented as
- XmlTree.
-</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"
-><A HREF="#v%3AgetDTDSubset"
->getDTDSubset</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Avalidate"
->validate</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AvalidateDTD"
->validateDTD</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AvalidateDoc"
->validateDoc</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AremoveDoublicateDefs"
->removeDoublicateDefs</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Atransform"
->transform</A
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AgetDTDSubset"
-></A
-><B
->getDTDSubset</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-ValidationFilter.html#getDTDSubset"
->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%3Avalidate"
-></A
-><B
->validate</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-ValidationFilter.html#validate"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Main validation filter. Check if the DTD and the document are valid.
-</P
-><UL
-><LI
-> returns : a function which expects a complete document as XmlTree input
-                     and returns a list of all errors found.
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AvalidateDTD"
-></A
-><B
->validateDTD</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-ValidationFilter.html#validateDTD"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Check if the DTD is valid.
-</P
-><UL
-><LI
-> returns : a function which expects an XmlTree from the parser as input
-                     and returns a list of all errors found in the DTD.
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AvalidateDoc"
-></A
-><B
->validateDoc</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-ValidationFilter.html#validateDoc"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Check if the document corresponds to the given DTD.
-</P
-><UL
-><LI
-> returns : a function which expects a complete document as XmlTree input
-                     and returns a list of all errors found in the content part.
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AremoveDoublicateDefs"
-></A
-><B
->removeDoublicateDefs</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-ValidationFilter.html#removeDoublicateDefs"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Removes doublicate declarations from the DTD which first declaration is
- binding. This is the case for ATTLIST and ENTITY declarations.
-</P
-><UL
-><LI
-> returns : A function that replaces the children of DOCTYPE nodes by a list
-               where all multiple declarations are removed.
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Atransform"
-></A
-><B
->transform</B
-> :: <A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->XmlFilter</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-ValidationFilter.html#transform"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->filter for transforming a document with respect to the given DTD.
-</P
-><P
->Validating parsers
- are expected to  normalize attribute values and add default values.
- This function should be called after a successful validation.
-</P
-><UL
-><LI
-> returns : a function which expects a complete XML document tree
-                and returns the transformed XmlTree
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/Text-XML-HXT-Validator-XmlRE.html b/doc/hxt-filter/Text-XML-HXT-Validator-XmlRE.html
deleted file mode 100644
--- a/doc/hxt-filter/Text-XML-HXT-Validator-XmlRE.html
+++ /dev/null
@@ -1,874 +0,0 @@
-<!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.HXT.Validator.XmlRE</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-><TD CLASS="topbut"
-><A HREF="src/Text-XML-HXT-Validator-XmlRE.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.HXT.Validator.XmlRE</FONT
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="section1"
->Description</TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->A module for regular expression matching, adapted for XML DTDs.
-</P
-><P
->This module is based on the module RE.
-</P
-><P
->Author .\artin Schmidt
-</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%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AcheckRE"
->checkRE</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Amatches"
->matches</A
-> :: <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3AprintRE"
->printRE</A
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_unit"
->re_unit</A
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_zero"
->re_zero</A
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_sym"
->re_sym</A
-> ::  a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_rep"
->re_rep</A
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_plus"
->re_plus</A
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_opt"
->re_opt</A
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_seq"
->re_seq</A
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_alt"
->re_alt</A
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-></TR
-><TR
-><TD CLASS="s8"
-></TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="#v%3Are_dot"
->re_dot</A
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</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="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><SPAN CLASS="keyword"
->data</SPAN
->  <A NAME="t%3ARE"
-></A
-><B
->RE</B
-> a </TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#RE"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="body"
-><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD CLASS="ndoc"
->Data type for regular expressions.
-</TD
-></TR
-><TR
-><TD CLASS="section4"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RE')" ALT="show/hide"
-> Instances</TD
-></TR
-><TR
-><TD CLASS="body"
-><DIV ID="i:RE" STYLE="display:block;"
-><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
-><TR
-><TD CLASS="decl"
-><A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Eq.html#t%3AEq"
->Eq</A
-> a =&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Eq.html#t%3AEq"
->Eq</A
-> (<A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a)</TD
-></TR
-><TR
-><TD CLASS="decl"
-><A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> (<A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</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%3AcheckRE"
-></A
-><B
->checkRE</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#checkRE"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Checks if an input matched a regular expression. The function should be
- called after matches.
-</P
-><P
->Was the sentence used in <TT
->matches</TT
-> in the language of the regular expression?
- -&gt; matches e s == s `in` L(e)?
-</P
-><UL
-><LI
-> 1.parameter re :  the derived regular expression
-</LI
-><LI
-> returns : empty String if input matched the regular expression, otherwise
-               an error message is returned
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Amatches"
-></A
-><B
->matches</B
-> :: <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="/usr/local/share/doc/hxt-8.3.0/html/Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
->XmlTrees</A
-> -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-XmlRE.html#matches"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Derives a regular expression with respect to a list of elements.
-</P
-><UL
-><LI
-> 1.parameter re :  regular expression
-</LI
-><LI
-> 2.parameter list :  list of elements to which the regular expression is applied
-</LI
-><LI
-> returns : the derived regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3AprintRE"
-></A
-><B
->printRE</B
-> :: <A HREF="/usr/local/share/doc/ghc/libraries/base/Text-Show.html#t%3AShow"
->Show</A
-> a =&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-></TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#printRE"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a string representation of a regular expression.
-</P
-><UL
-><LI
-> 1.parameter re :  a regular expression
-</LI
-><LI
-> returns : the string representation of the regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_unit"
-></A
-><B
->re_unit</B
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_unit"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a regular expression for an empty sequence.
-</P
-><UL
-><LI
-> returns : regular expression for an empty sequence
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_zero"
-></A
-><B
->re_zero</B
-> ::  <A HREF="/usr/local/share/doc/ghc/libraries/base/Data-Char.html#t%3AString"
->String</A
-> -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_zero"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a regular expression for an empty set.
-</P
-><UL
-><LI
-> 1.parameter errMsg :  error message
-</LI
-><LI
-> returns : regular expression for an empty set
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_sym"
-></A
-><B
->re_sym</B
-> ::  a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_sym"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a regular expression for accepting a symbol
-</P
-><UL
-><LI
-> 1.parameter sym :  the symbol to be accepted
-</LI
-><LI
-> returns : regular expression for accepting a symbol
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_rep"
-></A
-><B
->re_rep</B
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_rep"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs an optional repetition (*) of a regular expression
-</P
-><UL
-><LI
-> 1.parameter re_a :  regular expression to be repeted
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_plus"
-></A
-><B
->re_plus</B
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_plus"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a repetition (+) of a regular expression
-</P
-><UL
-><LI
-> 1.parameter re_a :  regular expression to be repeted
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_opt"
-></A
-><B
->re_opt</B
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_opt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs an option (?) of a regular expression
-</P
-><UL
-><LI
-> 1.parameter re_a :  regular expression to be optional
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_seq"
-></A
-><B
->re_seq</B
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_seq"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a sequence (,) of two regular expressions
-</P
-><UL
-><LI
-> 1.parameter re_a :  first regular expression in sequence
-</LI
-><LI
-> 2.parameter re_b :  second regular expression in sequence
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_alt"
-></A
-><B
->re_alt</B
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a -&gt; <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_alt"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs an alternative (|) of two regular expressions
-</P
-><UL
-><LI
-> 1.parameter re_a :  first regular expression of alternative
-</LI
-><LI
-> 2.parameter re_b :  second regular expression of alternative
-</LI
-><LI
-> returns : new regular expression
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="topdecl"
-><TABLE CLASS="declbar"
-><TR
-><TD CLASS="declname"
-><A NAME="v%3Are_dot"
-></A
-><B
->re_dot</B
-> ::  <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->RE</A
-> a</TD
-><TD CLASS="declbut"
-><A HREF="src/Text-XML-HXT-Validator-RE.html#re_dot"
->Source</A
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD CLASS="doc"
-><P
->Constructs a regular expression for accepting any singel symbol
-</P
-><UL
-><LI
-> returns : regular expression for accepting any singel symbol
-</LI
-></UL
-></TD
-></TR
-><TR
-><TD CLASS="s15"
-></TD
-></TR
-><TR
-><TD CLASS="botbar"
->Produced by <A HREF="http://www.haskell.org/haddock/"
->Haddock</A
-> version 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/doc-index.html b/doc/hxt-filter/doc-index.html
deleted file mode 100644
--- a/doc/hxt-filter/doc-index.html
+++ /dev/null
@@ -1,5830 +0,0 @@
-<!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
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant). (Index)</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</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 COLSPAN="2" STYLE="padding-top:5px;"
-><FORM onsubmit="full_search(); return false;" ACTION=""
->Search: <INPUT ID="searchbox" onkeyup="quick_search()"
-> <INPUT VALUE="Search" TYPE="submit"
-> <SPAN ID="searchmsg"
-> </SPAN
-></FORM
-></TD
-></TR
-><TR
-><TD
-><TABLE ID="indexlist" CELLPADDING="0" CELLSPACING="5"
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->$$</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%24%24"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->$$&lt;</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%24%24%3C"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->+++</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%2B%2B%2B"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->+++&gt;&gt;</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%2B%2B%2B%3E%3E"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->++=</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%2B%3D"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->+=</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3A%2B%3D"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->..&gt;</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A..%3E"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->.&gt;</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A.%3E"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->.&gt;&gt;</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A.%3E%3E"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->/&gt;</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%2F%3E"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->:-&gt;</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%3A-%3E"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->&lt;/</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3A%3C%2F"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->add1Attr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aadd1Attr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AaddAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addAttrInt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AaddAttrInt"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addAttrl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AaddAttrl"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addDTDAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AaddDTDAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addEntries</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addEntry</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addFatal</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AaddFatal"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addHeadlineToXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AaddHeadlineToXmlDoc"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->addXmlPiToDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AaddXmlPiToDoc"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->allBut</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->allBut1</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->aName</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AaName"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->asciiLetter</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->AssocList</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->atag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aatag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->ATTLIST</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->attr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aattr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->Attributes</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->attrlOfDTD</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AattrlOfDTD"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->AttrName</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AAttrName"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->attrNodes</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->attrValue</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->attrValueT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->attrValueT'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_canonicalize</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_check_namespaces</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_check_restrictions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_collect_errors</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_column</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_contentLength</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_default</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_default_baseuri</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_canonicalize</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_check_namespaces</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_check_restrictions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_collect_errors</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_issue_errors</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_issue_warnings</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_preserve_comment</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_remove_whitespace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_use_curl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_validate</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_validate_externalRef</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_do_not_validate_include</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_encoding</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_error</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_error_log</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_help</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_ignore_encoding_errors</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_ignore_none_xml_contents</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_indent</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_issue_errors</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_issue_warnings</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_kind</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_line</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_mime_types</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_modifier</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_module</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_name</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_no_empty_elements</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_no_xml_pi</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_options_curl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_output_changes</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_output_encoding</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_output_file</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_output_html</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_output_xml</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_parse_by_mimetype</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_parse_html</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_parse_xml</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_peref</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_preserve_comment</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_propagate_errors</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_proxy</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_relax_schema</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_remove_whitespace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_show_haskell</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_show_tree</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_source</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_standalone</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_status</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_strict_input</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_tagsoup</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_trace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_type</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_url</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_use_curl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_validate</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_validate_externalRef</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_validate_include</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_value</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_verbose</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_version</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_xml</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->a_xmlns</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->bar</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->buildUniversalName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->canonicalizeAllNodes</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcanonicalizeAllNodes"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->canonicalizeForXPath</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcanonicalizeForXPath"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->canonicalizeTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcanonicalizeTree"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->cardNTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AcardNTree"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->cardTree</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->cat</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acat"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->catM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AcatM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->cdata</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Acdata"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->cDSect</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->chain</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3Achain"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->chain'</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3Achain%27"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->changeChildren</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->changeNode</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->changeState</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#v%3AchangeState"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AchangeState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->changeSysState</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AchangeSysState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->changeSysStateAttrs</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AchangeSysStateAttrs"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->charData</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->charData'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->charRef</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->charRefT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->checkAttributeValue</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-AttributeValueValidation.html#v%3AcheckAttributeValue"
->Text.XML.HXT.Validator.AttributeValueValidation</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->checkRE</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3AcheckRE"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3AcheckRE"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->checkResult</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AcheckResult"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->checkStatus</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AcheckStatus"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->checkWellformedDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-DTDProcessing.html#v%3AcheckWellformedDoc"
->Text.XML.HXT.Parser.DTDProcessing</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->ChildNodes</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->childNodes</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->choice</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Achoice"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->choiceM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AchoiceM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->clearStatus</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AclearStatus"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->closesHtmlTag</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.HtmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->cmt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Acmt"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->collapseAllXText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcollapseAllXText"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->collapseXText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AcollapseXText"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->comma</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->comment</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->concRes</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->CONDSECT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->containing</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Acontaining"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->containingM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AcontainingM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->CONTENT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->content</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->contentWithTextDecl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->c_err</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->c_fatal</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->c_ok</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->c_warn</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->deep</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Adeep"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->deepest</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Adeepest"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->del1Attr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Adel1Attr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->delEntries</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->delEntry</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->depthNTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AdepthNTree"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->depthTree</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->DOCTYPE</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->doctypedecl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->document</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->document'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->dq</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->dtd</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Adtd"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->DTDElem</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->ELEMENT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->element</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->emptyHtmlTags</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.HtmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->emptyRoot</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AemptyRoot"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->encName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->encodingDecl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->ENTITY</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->entityCharT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->entityRef</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->entityRefT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->entityTokensT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->entityValue</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->entityValueT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->eq</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->equalQNameBy</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->equivQName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->equivUri</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->err</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aerr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->errClass</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AerrClass"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->errorMsgHandler</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AerrorMsgHandler"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->errorMsgLogging</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AerrorMsgLogging"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->errorMsgLoggingAndToStderr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AerrorMsgLoggingAndToStderr"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->errorMsgToStderr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AerrorMsgToStderr"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->escapeXmlAttrValue</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlAttrValue"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->escapeXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlDoc"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->escapeXmlText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AescapeXmlText"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->etag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aetag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->fatal</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Afatal"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->foldNTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AfoldNTree"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->foldTree</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->formatNTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AformatNTree"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->formatNTreeF</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->formatTree</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->formatXmlContents</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->formatXmlTree</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->fromAttrl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AfromAttrl"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->fromTreel</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AfromTreel"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->generalOptions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getAbsolutURI</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetAbsolutURI"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getAttrl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetAttrl"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getBaseURI</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetBaseURI"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getChildren</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getContentLength</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetContentLength"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getDTDSubset</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-ValidationFilter.html#v%3AgetDTDSubset"
->Text.XML.HXT.Validator.ValidationFilter</A
->, Text.XML.HXT.Validator.Validation, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getDTDValue</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetDTDValue"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getErrorMsg</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetErrorMsg"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getFileContents</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandlerFile.html#v%3AgetFileContents"
->Text.XML.HXT.Parser.ProtocolHandlerFile</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getHtmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html#v%3AgetHtmlDoc"
->Text.XML.HXT.Parser.HtmlParser</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getHttpContentsNativeOrWithCurl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html#v%3AgetHttpContentsNativeOrWithCurl"
->Text.XML.HXT.Parser.ProtocolHandlerHttpNativeOrCurl</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getHttpContentsWithCurl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html#v%3AgetHttpContentsWithCurl"
->Text.XML.HXT.Parser.ProtocolHandlerHttpCurl</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getHttpContentsWithHttp</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html#v%3AgetHttpContentsWithHttp"
->Text.XML.HXT.Parser.ProtocolHandlerHttpNative</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getName</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetName"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getNode</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getNsValue</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetNsValue"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getProtocolHandler</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandler.html#v%3AgetProtocolHandler"
->Text.XML.HXT.Parser.ProtocolHandler</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->getState</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#v%3AgetState"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getSysErrorHandler</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetSysErrorHandler"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getSysParam</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetSysParam"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getSysParamInt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetSysParamInt"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getSysParamTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetSysParamTree"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getSysParamWithDefault</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetSysParamWithDefault"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getSysState</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetSysState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getTraceLevel</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AgetTraceLevel"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getUrlContents</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetUrlContents"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getValidatedDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-Validation.html#v%3AgetValidatedDoc"
->Text.XML.HXT.Validator.Validation</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getValue</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetValue"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getWellformedDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-DTDProcessing.html#v%3AgetWellformedDoc"
->Text.XML.HXT.Parser.DTDProcessing</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getXCdata</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetXCdata"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getXCmt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AgetXCmt"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getXmlContents</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetXmlContents"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getXmlDocument</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AgetXmlDocument"
->Text.XML.HXT.Parser.MainFunctions</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->getXmlEntityContents</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AgetXmlEntityContents"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->gt</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->guards</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aguards"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->guardsM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AguardsM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->guessDocEncoding</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AguessDocEncoding"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hasAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hasEntry</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->haskellRepOfXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AhaskellRepOfXmlDoc"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hasLocalPart</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasLocalPart"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hasNamespace</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasNamespace"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hasNsAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasNsAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hasOption</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasOption"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hasPrefix</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasPrefix"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hasValue</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AhasValue"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hPutXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AhPutXmlDoc"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hPutXmlSource</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AhPutXmlSource"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->hPutXmlTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AhPutXmlTree"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->httpPrefix</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iff</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aiff"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->ifM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AifM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->IfThen</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#t%3AIfThen"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->indentDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AindentDoc"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->initialSysState</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AinitialSysState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->inputOptions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->insertChildrenAfter</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AinsertChildrenAfter"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->insertChildrenAt</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AinsertChildrenAt"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->intValueOf</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AintValueOf"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->io</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#v%3Aio"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3Aio"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isAttlist</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttlist"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isAttlistOfElement</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttlistOfElement"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isAttlistParameterEntity</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttlistParameterEntity"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isAttrNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisAttrNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isCondSect</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisCondSect"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isDeclaredNamespace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isDefaultAttrKind</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisDefaultAttrKind"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isDoctype</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisDoctype"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isDTDElemNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisDTDElemNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isDTDName</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisDTDName"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isElemContentParamEntity</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisElemContentParamEntity"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isElement</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisElement"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isElemWithContent</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisElemWithContent"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isEmptyElement</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisEmptyElement"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isEmptyHtmlTag</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.HtmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isEntity</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisEntity"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isEnumAttrType</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisEnumAttrType"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isError</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisError"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isErrorNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisErrorNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isExternalParameterEntity</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisExternalParameterEntity"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isFatalError</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisFatalError"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isFixedAttrKind</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisFixedAttrKind"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isIdAttrType</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisIdAttrType"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isIdRefAttrType</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisIdRefAttrType"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isInner</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isInnerHtmlTagOf</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.HtmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isInternalParameterEntity</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisInternalParameterEntity"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isLeaf</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isMixedContentElement</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisMixedContentElement"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isNamespaceDecl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3AisNamespaceDecl"
->Text.XML.HXT.DOM.NamespaceFilter</A
->, Text.XML.HXT.DOM.Namespace, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isNameSpaceName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isNCName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isNotation</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisNotation"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isNotationAttrType</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisNotationAttrType"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isNsAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisNsAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isNsTag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisNsTag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isNullXName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_1</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_10</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_11</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_13</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_14</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_15</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_16</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_2</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_3</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_4</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_5</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_6</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_7</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_8</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->iso8859_9</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOf</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AisOf"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisOfAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfAttrNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisOfAttrNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AisOfNode"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfPi</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisOfPi"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfPiNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisOfPiNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfTag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisOfTag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfTagNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisOfTagNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisOfText"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isOfTextNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisOfTextNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isoLatin1</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isParameterEntity</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisParameterEntity"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isPeRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisPeRef"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isPi</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisPi"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isPiNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisPiNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isRequiredAttrKind</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisRequiredAttrKind"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isRoot</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisRoot"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isRootNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisRootNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isStandaloneDocument</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AisStandaloneDocument"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->issueErr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueErr"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->issueError</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueError"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->issueFatal</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueFatal"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->issueWarn</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AissueWarn"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isTag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisTag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isTagNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisTagNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisText"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isTextNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisTextNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isTrueValue</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isUnparsedEntity</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisUnparsedEntity"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isWarning</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisWarning"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isWellformedNameSpaceName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isWellformedNSDecl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isWellformedQName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isWellformedQualifiedName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isWhiteSpace</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisWhiteSpace"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXAttrNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXAttrNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXCdata</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXCdata"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXCdataNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXCdataNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXCharRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXCharRef"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXCharRefNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXCharRefNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXCmt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXCmt"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXCmtNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXCmtNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXDTD</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXDTD"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXDTDNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXDTDNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXEntityRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXEntityRef"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXEntityRefNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXEntityRefNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXError</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXError"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXErrorNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXErrorNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXmlPi</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXmlPi"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXPi</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXPi"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXPiNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXPiNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXTag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXTag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXTagNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXTagNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AisXText"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->isXTextNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AisXTextNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->keyword</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->keywords</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_any</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_cdata</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_default</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_empty</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_entities</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_entity</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_enumeration</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_fixed</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_id</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_idref</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_idrefs</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_ignore</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_implied</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_include</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_ndata</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_nmtoken</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_nmtokens</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_notation</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_pcdata</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_peref</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_public</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_required</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->k_system</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->liftF</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AliftF"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->liftMf</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AliftMf"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->localPart</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->localPart'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->localPartOf</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AlocalPartOf"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->lookup1</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->lookupDef</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->lpar</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->lt</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mapNTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AmapNTree"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->markupdecl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->matches</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Amatches"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Amatches"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->maybeString2XText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmaybeString2XText"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->misc</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkLeaf</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkList</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AmkNode"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkNsName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkNTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AmkNTree"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkPrefixLocalPart</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkQAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkQAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkQAttrTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkQAttrTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkQName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkQName'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkQTag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkQTag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkQTagTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkQTagTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkRootTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkRootTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkSNsName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkTree</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXAttrTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXAttrTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXCdata</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXCdata"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXCdataTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXCdataTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXCharRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXCharRef"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXCharRefTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXCharRefTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXCmt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXCmt"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXCmtTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXCmtTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXDTD</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXDTD"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXDTDTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXDTDTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXEntityRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXEntityRef"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXEntityRefTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXEntityRefTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXError</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXError"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXErrorTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXErrorTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXmlDeclTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXmlDeclTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXNsAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXNsAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXNsAttrTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXNsAttrTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXNsTag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXNsTag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXNsTagTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXNsTagTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXPERefTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXPERefTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXPi</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXPi"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXPiTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXPiTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXTag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXTag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXTagTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXTagTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmkXText"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->mkXTextTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AmkXTextTree"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->modifyAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmodifyAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->modifyChildren</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AmodifyChildren"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->modifyNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AmodifyNode"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->modifyNode0</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AmodifyNode0"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->modifyQName</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmodifyQName"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->modifyText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AmodifyText"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->multi</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Amulti"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->NAME</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->name</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nameOf</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnameOf"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->namePrefix</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->namePrefix'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->names</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->namespaceOf</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnamespaceOf"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->NamespaceTable</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#t%3ANamespaceTable"
->Text.XML.HXT.DOM.NamespaceFilter</A
->, Text.XML.HXT.DOM.Namespace, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->namespaceUri</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->namespaceUri'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nameT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->ncName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->neg</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Aneg"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->newDocument</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnewDocument"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->newDocument'</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnewDocument%27"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->newRoot</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AnewRoot"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->newXName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nmtoken</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nmtokens</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nmtokenT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nodesTree</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->none</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Anone"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->noneM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AnoneM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->normalizeAttributeValue</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-AttributeValueValidation.html#v%3AnormalizeAttributeValue"
->Text.XML.HXT.Validator.AttributeValueValidation</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->normalizeNsUri</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->NOTATION</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->notContaining</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AnotContaining"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->NsEnv</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->NTree</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Data Constructor)</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Type/Class)</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->NTrees</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nTreeToList</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AnTreeToList"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nullable</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Anullable"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->nullXName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->numberLines</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AnumberLines"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->numberLinesInXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AnumberLinesInXmlDoc"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->o</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Ao"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->ofDTDequals</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AofDTDequals"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->optionIsSet</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->orElse</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AorElse"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->outputOptions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseDocument</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AparseDocument"
->Text.XML.HXT.Parser.MainFunctions</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseHtmlContent</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.HtmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseHtmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html#v%3AparseHtmlDoc"
->Text.XML.HXT.Parser.HtmlParser</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseHtmlDocument</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.HtmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseHtmlText</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.HtmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseNMToken</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlAttrValue</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlContent</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlParser.html#v%3AparseXmlDoc"
->Text.XML.HXT.Parser.XmlParser</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlDocEncodingSpec</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlDocument</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlDTDPart</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlEncodingSpec</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlEntityEncodingSpec</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlGeneralEntityValue</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlPart</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->parseXmlText</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->PENTITY</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->PEREF</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->peReference</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->peReferenceT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->performAction</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AperformAction"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->pI</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->popen</TD
-><TD CLASS="indexlinks"
-><A HREF="System-PipeOpen.html#v%3Apopen"
->System.PipeOpen</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->prefixOf</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AprefixOf"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->printRE</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3AprintRE"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3AprintRE"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processAttr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AprocessAttr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processAttrl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AprocessAttrl"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processAttrM</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AprocessAttrM"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processBottomUp</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessBottomUp"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processBottomUpIfNot</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessBottomUpIfNot"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processBottomUpM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessBottomUpM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processChildren</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessChildren"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processChildrenM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessChildrenM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processDTD</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-DTDProcessing.html#v%3AprocessDTD"
->Text.XML.HXT.Parser.DTDProcessing</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processGeneralEntities</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-DTDProcessing.html#v%3AprocessGeneralEntities"
->Text.XML.HXT.Parser.DTDProcessing</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processTopDown</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessTopDown"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processTopDownM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessTopDownM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->processTopDownUntil</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AprocessTopDownUntil"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->prolog</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->propagateAndValidateNamespaces</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-Namespace.html#v%3ApropagateAndValidateNamespaces"
->Text.XML.HXT.DOM.Namespace</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->propagateNamespaceEnv</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaceEnv"
->Text.XML.HXT.DOM.NamespaceFilter</A
->, Text.XML.HXT.DOM.Namespace, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->propagateNamespaces</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3ApropagateNamespaces"
->Text.XML.HXT.DOM.NamespaceFilter</A
->, Text.XML.HXT.DOM.Namespace, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->pubidLiteral</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->putXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AputXmlDoc"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->putXmlDocToFile</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AputXmlDocToFile"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->putXmlDocument</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AputXmlDocument"
->Text.XML.HXT.Parser.MainFunctions</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->putXmlSource</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AputXmlSource"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->putXmlTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AputXmlTree"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->qattr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aqattr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->qetag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aqetag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->QName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->qName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->qtag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aqtag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->qualifiedName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->quoted</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#t%3ARE"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#t%3ARE"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->reference</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->referenceT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->relaxNamespace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->relaxOptions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->removeAllComment</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveAllComment"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->removeAllWhiteSpace</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveAllWhiteSpace"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->removeComment</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveComment"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->removeDocWhiteSpace</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveDocWhiteSpace"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->removeDoublicateDefs</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-DTDValidation.html#v%3AremoveDoublicateDefs"
->Text.XML.HXT.Validator.DTDValidation</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-ValidationFilter.html#v%3AremoveDoublicateDefs"
->Text.XML.HXT.Validator.ValidationFilter</A
->, Text.XML.HXT.Validator.Validation, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->removeEncodingSpec</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->removeOptions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->removeWhiteSpace</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AremoveWhiteSpace"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->replaceAttrl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AreplaceAttrl"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->replaceChildren</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AreplaceChildren"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->replaceNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AreplaceNode"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->replaceQName</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AreplaceQName"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_ALT</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_ALT"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_alt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_alt"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_alt"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_DOT</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_DOT"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_dot</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_dot"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_dot"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_OPT</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_OPT"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_opt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_opt"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_opt"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_PLUS</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_PLUS"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_plus</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_plus"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_plus"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_REP</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_REP"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_rep</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_rep"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_rep"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_SEQ</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_SEQ"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_seq</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_seq"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_seq"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_SYM</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_SYM"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_sym</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_sym"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_sym"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_UNIT</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_UNIT"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_unit</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_unit"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_unit"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->RE_ZERO</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3ARE_ZERO"
->Text.XML.HXT.Validator.RE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->re_zero</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-RE.html#v%3Are_zero"
->Text.XML.HXT.Validator.RE</A
->, <A HREF="Text-XML-HXT-Validator-XmlRE.html#v%3Are_zero"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->rootTag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3ArootTag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->rpar</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->run</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#v%3Arun"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3Arun"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->run'</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3Arun%27"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->run0</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3Arun0"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->runHtmlParser</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html#v%3ArunHtmlParser"
->Text.XML.HXT.Parser.HtmlParser</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->runInLocalURIContext</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3ArunInLocalURIContext"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->runInNewURIContext</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3ArunInNewURIContext"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->satisfies</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Asatisfies"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->sattr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Asattr"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->sDDecl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->selectOptions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->semi</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->separator</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->seqF</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AseqF"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->seqM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AseqM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setBaseURI</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html#v%3AsetBaseURI"
->Text.XML.HXT.Parser.XmlInput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setChildren</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setDefaultURI</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-DefaultURI.html#v%3AsetDefaultURI"
->Text.XML.HXT.Parser.DefaultURI</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setErrorMsgLevel</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetErrorMsgLevel"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setLocalPart'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setNamePrefix'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setNamespace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setNamespaceUri'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setNode</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->setState</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#v%3AsetState"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setStatus</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetStatus"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setSysErrorHandler</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysErrorHandler"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setSysParam</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysParam"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setSysParamInt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysParamInt"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setSysParamTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysParamTree"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setSysState</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSysState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setSystemParams</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetSystemParams"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->setTraceLevel</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsetTraceLevel"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->showElemType</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeFunctions, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->showOptions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->showXCharRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AshowXCharRef"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->showXEntityRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AshowXEntityRef"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->showXErrors</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AshowXErrors"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->showXText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AshowXText"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->singleChar</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->singleChars</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->singleCharsT</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->skipS</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->skipS0</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->sPace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->sPace0</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->spi</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Aspi"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->sq</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->stag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Astag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->StateIO</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#t%3AStateIO"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->statusOk</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AstatusOk"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->STIO</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#v%3ASTIO"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->stringProtocol</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->substChildren</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AsubstChildren"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->substHtmlEntities</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html#v%3AsubstHtmlEntities"
->Text.XML.HXT.Parser.HtmlParser</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->substXmlEntities</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlParser.html#v%3AsubstXmlEntities"
->Text.XML.HXT.Parser.XmlParser</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->SysState</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Type/Class)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Data Constructor)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3ASysState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->sysState</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsysState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->SysStateAttrs</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->sysStateAttrs</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsysStateAttrs"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->sysStateErrorHandler</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AsysStateErrorHandler"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->systemLiteral</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->tag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Atag"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->TagName</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3ATagName"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->textDecl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->textOfXNode</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AtextOfXNode"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->TFilter</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#t%3ATFilter"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->this</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Athis"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->thisM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AthisM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->thisNode</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->tName</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#v%3AtName"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->toAttrl</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AtoAttrl"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->toNsEnv</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->toTreel</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AtoTreel"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->trace</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3Atrace"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->traceCmd</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AtraceCmd"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->traceF</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AtraceF"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->traceMsg</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AtraceMsg"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->traceSource</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AtraceSource"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->traceState</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AtraceState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->traceTree</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html#v%3AtraceTree"
->Text.XML.HXT.Parser.XmlOutput</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->trans</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#v%3Atrans"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transfAllCdata</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtransfAllCdata"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transfAllCdataEscaped</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtransfAllCdataEscaped"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transfAllCharRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtransfAllCharRef"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transfCdata</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtransfCdata"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transfCdataEscaped</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtransfCdataEscaped"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transfCharRef</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtransfCharRef"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferDefaultURI</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferEncoding</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferMessage</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferMimeType</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferPrefix</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferProtocol</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferStatus</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferURI</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->transferVersion</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->transform</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-DocTransformation.html#v%3Atransform"
->Text.XML.HXT.Validator.DocTransformation</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-ValidationFilter.html#v%3Atransform"
->Text.XML.HXT.Validator.ValidationFilter</A
->, Text.XML.HXT.Validator.Validation, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->trcState</TD
-><TD CLASS="indexlinks"
-><A HREF="Control-Monad-MonadStateIO.html#v%3AtrcState"
->Control.Monad.MonadStateIO</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->Tree</TD
-><TD CLASS="indexlinks"
->Data.Tree.NTree.Filter, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->treeRepOfXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AtreeRepOfXmlDoc"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->TSFilter</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#t%3ATSFilter"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->txt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Atxt"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->t_root</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->t_xml</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->ucs2</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->unicodeString</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->universalName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->universalNameOf</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AuniversalNameOf"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->universalUri</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->unparseXmlDoc</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html#v%3AunparseXmlDoc"
->Text.XML.HXT.DOM.EditFilters</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->usAscii</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->userState</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AuserState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->utf16</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->utf16be</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->utf16le</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->utf8</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->validate</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-ValidationFilter.html#v%3Avalidate"
->Text.XML.HXT.Validator.ValidationFilter</A
->, Text.XML.HXT.Validator.Validation, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->validate1Namespaces</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3Avalidate1Namespaces"
->Text.XML.HXT.DOM.NamespaceFilter</A
->, Text.XML.HXT.DOM.Namespace, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->validateDoc</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-DocValidation.html#v%3AvalidateDoc"
->Text.XML.HXT.Validator.DocValidation</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-ValidationFilter.html#v%3AvalidateDoc"
->Text.XML.HXT.Validator.ValidationFilter</A
->, Text.XML.HXT.Validator.Validation, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->validateDTD</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-DTDValidation.html#v%3AvalidateDTD"
->Text.XML.HXT.Validator.DTDValidation</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Function)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-ValidationFilter.html#v%3AvalidateDTD"
->Text.XML.HXT.Validator.ValidationFilter</A
->, Text.XML.HXT.Validator.Validation, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->validateIds</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Validator-IdValidation.html#v%3AvalidateIds"
->Text.XML.HXT.Validator.IdValidation</A
-></TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->validateNamespaces</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html#v%3AvalidateNamespaces"
->Text.XML.HXT.DOM.NamespaceFilter</A
->, Text.XML.HXT.DOM.Namespace, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->valueOf</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3AvalueOf"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->valueOfDTD</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AvalueOfDTD"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->versionInfo</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->versionNum</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->versionOptions</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_0</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_1</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_any</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_children</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_choice</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_empty</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_mixed</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_no</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_null</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_option</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_pcdata</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_plus</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_seq</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_star</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->v_yes</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->warn</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html#v%3Awarn"
->Text.XML.HXT.DOM.XmlTreeFilter</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->when</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3Awhen"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->whenM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->whenNot</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenNot"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->whenNotM</TD
-><TD CLASS="indexlinks"
-><A HREF="Data-Tree-NTree-Filter.html#v%3AwhenNotM"
->Data.Tree.NTree.Filter</A
->, Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->writeDocument</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html#v%3AwriteDocument"
->Text.XML.HXT.Parser.MainFunctions</A
->, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XAttr</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xattr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3Axattr"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XCdata</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XCharRef</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XCmt</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xcmt</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3Axcmt"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XDTD</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XEntityRef</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xerr</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3Axerr"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XError</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlContentModelToString</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AxmlContentModelToString"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xMLDecl</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xMLDecl'</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XmlFilter</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlFilter"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlNamespace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlNamespaceXName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XmlNodeSet</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlnsNamespace</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlnsNamespaceXName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlnsQN</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlnsXName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XmlSFilter</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html#t%3AXmlSFilter"
->Text.XML.HXT.DOM.XmlTreeTypes</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry" COLSPAN="2"
->XmlState</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->1 (Type/Class)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexannot"
->2 (Data Constructor)</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#v%3AXmlState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XmlStateFilter</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XmlTree</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XmlTrees</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlTreesToString</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AxmlTreesToString"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlTreesToText</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3AxmlTreesToText"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xmlXName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XName</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XNode</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XNS</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XPi</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xread</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.Parser.XmlParser, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xshow</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeFunctions, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XState</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
->Text.XML.HXT.DOM.XmlState</A
->, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XTag</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xtag</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3Axtag"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->XText</TD
-><TD CLASS="indexlinks"
->Text.XML.HXT.DOM.XmlTreeTypes, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xtext</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3Axtext"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-><TR CLASS="indexrow"
-><TD CLASS="indexentry"
->xwarn</TD
-><TD CLASS="indexlinks"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html#v%3Axwarn"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
->, Text.XML.HXT.DOM.XmlTree, Text.XML.HXT.DOM, Text.XML.HXT.Parser</TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/haddock-util.js b/doc/hxt-filter/haddock-util.js
deleted file mode 100644
--- a/doc/hxt-filter/haddock-util.js
+++ /dev/null
@@ -1,133 +0,0 @@
-// Haddock JavaScript utilities
-function toggle(button,id)
-{
-   var n = document.getElementById(id).style;
-   if (n.display == "none")
-   {
-    button.src = "minus.gif";
-    n.display = "block";
-   }
-   else
-   {
-    button.src = "plus.gif";
-    n.display = "none";
-   }
-}
-
-
-var max_results = 75; // 50 is not enough to search for map in the base libraries
-var shown_range = null;
-var last_search = null;
-
-function quick_search()
-{
-    perform_search(false);
-}
-
-function full_search()
-{
-    perform_search(true);
-}
-
-
-function perform_search(full)
-{
-    var text = document.getElementById("searchbox").value.toLowerCase();
-    if (text == last_search && !full) return;
-    last_search = text;
-    
-    var table = document.getElementById("indexlist");
-    var status = document.getElementById("searchmsg");
-    var children = table.firstChild.childNodes;
-    
-    // first figure out the first node with the prefix
-    var first = bisect(-1);
-    var last = (first == -1 ? -1 : bisect(1));
-
-    if (first == -1)
-    {
-        table.className = "";
-        status.innerHTML = "No results found, displaying all";
-    }
-    else if (first == 0 && last == children.length - 1)
-    {
-        table.className = "";
-        status.innerHTML = "";
-    }
-    else if (last - first >= max_results && !full)
-    {
-        table.className = "";
-        status.innerHTML = "More than " + max_results + ", press Search to display";
-    }
-    else
-    {
-        // decide what you need to clear/show
-        if (shown_range)
-            setclass(shown_range[0], shown_range[1], "indexrow");
-        setclass(first, last, "indexshow");
-        shown_range = [first, last];
-        table.className = "indexsearch";
-        status.innerHTML = "";
-    }
-
-    
-    function setclass(first, last, status)
-    {
-        for (var i = first; i <= last; i++)
-        {
-            children[i].className = status;
-        }
-    }
-    
-    
-    // do a binary search, treating 0 as ...
-    // return either -1 (no 0's found) or location of most far match
-    function bisect(dir)
-    {
-        var first = 0, finish = children.length - 1;
-        var mid, success = false;
-
-        while (finish - first > 3)
-        {
-            mid = Math.floor((finish + first) / 2);
-
-            var i = checkitem(mid);
-            if (i == 0) i = dir;
-            if (i == -1)
-                finish = mid;
-            else
-                first = mid;
-        }
-        var a = (dir == 1 ? first : finish);
-        var b = (dir == 1 ? finish : first);
-        for (var i = b; i != a - dir; i -= dir)
-        {
-            if (checkitem(i) == 0) return i;
-        }
-        return -1;
-    }    
-    
-    
-    // from an index, decide what the result is
-    // 0 = match, -1 is lower, 1 is higher
-    function checkitem(i)
-    {
-        var s = getitem(i).toLowerCase().substr(0, text.length);
-        if (s == text) return 0;
-        else return (s > text ? -1 : 1);
-    }
-    
-    
-    // from an index, get its string
-    // this abstracts over alternates
-    function getitem(i)
-    {
-        for ( ; i >= 0; i--)
-        {
-            var s = children[i].firstChild.firstChild.data;
-            if (s.indexOf(' ') == -1)
-                return s;
-        }
-        return ""; // should never be reached
-    }
-}
diff --git a/doc/hxt-filter/haddock.css b/doc/hxt-filter/haddock.css
deleted file mode 100644
--- a/doc/hxt-filter/haddock.css
+++ /dev/null
@@ -1,267 +0,0 @@
-/* -------- Global things --------- */
-
-BODY { 
-  background-color: #ffffff;
-  color: #000000;
-  font-family: sans-serif;
-  } 
-
-A:link    { color: #0000e0; text-decoration: none }
-A:visited { color: #0000a0; text-decoration: none }
-A:hover   { background-color: #e0e0ff; text-decoration: none }
-
-TABLE.vanilla {
-  width: 100%;
-  border-width: 0px;
-  /* I can't seem to specify cellspacing or cellpadding properly using CSS... */
-}
-
-TABLE.vanilla2 {
-  border-width: 0px;
-}
-
-/* <TT> font is a little too small in MSIE */
-TT  { font-size: 100%; }
-PRE { font-size: 100%; }
-
-LI P { margin: 0pt } 
-
-TD {
-  border-width: 0px;
-}
-
-TABLE.narrow {
-  border-width: 0px;
-}
-
-TD.s8  {  height: 8px;  }
-TD.s15 {  height: 15px; }
-
-SPAN.keyword { text-decoration: underline; }
-
-/* Resize the buttom image to match the text size */
-IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em }
-
-/* --------- Contents page ---------- */
-
-DIV.node {
-  padding-left: 3em;
-}
-
-DIV.cnode {
-  padding-left: 1.75em;
-}
-
-SPAN.pkg {
-  position: absolute;
-  left: 50em;
-}
-
-/* --------- Documentation elements ---------- */
-
-TD.children {
-  padding-left: 25px;
-  }
-
-TD.synopsis {
-  padding: 2px;
-  background-color: #f0f0f0;
-  font-family: monospace
- }
-
-TD.decl { 
-  padding: 2px;
-  background-color: #f0f0f0; 
-  font-family: monospace;
-  vertical-align: top;
-  }
-
-TD.topdecl {
-  padding: 2px;
-  background-color: #f0f0f0;
-  font-family: monospace;
-  vertical-align: top;
-}
-
-TABLE.declbar {
-  border-spacing: 0px;
- }
-
-TD.declname {
-  width: 100%;
- }
-
-TD.declbut {
-  padding-left: 5px;
-  padding-right: 5px;
-  border-left-width: 1px;
-  border-left-color: #000099;
-  border-left-style: solid;
-  white-space: nowrap;
-  font-size: small;
- }
-
-/* 
-  arg is just like decl, except that wrapping is not allowed.  It is
-  used for function and constructor arguments which have a text box
-  to the right, where if wrapping is allowed the text box squashes up
-  the declaration by wrapping it.
-*/
-TD.arg { 
-  padding: 2px;
-  background-color: #f0f0f0; 
-  font-family: monospace;
-  vertical-align: top;
-  white-space: nowrap;
-  }
-
-TD.recfield { padding-left: 20px }
-
-TD.doc  { 
-  padding-top: 2px;
-  padding-left: 10px;
-  }
-
-TD.ndoc  { 
-  padding: 2px;
-  }
-
-TD.rdoc  { 
-  padding: 2px;
-  padding-left: 10px;
-  width: 100%;
-  }
-
-TD.body  { 
-  padding-left: 10px
-  }
-
-TD.pkg {
-  width: 100%;
-  padding-left: 10px
-}
-
-TABLE.indexsearch TR.indexrow {
-  display: none;
-}
-TABLE.indexsearch TR.indexshow {
-  display: table-row;
-}
-
-TD.indexentry {
-  vertical-align: top;
-  padding-right: 10px
-  }
-
-TD.indexannot {
-  vertical-align: top;
-  padding-left: 20px;
-  white-space: nowrap
-  }
-
-TD.indexlinks {
-  width: 100%
-  }
-
-/* ------- Section Headings ------- */
-
-TD.section1 {
-  padding-top: 15px;
-  font-weight: bold;
-  font-size: 150%
-  }
-
-TD.section2 {
-  padding-top: 10px;
-  font-weight: bold;
-  font-size: 130%
-  }
-
-TD.section3 {
-  padding-top: 5px;
-  font-weight: bold;
-  font-size: 110%
-  }
-
-TD.section4 {
-  font-weight: bold;
-  font-size: 100%
-  }
-
-/* -------------- The title bar at the top of the page */
-
-TD.infohead {
-  color: #ffffff;
-  font-weight: bold;
-  padding-right: 10px;
-  text-align: left;
-}
-
-TD.infoval {
-  color: #ffffff;
-  padding-right: 10px;
-  text-align: left;
-}
-
-TD.topbar {
-  background-color: #000099;
-  padding: 5px;
-}
-
-TD.title {
-  color: #ffffff;
-  padding-left: 10px;
-  width: 100%
-  }
-
-TD.topbut {
-  padding-left: 5px;
-  padding-right: 5px;
-  border-left-width: 1px;
-  border-left-color: #ffffff;
-  border-left-style: solid;
-  white-space: nowrap;
-  }
-
-TD.topbut A:link {
-  color: #ffffff
-  }
-
-TD.topbut A:visited {
-  color: #ffff00
-  }
-
-TD.topbut A:hover {
-  background-color: #6060ff;
-  }
-
-TD.topbut:hover {
-  background-color: #6060ff
-  }
-
-TD.modulebar { 
-  background-color: #0077dd;
-  padding: 5px;
-  border-top-width: 1px;
-  border-top-color: #ffffff;
-  border-top-style: solid;
-  }
-
-/* --------- The page footer --------- */
-
-TD.botbar {
-  background-color: #000099;
-  color: #ffffff;
-  padding: 5px
-  }
-TD.botbar A:link {
-  color: #ffffff;
-  text-decoration: underline
-  }
-TD.botbar A:visited {
-  color: #ffff00
-  }
-TD.botbar A:hover {
-  background-color: #6060ff
-  }
-
diff --git a/doc/hxt-filter/haskell_icon.gif b/doc/hxt-filter/haskell_icon.gif
deleted file mode 100644
Binary files a/doc/hxt-filter/haskell_icon.gif and /dev/null differ
diff --git a/doc/hxt-filter/hxt-filter.haddock b/doc/hxt-filter/hxt-filter.haddock
deleted file mode 100644
Binary files a/doc/hxt-filter/hxt-filter.haddock and /dev/null differ
diff --git a/doc/hxt-filter/index.html b/doc/hxt-filter/index.html
deleted file mode 100644
--- a/doc/hxt-filter/index.html
+++ /dev/null
@@ -1,571 +0,0 @@
-<!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
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TITLE
-><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
-><SCRIPT SRC="haddock-util.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"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</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="section1"
->hxt-filter-8.3.0: A collection of tools for processing XML with Haskell (Filter variant).</TD
-></TR
-><TR
-><TD CLASS="doc"
->The Haskell XML Toolbox bases on the ideas of HaXml and HXML. This package is a compatibitlity package for old software working with the filter approach like in HaXml. For new projects it's recomended to use the arrow based library (hxt).
-</TD
-></TR
-><TR
-><TD CLASS="section1"
->Modules</TD
-></TR
-><TR
-><TD
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0"
-><TR
-><TD STYLE="width: 50em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:0')" ALT="show/hide"
->Control</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:0" STYLE="display:block;"
-><TR
-><TD STYLE="width: 48em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:1')" ALT="show/hide"
->Monad</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:1" STYLE="display:block;"
-><TR
-><TD STYLE="padding-left: 1.25em;width: 46em"
-><A HREF="Control-Monad-MonadStateIO.html"
->Control.Monad.MonadStateIO</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD STYLE="width: 50em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:2')" ALT="show/hide"
->Data</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:2" STYLE="display:block;"
-><TR
-><TD STYLE="width: 48em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:3')" ALT="show/hide"
->Tree</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:3" STYLE="display:block;"
-><TR
-><TD STYLE="width: 46em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:4')" ALT="show/hide"
->NTree</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:4" STYLE="display:block;"
-><TR
-><TD STYLE="padding-left: 1.25em;width: 44em"
-><A HREF="Data-Tree-NTree-Filter.html"
->Data.Tree.NTree.Filter</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD STYLE="width: 50em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:5')" ALT="show/hide"
->System</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:5" STYLE="display:block;"
-><TR
-><TD STYLE="padding-left: 1.25em;width: 48em"
-><A HREF="System-PipeOpen.html"
->System.PipeOpen</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD STYLE="width: 50em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:6')" ALT="show/hide"
->Text</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:6" STYLE="display:block;"
-><TR
-><TD STYLE="width: 48em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:7')" ALT="show/hide"
->XML</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:7" STYLE="display:block;"
-><TR
-><TD STYLE="width: 46em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:8')" ALT="show/hide"
->HXT</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:8" STYLE="display:block;"
-><TR
-><TD STYLE="width: 44em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:9')" ALT="show/hide"
-><A HREF="Text-XML-HXT-DOM.html"
->Text.XML.HXT.DOM</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:9" STYLE="display:block;"
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-DOM-EditFilters.html"
->Text.XML.HXT.DOM.EditFilters</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-DOM-Namespace.html"
->Text.XML.HXT.DOM.Namespace</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-DOM-NamespaceFilter.html"
->Text.XML.HXT.DOM.NamespaceFilter</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-DOM-XmlState.html"
->Text.XML.HXT.DOM.XmlState</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-DOM-XmlTree.html"
->Text.XML.HXT.DOM.XmlTree</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFilter.html"
->Text.XML.HXT.DOM.XmlTreeFilter</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-DOM-XmlTreeFunctions.html"
->Text.XML.HXT.DOM.XmlTreeFunctions</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-DOM-XmlTreeTypes.html"
->Text.XML.HXT.DOM.XmlTreeTypes</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD STYLE="width: 44em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:10')" ALT="show/hide"
-><A HREF="Text-XML-HXT-Parser.html"
->Text.XML.HXT.Parser</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:10" STYLE="display:block;"
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-DTDProcessing.html"
->Text.XML.HXT.Parser.DTDProcessing</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-DefaultURI.html"
->Text.XML.HXT.Parser.DefaultURI</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-HtmlParser.html"
->Text.XML.HXT.Parser.HtmlParser</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-MainFunctions.html"
->Text.XML.HXT.Parser.MainFunctions</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandler.html"
->Text.XML.HXT.Parser.ProtocolHandler</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandlerFile.html"
->Text.XML.HXT.Parser.ProtocolHandlerFile</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html"
->Text.XML.HXT.Parser.ProtocolHandlerHttpCurl</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html"
->Text.XML.HXT.Parser.ProtocolHandlerHttpNative</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html"
->Text.XML.HXT.Parser.ProtocolHandlerHttpNativeOrCurl</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-XmlInput.html"
->Text.XML.HXT.Parser.XmlInput</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-XmlOutput.html"
->Text.XML.HXT.Parser.XmlOutput</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Parser-XmlParser.html"
->Text.XML.HXT.Parser.XmlParser</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-><TR
-><TD STYLE="width: 44em"
-><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:11')" ALT="show/hide"
->Validator</TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
-><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:11" STYLE="display:block;"
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-AttributeValueValidation.html"
->Text.XML.HXT.Validator.AttributeValueValidation</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-DTDValidation.html"
->Text.XML.HXT.Validator.DTDValidation</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-DocTransformation.html"
->Text.XML.HXT.Validator.DocTransformation</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-DocValidation.html"
->Text.XML.HXT.Validator.DocValidation</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-IdValidation.html"
->Text.XML.HXT.Validator.IdValidation</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-RE.html"
->Text.XML.HXT.Validator.RE</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-Validation.html"
->Text.XML.HXT.Validator.Validation</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-ValidationFilter.html"
->Text.XML.HXT.Validator.ValidationFilter</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-><TR
-><TD STYLE="padding-left: 1.25em;width: 42em"
-><A HREF="Text-XML-HXT-Validator-XmlRE.html"
->Text.XML.HXT.Validator.XmlRE</A
-></TD
-><TD
-></TD
-><TD
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></TD
-></TR
-></TABLE
-></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 2.3.0</TD
-></TR
-></TABLE
-></BODY
-></HTML
->
diff --git a/doc/hxt-filter/minus.gif b/doc/hxt-filter/minus.gif
deleted file mode 100644
Binary files a/doc/hxt-filter/minus.gif and /dev/null differ
diff --git a/doc/hxt-filter/plus.gif b/doc/hxt-filter/plus.gif
deleted file mode 100644
Binary files a/doc/hxt-filter/plus.gif and /dev/null differ
diff --git a/doc/hxt-filter/src/Control-Monad-MonadStateIO.html b/doc/hxt-filter/src/Control-Monad-MonadStateIO.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Control-Monad-MonadStateIO.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- general usefull state monad for a local state and IO</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- This module is used for threading a state and io actions</span>
-<a name="line-5"></a><span class='comment'>-- through a computation.</span>
-<a name="line-6"></a><span class='comment'>-- Here the monad is constructed by hand.</span>
-<a name="line-7"></a><span class='comment'>-- It could easily be refactored with the use of the monad transformer library.</span>
-<a name="line-8"></a>
-<a name="line-9"></a>
-<a name="line-10"></a><span class='keyword'>module</span> <span class='conid'>Control</span><span class='varop'>.</span><span class='conid'>Monad</span><span class='varop'>.</span><span class='conid'>MonadStateIO</span>
-<a name="line-11"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Control</span><span class='varop'>.</span><span class='conid'>Monad</span><span class='varop'>.</span><span class='conid'>MonadStateIO</span>
-<a name="line-12"></a>    <span class='layout'>)</span>
-<a name="line-13"></a><span class='keyword'>where</span>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span>
-<a name="line-16"></a>
-<a name="line-17"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-18"></a>
-<a name="line-19"></a><a name="StateIO"></a><span class='keyword'>newtype</span> <span class='conid'>StateIO</span> <span class='varid'>state</span> <span class='varid'>res</span> <span class='keyglyph'>=</span> <span class='conid'>STIO</span> <span class='layout'>{</span> <span class='varid'>trans</span> <span class='keyglyph'>::</span> <span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='varid'>state</span><span class='layout'>)</span> <span class='layout'>}</span>
-<a name="line-20"></a>
-<a name="line-21"></a><span class='keyword'>instance</span> <span class='conid'>Monad</span> <span class='layout'>(</span><span class='conid'>StateIO</span> <span class='varid'>state</span><span class='layout'>)</span> <span class='keyword'>where</span>
-<a name="line-22"></a>    <span class='varid'>return</span> <span class='varid'>v</span>
-<a name="line-23"></a>	<span class='keyglyph'>=</span> <span class='conid'>STIO</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='varid'>s</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>v</span><span class='layout'>,</span> <span class='varid'>s</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-24"></a>
-<a name="line-25"></a>    <span class='conid'>STIO</span> <span class='varid'>cmd</span> <span class='varop'>&gt;&gt;=</span> <span class='varid'>f</span>
-<a name="line-26"></a>	<span class='keyglyph'>=</span> <span class='conid'>STIO</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='varid'>s</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-27"></a>		  <span class='varid'>cmd</span> <span class='varid'>s</span> <span class='varop'>&gt;&gt;=</span> <span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>rl</span><span class='layout'>,</span> <span class='varid'>s'</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-28"></a>		  <span class='layout'>(</span><span class='varid'>trans</span> <span class='varop'>.</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='varid'>rl</span> <span class='varid'>s'</span>
-<a name="line-29"></a>		<span class='layout'>)</span>
-<a name="line-30"></a>
-<a name="line-31"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-32"></a><span class='comment'>-- |</span>
-<a name="line-33"></a><span class='comment'>-- lift IO command to 'StateIO'</span>
-<a name="line-34"></a>
-<a name="line-35"></a><a name="io"></a><span class='definition'>io</span> <span class='keyglyph'>::</span> <span class='conid'>IO</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>StateIO</span> <span class='varid'>state</span> <span class='varid'>a</span>
-<a name="line-36"></a><span class='definition'>io</span> <span class='varid'>iocmd</span>
-<a name="line-37"></a>    <span class='keyglyph'>=</span> <span class='conid'>STIO</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='varid'>s</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-38"></a>	     <span class='keyword'>do</span>
-<a name="line-39"></a>	     <span class='varid'>a</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>iocmd</span>
-<a name="line-40"></a>	     <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>a</span><span class='layout'>,</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-41"></a>	   <span class='layout'>)</span>
-<a name="line-42"></a>
-<a name="line-43"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-44"></a>
-<a name="line-45"></a><span class='comment'>-- |</span>
-<a name="line-46"></a><span class='comment'>-- state inspection command: a \"show\"-like function is applied to the state</span>
-<a name="line-47"></a><span class='comment'>-- and the result is written to stderr.</span>
-<a name="line-48"></a>
-<a name="line-49"></a><a name="trcState"></a><span class='definition'>trcState</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>StateIO</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-50"></a><span class='definition'>trcState</span> <span class='varid'>fct</span>
-<a name="line-51"></a>    <span class='keyglyph'>=</span> <span class='conid'>STIO</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='varid'>s</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-52"></a>	      <span class='keyword'>do</span>
-<a name="line-53"></a>	      <span class='varid'>hPutStr</span> <span class='varid'>stderr</span> <span class='varop'>$</span> <span class='varid'>fct</span> <span class='varid'>s</span>
-<a name="line-54"></a>	      <span class='varid'>return</span> <span class='layout'>(</span><span class='conid'>()</span><span class='layout'>,</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-55"></a>	    <span class='layout'>)</span>
-<a name="line-56"></a>
-<a name="line-57"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-58"></a><span class='comment'>--</span>
-<a name="line-59"></a><span class='comment'>-- state access commands</span>
-<a name="line-60"></a>
-<a name="line-61"></a><span class='comment'>-- |</span>
-<a name="line-62"></a><span class='comment'>-- change the state with a given function and return the new state</span>
-<a name="line-63"></a>
-<a name="line-64"></a><a name="changeState"></a><span class='definition'>changeState</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>state</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>StateIO</span> <span class='varid'>state</span> <span class='varid'>state</span>
-<a name="line-65"></a><span class='definition'>changeState</span> <span class='varid'>f</span>
-<a name="line-66"></a>    <span class='keyglyph'>=</span> <span class='conid'>STIO</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='varid'>s</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-67"></a>	     <span class='keyword'>let</span> <span class='varid'>s'</span> <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varid'>s</span>
-<a name="line-68"></a>	     <span class='keyword'>in</span>
-<a name="line-69"></a>	     <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>s'</span><span class='layout'>,</span> <span class='varid'>s'</span><span class='layout'>)</span>
-<a name="line-70"></a>	    <span class='layout'>)</span>
-<a name="line-71"></a>
-<a name="line-72"></a><span class='comment'>-- |</span>
-<a name="line-73"></a><span class='comment'>-- set the state</span>
-<a name="line-74"></a>
-<a name="line-75"></a><a name="setState"></a><span class='definition'>setState</span>	<span class='keyglyph'>::</span> <span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>StateIO</span> <span class='varid'>state</span> <span class='varid'>state</span>
-<a name="line-76"></a><span class='definition'>setState</span> <span class='varid'>s</span>
-<a name="line-77"></a>    <span class='keyglyph'>=</span> <span class='varid'>changeState</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>s</span> <span class='layout'>)</span>
-<a name="line-78"></a>
-<a name="line-79"></a><span class='comment'>-- |</span>
-<a name="line-80"></a><span class='comment'>-- read the state</span>
-<a name="line-81"></a>
-<a name="line-82"></a><a name="getState"></a><span class='definition'>getState</span>	<span class='keyglyph'>::</span> <span class='conid'>StateIO</span> <span class='varid'>state</span> <span class='varid'>state</span>
-<a name="line-83"></a><span class='definition'>getState</span>
-<a name="line-84"></a>    <span class='keyglyph'>=</span> <span class='varid'>changeState</span> <span class='varid'>id</span>
-<a name="line-85"></a>
-<a name="line-86"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-87"></a><span class='comment'>-- |</span>
-<a name="line-88"></a><span class='comment'>-- run a 'StateIO' command with an initial state</span>
-<a name="line-89"></a>
-<a name="line-90"></a><a name="run"></a><span class='definition'>run</span> <span class='keyglyph'>::</span> <span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>StateIO</span> <span class='varid'>state</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='varid'>res</span>
-<a name="line-91"></a><span class='definition'>run</span> <span class='varid'>initialState</span> <span class='layout'>(</span><span class='conid'>STIO</span> <span class='varid'>cmd</span><span class='layout'>)</span>
-<a name="line-92"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-93"></a>      <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='sel'>_finalState</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>cmd</span> <span class='varid'>initialState</span>
-<a name="line-94"></a>      <span class='varid'>return</span> <span class='varid'>res</span>
-<a name="line-95"></a>
-<a name="line-96"></a>
-<a name="line-97"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Data-Tree-NTree-Filter.html b/doc/hxt-filter/src/Data-Tree-NTree-Filter.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Data-Tree-NTree-Filter.html
+++ /dev/null
@@ -1,922 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a>
-<a name="line-3"></a><span class='comment'>{- |
-<a name="line-4"></a>   Module     : Data.Tree.NTree.Filter
-<a name="line-5"></a>   Copyright  : Copyright (C) 2005 Uwe Schmidt
-<a name="line-6"></a>   License    : MIT
-<a name="line-7"></a>
-<a name="line-8"></a>   Maintainer : Uwe Schmidt (uwe\@fh-wedel.de)
-<a name="line-9"></a>   Stability  : stable
-<a name="line-10"></a>   Portability: portable
-<a name="line-11"></a>
-<a name="line-12"></a>   Filter for n-ary tree structure with filter combinators
-<a name="line-13"></a>   copied and modified from HaXml (&lt;<a href="http://www.cs.york.ac.uk/fp/HaXml/">http://www.cs.york.ac.uk/fp/HaXml/</a>&gt;)
-<a name="line-14"></a>
-<a name="line-15"></a>   Similar but more flexible functions for tree processing are defined in the
-<a name="line-16"></a>   arrow classes "Control.Arrow.ArrowList", "Control.Arrow.ArrowIf", "Control.Arrow.ArrowTree" and "Control.Arrow.ArrowState".
-<a name="line-17"></a>   For new applications, especially for XML processing, it's recommended to use the arrow interface
-<a name="line-18"></a>   "Text.XML.HXT.Arrow" instead of this filter approach as part of the api "Text.XML.HXT.Parser"
-<a name="line-19"></a>
-<a name="line-20"></a>-}</span>
-<a name="line-21"></a>
-<a name="line-22"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-23"></a>
-<a name="line-24"></a><span class='keyword'>module</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Tree</span><span class='varop'>.</span><span class='conid'>NTree</span><span class='varop'>.</span><span class='conid'>Filter</span>
-<a name="line-25"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Tree</span><span class='varop'>.</span><span class='conid'>NTree</span><span class='varop'>.</span><span class='conid'>TypeDefs</span>
-<a name="line-26"></a>    <span class='layout'>,</span> <span class='conid'>TFilter</span>
-<a name="line-27"></a>    <span class='layout'>,</span> <span class='conid'>TSFilter</span>
-<a name="line-28"></a>    <span class='layout'>,</span> <span class='varid'>satisfies</span>
-<a name="line-29"></a>
-<a name="line-30"></a>    <span class='comment'>-- * Filter</span>
-<a name="line-31"></a>    <span class='layout'>,</span> <span class='varid'>none</span>		<span class='comment'>-- simple filter</span>
-<a name="line-32"></a>    <span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-33"></a>
-<a name="line-34"></a>    <span class='layout'>,</span> <span class='varid'>isOf</span>
-<a name="line-35"></a>    <span class='layout'>,</span> <span class='varid'>isOfNode</span>		<span class='comment'>-- predicate filter</span>
-<a name="line-36"></a>
-<a name="line-37"></a>    <span class='layout'>,</span> <span class='varid'>mkNTree</span>		<span class='comment'>-- contructor filter</span>
-<a name="line-38"></a>
-<a name="line-39"></a>    <span class='layout'>,</span> <span class='varid'>replaceNode</span>	<span class='comment'>-- simple editing</span>
-<a name="line-40"></a>    <span class='layout'>,</span> <span class='varid'>replaceChildren</span>
-<a name="line-41"></a>
-<a name="line-42"></a>    <span class='layout'>,</span> <span class='varid'>modifyNode</span>
-<a name="line-43"></a>    <span class='layout'>,</span> <span class='varid'>modifyNode0</span>
-<a name="line-44"></a>    <span class='layout'>,</span> <span class='varid'>modifyChildren</span>
-<a name="line-45"></a>    <span class='layout'>,</span> <span class='varid'>substChildren</span>
-<a name="line-46"></a>    <span class='layout'>,</span> <span class='varid'>processChildren</span>	<span class='comment'>-- filter combinators</span>
-<a name="line-47"></a>
-<a name="line-48"></a>    <span class='layout'>,</span> <span class='varid'>o</span>
-<a name="line-49"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>.&gt;</span><span class='layout'>)</span>
-<a name="line-50"></a>    <span class='layout'>,</span> <span class='varid'>seqF</span>
-<a name="line-51"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>..&gt;</span><span class='layout'>)</span>
-<a name="line-52"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>+++</span><span class='layout'>)</span>
-<a name="line-53"></a>    <span class='layout'>,</span> <span class='varid'>cat</span>
-<a name="line-54"></a>
-<a name="line-55"></a>    <span class='layout'>,</span> <span class='varid'>orElse</span>		<span class='comment'>-- choices</span>
-<a name="line-56"></a>    <span class='layout'>,</span> <span class='varid'>iff</span>		<span class='comment'>-- if then else filter</span>
-<a name="line-57"></a>    <span class='layout'>,</span> <span class='varid'>choice</span>
-<a name="line-58"></a>    <span class='layout'>,</span> <span class='conid'>IfThen</span><span class='layout'>(</span><span class='keyglyph'>..</span><span class='layout'>)</span>
-<a name="line-59"></a>    <span class='layout'>,</span> <span class='varid'>when</span>
-<a name="line-60"></a>    <span class='layout'>,</span> <span class='varid'>whenNot</span>
-<a name="line-61"></a>    <span class='layout'>,</span> <span class='varid'>guards</span>
-<a name="line-62"></a>    <span class='layout'>,</span> <span class='varid'>neg</span>		<span class='comment'>-- negation</span>
-<a name="line-63"></a>    <span class='layout'>,</span> <span class='varid'>containing</span>	<span class='comment'>-- previous: with, but with is keyword in haskell extensions</span>
-<a name="line-64"></a>    <span class='layout'>,</span> <span class='varid'>notContaining</span>	<span class='comment'>-- previous: without</span>
-<a name="line-65"></a>
-<a name="line-66"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>/&gt;</span><span class='layout'>)</span>		<span class='comment'>-- selectors</span>
-<a name="line-67"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>&lt;/</span><span class='layout'>)</span>
-<a name="line-68"></a>    <span class='layout'>,</span> <span class='varid'>deep</span>		<span class='comment'>-- recursive search</span>
-<a name="line-69"></a>    <span class='layout'>,</span> <span class='varid'>deepest</span>
-<a name="line-70"></a>    <span class='layout'>,</span> <span class='varid'>multi</span>
-<a name="line-71"></a>    <span class='layout'>,</span> <span class='varid'>processBottomUp</span>	<span class='comment'>-- recursive editing</span>
-<a name="line-72"></a>    <span class='layout'>,</span> <span class='varid'>processBottomUpIfNot</span>
-<a name="line-73"></a>    <span class='layout'>,</span> <span class='varid'>processTopDown</span>
-<a name="line-74"></a>    <span class='layout'>,</span> <span class='varid'>processTopDownUntil</span>
-<a name="line-75"></a>    <span class='layout'>,</span> <span class='varid'>insertChildrenAt</span>
-<a name="line-76"></a>    <span class='layout'>,</span> <span class='varid'>insertChildrenAfter</span>
-<a name="line-77"></a>
-<a name="line-78"></a>      <span class='comment'>-- * Monadic Filter</span>
-<a name="line-79"></a>    <span class='layout'>,</span> <span class='varid'>thisM</span>		<span class='comment'>-- monadic filter</span>
-<a name="line-80"></a>    <span class='layout'>,</span> <span class='varid'>noneM</span>
-<a name="line-81"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>.&gt;&gt;</span><span class='layout'>)</span>		<span class='comment'>-- monadic composition</span>
-<a name="line-82"></a>    <span class='layout'>,</span> <span class='varid'>seqM</span>		<span class='comment'>-- generalisation of .&gt;&gt;</span>
-<a name="line-83"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>+++&gt;&gt;</span><span class='layout'>)</span>		<span class='comment'>-- monadic parallel combination, monadic +++</span>
-<a name="line-84"></a>    <span class='layout'>,</span> <span class='varid'>catM</span>		<span class='comment'>-- monadic form of cat</span>
-<a name="line-85"></a>    <span class='layout'>,</span> <span class='varid'>ifM</span>		<span class='comment'>-- monadic if then else</span>
-<a name="line-86"></a>    <span class='layout'>,</span> <span class='varid'>choiceM</span>		<span class='comment'>-- monadic choice</span>
-<a name="line-87"></a>    <span class='layout'>,</span> <span class='varid'>whenM</span>		<span class='comment'>-- special monadic ifs</span>
-<a name="line-88"></a>    <span class='layout'>,</span> <span class='varid'>whenNotM</span>
-<a name="line-89"></a>    <span class='layout'>,</span> <span class='varid'>guardsM</span>
-<a name="line-90"></a>    <span class='layout'>,</span> <span class='varid'>containingM</span>
-<a name="line-91"></a>    <span class='layout'>,</span> <span class='varid'>processChildrenM</span>	<span class='comment'>-- monadic versions of recursive editing</span>
-<a name="line-92"></a>    <span class='layout'>,</span> <span class='varid'>processTopDownM</span>
-<a name="line-93"></a>    <span class='layout'>,</span> <span class='varid'>processBottomUpM</span>
-<a name="line-94"></a>    <span class='layout'>,</span> <span class='varid'>liftMf</span>		<span class='comment'>-- lift a normal filter to a monadic filter</span>
-<a name="line-95"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>$$</span><span class='layout'>)</span>		<span class='comment'>-- apply a filter to a list</span>
-<a name="line-96"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>$$&lt;</span><span class='layout'>)</span>		<span class='comment'>-- apply a monad filter to a list</span>
-<a name="line-97"></a>    <span class='layout'>,</span> <span class='varid'>performAction</span>	<span class='comment'>-- run a command within a filter</span>
-<a name="line-98"></a>    <span class='layout'>)</span>
-<a name="line-99"></a>
-<a name="line-100"></a><span class='keyword'>where</span>
-<a name="line-101"></a>
-<a name="line-102"></a>
-<a name="line-103"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Tree</span><span class='varop'>.</span><span class='conid'>NTree</span><span class='varop'>.</span><span class='conid'>TypeDefs</span>
-<a name="line-104"></a>
-<a name="line-105"></a><span class='keyword'>infixl</span> <span class='num'>6</span> <span class='varop'>`containing`</span><span class='layout'>,</span> <span class='varop'>`notContaining`</span><span class='layout'>,</span> <span class='varop'>`containingM`</span>
-<a name="line-106"></a><span class='keyword'>infixr</span> <span class='num'>5</span> <span class='varop'>`o`</span><span class='layout'>,</span> <span class='varop'>+++</span><span class='layout'>,</span> <span class='varop'>+++&gt;&gt;</span>
-<a name="line-107"></a><span class='keyword'>infixl</span> <span class='num'>5</span> <span class='varop'>/&gt;</span><span class='layout'>,</span> <span class='varop'>&lt;/</span><span class='layout'>,</span> <span class='varop'>`orElse`</span><span class='layout'>,</span> <span class='varop'>.&gt;</span><span class='layout'>,</span> <span class='varop'>..&gt;</span><span class='layout'>,</span> <span class='varop'>.&gt;&gt;</span>
-<a name="line-108"></a><span class='keyword'>infixr</span> <span class='num'>4</span> <span class='varop'>`when`</span><span class='layout'>,</span> <span class='varop'>`whenNot`</span><span class='layout'>,</span> <span class='varop'>`guards`</span><span class='layout'>,</span> <span class='varop'>`whenM`</span><span class='layout'>,</span> <span class='varop'>`whenNotM`</span><span class='layout'>,</span> <span class='varop'>`guardsM`</span>
-<a name="line-109"></a><span class='keyword'>infixr</span> <span class='num'>3</span> <span class='conop'>:-&gt;</span>
-<a name="line-110"></a><span class='keyword'>infixr</span> <span class='num'>0</span> <span class='varop'>$$</span><span class='layout'>,</span> <span class='varop'>$$&lt;</span>
-<a name="line-111"></a>
-<a name="line-112"></a><span class='comment'>-- |</span>
-<a name="line-113"></a><span class='comment'>-- tree filter type: a function mapping a tree onto a list of trees</span>
-<a name="line-114"></a><span class='comment'>--</span>
-<a name="line-115"></a><span class='comment'>-- filter can be used in various ways, as predicates, selectors, transformers, ...</span>
-<a name="line-116"></a>
-<a name="line-117"></a><a name="TFilter"></a><span class='keyword'>type</span> <span class='conid'>TFilter</span>  <span class='varid'>node</span>	<span class='keyglyph'>=</span> <span class='conid'>NTree</span>  <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>NTrees</span> <span class='varid'>node</span>
-<a name="line-118"></a>
-<a name="line-119"></a><span class='comment'>-- |</span>
-<a name="line-120"></a><span class='comment'>-- a filter for sequences</span>
-<a name="line-121"></a>
-<a name="line-122"></a><a name="TSFilter"></a><span class='keyword'>type</span> <span class='conid'>TSFilter</span> <span class='varid'>node</span>	<span class='keyglyph'>=</span> <span class='conid'>NTrees</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>NTrees</span> <span class='varid'>node</span>
-<a name="line-123"></a>
-<a name="line-124"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-125"></a>
-<a name="line-126"></a><span class='comment'>-- |</span>
-<a name="line-127"></a><span class='comment'>-- satisfies converts a result of a predicate filter into a boolean</span>
-<a name="line-128"></a><span class='comment'>--</span>
-<a name="line-129"></a><span class='comment'>-- is a shortcut for not . null</span>
-<a name="line-130"></a><span class='comment'>--</span>
-<a name="line-131"></a><span class='comment'>-- typical use in guards or ifs: @if (satisfies f) t then ... else ... @</span>
-<a name="line-132"></a><span class='comment'>--</span>
-<a name="line-133"></a><span class='comment'>--    * 1.parameter f :  the predicate filter</span>
-<a name="line-134"></a><span class='comment'>--</span>
-<a name="line-135"></a><span class='comment'>--    - 2.parameter t :  the tree to be tested</span>
-<a name="line-136"></a><span class='comment'>--</span>
-<a name="line-137"></a><span class='comment'>--    - returns : @b = not (null (f t))@</span>
-<a name="line-138"></a>
-<a name="line-139"></a><a name="satisfies"></a><span class='definition'>satisfies</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-140"></a><span class='definition'>satisfies</span> <span class='varid'>f</span>	<span class='keyglyph'>=</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>null</span> <span class='varop'>.</span> <span class='varid'>f</span>
-<a name="line-141"></a>
-<a name="line-142"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-143"></a><span class='comment'>--</span>
-<a name="line-144"></a><span class='comment'>-- simple filter</span>
-<a name="line-145"></a>
-<a name="line-146"></a><span class='comment'>-- |</span>
-<a name="line-147"></a><span class='comment'>-- the null filter, returns the empty list</span>
-<a name="line-148"></a>
-<a name="line-149"></a><a name="none"></a><span class='definition'>none</span>		<span class='keyglyph'>::</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span>
-<a name="line-150"></a><span class='definition'>none</span> <span class='keyword'>_</span>		<span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-151"></a>
-<a name="line-152"></a><span class='comment'>-- |</span>
-<a name="line-153"></a><span class='comment'>-- the unit filter, returns the single element list containing the argument</span>
-<a name="line-154"></a>
-<a name="line-155"></a><a name="this"></a><span class='definition'>this</span>		<span class='keyglyph'>::</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span>
-<a name="line-156"></a><span class='definition'>this</span> <span class='varid'>n</span>		<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-157"></a>
-<a name="line-158"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-159"></a><span class='comment'>--</span>
-<a name="line-160"></a><span class='comment'>-- selecting filter</span>
-<a name="line-161"></a>
-<a name="line-162"></a><span class='comment'>-- |</span>
-<a name="line-163"></a><span class='comment'>-- conversion from predicate function to filter</span>
-<a name="line-164"></a><span class='comment'>--</span>
-<a name="line-165"></a><span class='comment'>--    * 1.parameter p :  the predicate for testing the tree</span>
-<a name="line-166"></a><span class='comment'>--</span>
-<a name="line-167"></a><span class='comment'>--    - returns : 'this' or 'none' depending on the predicate</span>
-<a name="line-168"></a>
-<a name="line-169"></a><a name="isOf"></a><span class='definition'>isOf</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-170"></a><span class='definition'>isOf</span> <span class='varid'>p</span> <span class='varid'>t</span>
-<a name="line-171"></a>    <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>p</span> <span class='varid'>t</span> <span class='keyword'>then</span> <span class='keyglyph'>[</span><span class='varid'>t</span><span class='keyglyph'>]</span> <span class='keyword'>else</span> <span class='conid'>[]</span>
-<a name="line-172"></a>
-<a name="line-173"></a><span class='comment'>-- |</span>
-<a name="line-174"></a><span class='comment'>-- select filter, selects trees with node values with a specific property</span>
-<a name="line-175"></a><span class='comment'>--</span>
-<a name="line-176"></a><span class='comment'>--    * 1.parameter p :  the predicate for testing the node value</span>
-<a name="line-177"></a><span class='comment'>--</span>
-<a name="line-178"></a><span class='comment'>--    - returns : @[]@ or @[t]@ depending on @p t@</span>
-<a name="line-179"></a><span class='comment'>--</span>
-<a name="line-180"></a><span class='comment'>-- a special case of 'isOf' filter</span>
-<a name="line-181"></a>
-<a name="line-182"></a><a name="isOfNode"></a><span class='definition'>isOfNode</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-183"></a><span class='definition'>isOfNode</span> <span class='varid'>p</span>	<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>p</span> <span class='varop'>.</span> <span class='varid'>getNode</span><span class='layout'>)</span>
-<a name="line-184"></a>
-<a name="line-185"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-186"></a><span class='comment'>--</span>
-<a name="line-187"></a><span class='comment'>-- simple editing filters</span>
-<a name="line-188"></a>
-<a name="line-189"></a><span class='comment'>-- |</span>
-<a name="line-190"></a><span class='comment'>-- filter for substituting an arbitray tree by a constant</span>
-<a name="line-191"></a><span class='comment'>--</span>
-<a name="line-192"></a><span class='comment'>--    * 1.parameter t :  the result tree, the input tree is ignored</span>
-<a name="line-193"></a><span class='comment'>--</span>
-<a name="line-194"></a><span class='comment'>--    - returns : the filter</span>
-<a name="line-195"></a>
-<a name="line-196"></a><a name="mkNTree"></a><span class='definition'>mkNTree</span>		<span class='keyglyph'>::</span> <span class='conid'>NTree</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-197"></a><span class='definition'>mkNTree</span> <span class='varid'>t</span>	<span class='keyglyph'>=</span> <span class='varid'>const</span> <span class='keyglyph'>[</span><span class='varid'>t</span><span class='keyglyph'>]</span>
-<a name="line-198"></a>
-<a name="line-199"></a><span class='comment'>-- |</span>
-<a name="line-200"></a><span class='comment'>-- filter for replacing the node</span>
-<a name="line-201"></a><span class='comment'>--</span>
-<a name="line-202"></a><span class='comment'>--    * 1.parameter n :  the new node</span>
-<a name="line-203"></a><span class='comment'>--</span>
-<a name="line-204"></a><span class='comment'>--    - returns : the editing filter</span>
-<a name="line-205"></a>
-<a name="line-206"></a><a name="replaceNode"></a><span class='definition'>replaceNode</span>	<span class='keyglyph'>::</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-207"></a><span class='definition'>replaceNode</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='keyword'>_</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-208"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='varid'>cs</span><span class='keyglyph'>]</span>
-<a name="line-209"></a>
-<a name="line-210"></a><span class='comment'>-- |</span>
-<a name="line-211"></a><span class='comment'>-- filter for replacing the children</span>
-<a name="line-212"></a><span class='comment'>--</span>
-<a name="line-213"></a><span class='comment'>--    * 1.parameter cs :  cs the list of children</span>
-<a name="line-214"></a><span class='comment'>--</span>
-<a name="line-215"></a><span class='comment'>--    - returns : the filter</span>
-<a name="line-216"></a>
-<a name="line-217"></a><a name="replaceChildren"></a><span class='definition'>replaceChildren</span>	<span class='keyglyph'>::</span> <span class='conid'>NTrees</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-218"></a><span class='definition'>replaceChildren</span> <span class='varid'>cs</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-219"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='varid'>cs</span><span class='keyglyph'>]</span>
-<a name="line-220"></a>
-<a name="line-221"></a><a name="modifyNode"></a><span class='definition'>modifyNode</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Maybe</span> <span class='varid'>node</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-222"></a><span class='definition'>modifyNode</span> <span class='varid'>tf</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-223"></a>    <span class='keyglyph'>=</span> <span class='varid'>maybe</span> <span class='conid'>[]</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n'</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>n'</span> <span class='varid'>cs</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>tf</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-224"></a>
-<a name="line-225"></a><span class='comment'>-- |</span>
-<a name="line-226"></a><span class='comment'>-- filter for editing the node</span>
-<a name="line-227"></a><span class='comment'>--</span>
-<a name="line-228"></a><span class='comment'>--    * 1.parameter nf :  the XNode editing funtion</span>
-<a name="line-229"></a><span class='comment'>--</span>
-<a name="line-230"></a><span class='comment'>--    - returns : the filter</span>
-<a name="line-231"></a>
-<a name="line-232"></a><a name="modifyNode0"></a><span class='definition'>modifyNode0</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>node</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-233"></a><span class='definition'>modifyNode0</span> <span class='varid'>tf</span>	<span class='keyglyph'>=</span> <span class='varid'>modifyNode</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='varop'>.</span> <span class='varid'>tf</span><span class='layout'>)</span>
-<a name="line-234"></a>
-<a name="line-235"></a><span class='comment'>-- |</span>
-<a name="line-236"></a><span class='comment'>-- filter for editing the children</span>
-<a name="line-237"></a><span class='comment'>--</span>
-<a name="line-238"></a><span class='comment'>-- all children are processed with a filter mapping lists to lists,</span>
-<a name="line-239"></a><span class='comment'>-- this enables not only elementwise editing by lifting a normal</span>
-<a name="line-240"></a><span class='comment'>-- filter to a list filter with @(f $$)@ (see '($$)') but also manipulation</span>
-<a name="line-241"></a><span class='comment'>-- of the order of the elements, e.g. "reverse" is an appropriate childen</span>
-<a name="line-242"></a><span class='comment'>-- editing function.</span>
-<a name="line-243"></a><span class='comment'>--</span>
-<a name="line-244"></a><span class='comment'>--    * 1.parameter csf :  the children editing function</span>
-<a name="line-245"></a><span class='comment'>--</span>
-<a name="line-246"></a><span class='comment'>--    - returns : the filter</span>
-<a name="line-247"></a><span class='comment'>--</span>
-<a name="line-248"></a><span class='comment'>-- see also : 'processChildren'</span>
-<a name="line-249"></a>
-<a name="line-250"></a><a name="modifyChildren"></a><span class='definition'>modifyChildren</span>	<span class='keyglyph'>::</span> <span class='conid'>TSFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-251"></a><span class='definition'>modifyChildren</span> <span class='varid'>f</span> <span class='comment'>-- (NTree n cs)</span>
-<a name="line-252"></a>    <span class='comment'>-- = [NTree n (f cs)]</span>
-<a name="line-253"></a>    <span class='keyglyph'>=</span> <span class='varid'>substChildren</span> <span class='layout'>(</span><span class='varid'>f</span> <span class='varop'>.</span> <span class='varid'>getChildren</span><span class='layout'>)</span>
-<a name="line-254"></a>
-<a name="line-255"></a><span class='comment'>-- |</span>
-<a name="line-256"></a><span class='comment'>-- filter for substituting the children of a tree by</span>
-<a name="line-257"></a><span class='comment'>-- a new list of childen computed by applying a filter to the input tree.</span>
-<a name="line-258"></a><span class='comment'>-- 'modifyChildren' can be expressed by 'substChildren':</span>
-<a name="line-259"></a><span class='comment'>-- @modifyChildren f t@ is equal to @substChildren (f . getChildren)@</span>
-<a name="line-260"></a>
-<a name="line-261"></a><a name="substChildren"></a><span class='definition'>substChildren</span>	<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-262"></a><span class='definition'>substChildren</span> <span class='varid'>f</span> <span class='varid'>t</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='sel'>_cs</span><span class='layout'>)</span>
-<a name="line-263"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='varid'>f</span> <span class='varid'>t</span><span class='layout'>)</span><span class='keyglyph'>]</span>
-<a name="line-264"></a>
-<a name="line-265"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-266"></a><span class='comment'>--</span>
-<a name="line-267"></a><span class='comment'>-- combinators (copied from HaXml)</span>
-<a name="line-268"></a><span class='comment'>--</span>
-<a name="line-269"></a>
-<a name="line-270"></a><span class='comment'>-- |</span>
-<a name="line-271"></a><span class='comment'>-- sequential composition of filters, usually written in infix notation f2 `o` f1.</span>
-<a name="line-272"></a><span class='comment'>--</span>
-<a name="line-273"></a><span class='comment'>-- for predicate filter the logical AND</span>
-<a name="line-274"></a><span class='comment'>--</span>
-<a name="line-275"></a><span class='comment'>--    * 1.parameter f2 :  the 2. filter</span>
-<a name="line-276"></a><span class='comment'>--</span>
-<a name="line-277"></a><span class='comment'>--    - 2.parameter f1 :  the 1. filter</span>
-<a name="line-278"></a><span class='comment'>--</span>
-<a name="line-279"></a><span class='comment'>--    - returns : the fiter applying first f1 to n and then f2 to the result (like function composition)</span>
-<a name="line-280"></a>
-<a name="line-281"></a><a name="o"></a><span class='definition'>o</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>c</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>c</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-282"></a><a name="o"></a><span class='definition'>f</span> <span class='varop'>`o`</span> <span class='varid'>g</span>		<span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>f</span> <span class='varop'>.</span> <span class='varid'>g</span>
-<a name="line-283"></a>
-<a name="line-284"></a><span class='comment'>-- |</span>
-<a name="line-285"></a><span class='comment'>-- pronounced \"followed by\", defined as: @f .&gt; g = g \`o\` f@.</span>
-<a name="line-286"></a><span class='comment'>--</span>
-<a name="line-287"></a><span class='comment'>-- allows filter composition in a more readable way from left to right</span>
-<a name="line-288"></a><span class='comment'>--</span>
-<a name="line-289"></a><span class='comment'>--    * 1.parameter f1 :  the 1. filter</span>
-<a name="line-290"></a><span class='comment'>--</span>
-<a name="line-291"></a><span class='comment'>--    - 2.parameter f2 :  the 2. filter</span>
-<a name="line-292"></a><span class='comment'>--</span>
-<a name="line-293"></a><span class='comment'>--    - returns : the composition of f1 and f2</span>
-<a name="line-294"></a><span class='comment'>--</span>
-<a name="line-295"></a><span class='comment'>-- see also : 'o', '(..&gt;)'</span>
-<a name="line-296"></a>
-<a name="line-297"></a><a name=".>"></a><span class='layout'>(</span><span class='varop'>.&gt;</span><span class='layout'>)</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>b</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-298"></a><a name="f"></a><span class='definition'>f</span> <span class='varop'>.&gt;</span> <span class='varid'>g</span>		<span class='keyglyph'>=</span> <span class='varid'>g</span> <span class='varop'>`o`</span> <span class='varid'>f</span>
-<a name="line-299"></a>
-<a name="line-300"></a><span class='comment'>-- |</span>
-<a name="line-301"></a><span class='comment'>-- apply a list of filters sequentially with '(.&gt;)', for predicate filters the generalized AND</span>
-<a name="line-302"></a><span class='comment'>--</span>
-<a name="line-303"></a><span class='comment'>-- see also : '(.&gt;)'</span>
-<a name="line-304"></a>
-<a name="line-305"></a><a name="seqF"></a><span class='definition'>seqF</span>		<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-306"></a><span class='definition'>seqF</span>		<span class='keyglyph'>=</span> <span class='varid'>foldl</span> <span class='layout'>(</span><span class='varop'>.&gt;</span><span class='layout'>)</span> <span class='varid'>this</span>
-<a name="line-307"></a>
-<a name="line-308"></a><span class='comment'>-- |</span>
-<a name="line-309"></a><span class='comment'>-- binary parallel composition, the logical OR for predicate filter</span>
-<a name="line-310"></a><span class='comment'>--</span>
-<a name="line-311"></a><span class='comment'>--    * 1.parameter f1 :  the 1. filter</span>
-<a name="line-312"></a><span class='comment'>--</span>
-<a name="line-313"></a><span class='comment'>--    - 2.parameter f2 :  the 2. filter</span>
-<a name="line-314"></a><span class='comment'>--</span>
-<a name="line-315"></a><span class='comment'>--    - returns : the filter for applying f1 and f2 both to an argument tree and concatenating the results</span>
-<a name="line-316"></a>
-<a name="line-317"></a><a name="+++"></a><span class='layout'>(</span><span class='varop'>+++</span><span class='layout'>)</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-318"></a><span class='definition'>f</span> <span class='varop'>+++</span> <span class='varid'>g</span>		<span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>f</span> <span class='varid'>t</span> <span class='varop'>++</span> <span class='varid'>g</span> <span class='varid'>t</span>
-<a name="line-319"></a>
-<a name="line-320"></a><span class='comment'>-- |</span>
-<a name="line-321"></a><span class='comment'>-- special sequential composition.</span>
-<a name="line-322"></a><span class='comment'>--</span>
-<a name="line-323"></a><span class='comment'>-- filter f is applied to an argument t.</span>
-<a name="line-324"></a><span class='comment'>-- then filter g is applied to all elements of the result list,</span>
-<a name="line-325"></a><span class='comment'>-- but the argument t is also passed as extra parameter to g.</span>
-<a name="line-326"></a><span class='comment'>--</span>
-<a name="line-327"></a><span class='comment'>-- This allows for step by step transformations of a tree</span>
-<a name="line-328"></a><span class='comment'>-- with access to the original tree in every</span>
-<a name="line-329"></a><span class='comment'>-- transformation step.</span>
-<a name="line-330"></a><span class='comment'>--</span>
-<a name="line-331"></a><span class='comment'>-- see also : '(.&gt;)', 'o'</span>
-<a name="line-332"></a>
-<a name="line-333"></a><a name="..>"></a><span class='layout'>(</span><span class='varop'>..&gt;</span><span class='layout'>)</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>b</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>d</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>d</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-334"></a><span class='definition'>f</span> <span class='varop'>..&gt;</span> <span class='varid'>g</span>		<span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>g</span> <span class='varid'>t</span> <span class='varop'>`o`</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-335"></a>
-<a name="line-336"></a><span class='comment'>-- |</span>
-<a name="line-337"></a><span class='comment'>-- apply a list of filters, a \"union\" for lists, for predicate filters the generalized OR</span>
-<a name="line-338"></a><span class='comment'>--</span>
-<a name="line-339"></a><span class='comment'>--    * 1.parameter fs :  the list of filters</span>
-<a name="line-340"></a><span class='comment'>--</span>
-<a name="line-341"></a><span class='comment'>--    - returns : the composing filter</span>
-<a name="line-342"></a>
-<a name="line-343"></a><a name="cat"></a><span class='definition'>cat</span>		<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-344"></a><span class='definition'>cat</span> <span class='varid'>fs</span>  <span class='varid'>t</span>
-<a name="line-345"></a>    <span class='keyglyph'>=</span> <span class='varid'>concat</span> <span class='keyglyph'>[</span> <span class='varid'>f</span> <span class='varid'>t</span> <span class='keyglyph'>|</span> <span class='varid'>f</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>fs</span> <span class='keyglyph'>]</span>
-<a name="line-346"></a>
-<a name="line-347"></a><span class='comment'>-- |</span>
-<a name="line-348"></a><span class='comment'>-- Filter for editing the children of a tree element wise</span>
-<a name="line-349"></a><span class='comment'>--</span>
-<a name="line-350"></a><span class='comment'>--    * 1.parameter cf :  the filter applied to the children</span>
-<a name="line-351"></a><span class='comment'>--</span>
-<a name="line-352"></a><span class='comment'>--    - returns : the editing filter</span>
-<a name="line-353"></a><span class='comment'>--</span>
-<a name="line-354"></a><span class='comment'>-- see also : 'modifyChildren'</span>
-<a name="line-355"></a>
-<a name="line-356"></a><a name="processChildren"></a><span class='definition'>processChildren</span>	<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-357"></a><span class='definition'>processChildren</span> <span class='varid'>ft</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-358"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='varid'>ft</span> <span class='varop'>$$</span> <span class='varid'>cs</span><span class='layout'>)</span><span class='keyglyph'>]</span>
-<a name="line-359"></a>
-<a name="line-360"></a><span class='comment'>-- |</span>
-<a name="line-361"></a><span class='comment'>-- infix operator for applying a filter to a list of trees</span>
-<a name="line-362"></a><span class='comment'>--</span>
-<a name="line-363"></a><span class='comment'>--    * 1.parameter f :  the filter</span>
-<a name="line-364"></a><span class='comment'>--</span>
-<a name="line-365"></a><span class='comment'>--    - 2.parameter ts :  the list of trees</span>
-<a name="line-366"></a><span class='comment'>--</span>
-<a name="line-367"></a><span class='comment'>--    - returns : the concatenated list of results</span>
-<a name="line-368"></a>
-<a name="line-369"></a><a name="$$"></a><span class='layout'>(</span><span class='varop'>$$</span><span class='layout'>)</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span>
-<a name="line-370"></a><span class='definition'>f</span> <span class='varop'>$$</span> <span class='varid'>l</span>
-<a name="line-371"></a>    <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>f</span> <span class='varid'>l</span>
-<a name="line-372"></a>
-<a name="line-373"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-374"></a><span class='comment'>--</span>
-<a name="line-375"></a><span class='comment'>-- choices</span>
-<a name="line-376"></a><span class='comment'>--</span>
-<a name="line-377"></a>
-<a name="line-378"></a><span class='comment'>-- |</span>
-<a name="line-379"></a><span class='comment'>-- directional choice, usually written in infix notation as f `orElse` g</span>
-<a name="line-380"></a><span class='comment'>--</span>
-<a name="line-381"></a><span class='comment'>--    * 1.parameter f :  the 1. filter</span>
-<a name="line-382"></a><span class='comment'>--</span>
-<a name="line-383"></a><span class='comment'>--    - 2.parameter g :  the 2. filter</span>
-<a name="line-384"></a><span class='comment'>--</span>
-<a name="line-385"></a><span class='comment'>--    - 3.parameter t :  the tree</span>
-<a name="line-386"></a><span class='comment'>--</span>
-<a name="line-387"></a><span class='comment'>--    - returns : the filter, that applies f to t, if the result is not the empty list, the result is found, else g t is the result</span>
-<a name="line-388"></a>
-<a name="line-389"></a><a name="orElse"></a><span class='definition'>orElse</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-390"></a><a name="orElse"></a><span class='definition'>f</span> <span class='varop'>`orElse`</span> <span class='varid'>g</span>
-<a name="line-391"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span><span class='keyglyph'>-&gt;</span> <span class='keyword'>let</span>
-<a name="line-392"></a>	    <span class='varid'>res</span> <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-393"></a>	    <span class='keyword'>in</span>
-<a name="line-394"></a>	    <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>res</span>
-<a name="line-395"></a>	    <span class='keyword'>then</span> <span class='varid'>g</span> <span class='varid'>t</span>
-<a name="line-396"></a>	    <span class='keyword'>else</span> <span class='varid'>res</span>
-<a name="line-397"></a>
-<a name="line-398"></a><span class='comment'>-- |</span>
-<a name="line-399"></a><span class='comment'>-- if then else lifted to filters</span>
-<a name="line-400"></a><span class='comment'>--</span>
-<a name="line-401"></a><span class='comment'>--    * 1.parameter p :  the predicate filter</span>
-<a name="line-402"></a><span class='comment'>--</span>
-<a name="line-403"></a><span class='comment'>--    - 2.parameter t :  the \"then\" filter</span>
-<a name="line-404"></a><span class='comment'>--</span>
-<a name="line-405"></a><span class='comment'>--    - 3.parameter e :  the \"else\" filter</span>
-<a name="line-406"></a><span class='comment'>--</span>
-<a name="line-407"></a><span class='comment'>--    - returns : the resulting conditional filter</span>
-<a name="line-408"></a>
-<a name="line-409"></a><a name="iff"></a><span class='definition'>iff</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-410"></a><span class='definition'>iff</span> <span class='varid'>p</span> <span class='varid'>f</span> <span class='varid'>g</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>c</span> <span class='keyglyph'>-&gt;</span> <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='varid'>p</span><span class='layout'>)</span> <span class='varid'>c</span> <span class='keyword'>then</span> <span class='varid'>f</span> <span class='varid'>c</span> <span class='keyword'>else</span> <span class='varid'>g</span> <span class='varid'>c</span>
-<a name="line-411"></a>
-<a name="line-412"></a><span class='comment'>-- |</span>
-<a name="line-413"></a><span class='comment'>-- when the predicate p holds, f is applied, else the identity filter this</span>
-<a name="line-414"></a><span class='comment'>--</span>
-<a name="line-415"></a><span class='comment'>--    * 1.parameter f :  the conditinally applied filter</span>
-<a name="line-416"></a><span class='comment'>--</span>
-<a name="line-417"></a><span class='comment'>--    - 2.parameter p :  the predicate</span>
-<a name="line-418"></a><span class='comment'>--</span>
-<a name="line-419"></a><span class='comment'>--    - returns : the conditional filter</span>
-<a name="line-420"></a><span class='comment'>--</span>
-<a name="line-421"></a><span class='comment'>-- see also : 'iff', 'whenNot', 'guards', 'whenM'</span>
-<a name="line-422"></a>
-<a name="line-423"></a><a name="when"></a><span class='definition'>when</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-424"></a><a name="when"></a><span class='definition'>f</span> <span class='varop'>`when`</span> <span class='varid'>g</span>	<span class='keyglyph'>=</span> <span class='varid'>iff</span> <span class='varid'>g</span> <span class='varid'>f</span> <span class='varid'>this</span>
-<a name="line-425"></a>
-<a name="line-426"></a><span class='comment'>-- |</span>
-<a name="line-427"></a><span class='comment'>-- the complementary filter of when</span>
-<a name="line-428"></a><span class='comment'>--</span>
-<a name="line-429"></a><span class='comment'>-- shortcut for f `when` neg g</span>
-<a name="line-430"></a><span class='comment'>--</span>
-<a name="line-431"></a><span class='comment'>-- see also : 'iff', 'when', 'whenNotM', 'neg'</span>
-<a name="line-432"></a>
-<a name="line-433"></a><a name="whenNot"></a><span class='definition'>whenNot</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-434"></a><a name="whenNot"></a><span class='definition'>f</span> <span class='varop'>`whenNot`</span> <span class='varid'>g</span>	<span class='keyglyph'>=</span> <span class='varid'>iff</span> <span class='varid'>g</span> <span class='varid'>this</span> <span class='varid'>f</span>
-<a name="line-435"></a>
-<a name="line-436"></a><span class='comment'>-- |</span>
-<a name="line-437"></a><span class='comment'>-- when the predicate p holds, f is applied, else the null filter none</span>
-<a name="line-438"></a><span class='comment'>--</span>
-<a name="line-439"></a><span class='comment'>--    * 1.parameter p :  the predicate filter</span>
-<a name="line-440"></a><span class='comment'>--</span>
-<a name="line-441"></a><span class='comment'>--    - 2.parameter f :  the conditionally applied filter</span>
-<a name="line-442"></a><span class='comment'>--</span>
-<a name="line-443"></a><span class='comment'>--    - returns : the conditional filter</span>
-<a name="line-444"></a><span class='comment'>--</span>
-<a name="line-445"></a><span class='comment'>-- see also : 'iff', 'when', 'guardsM'</span>
-<a name="line-446"></a>
-<a name="line-447"></a><a name="guards"></a><span class='definition'>guards</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-448"></a><a name="guards"></a><span class='definition'>g</span> <span class='varop'>`guards`</span> <span class='varid'>f</span>	<span class='keyglyph'>=</span> <span class='varid'>iff</span> <span class='varid'>g</span> <span class='varid'>f</span> <span class='varid'>none</span>
-<a name="line-449"></a>
-<a name="line-450"></a>
-<a name="line-451"></a><span class='comment'>-- |</span>
-<a name="line-452"></a><span class='comment'>-- negation lifted to filters</span>
-<a name="line-453"></a><span class='comment'>--</span>
-<a name="line-454"></a><span class='comment'>--    * 1.parameter f :  the predicate filter</span>
-<a name="line-455"></a><span class='comment'>--</span>
-<a name="line-456"></a><span class='comment'>--    - returns : the filter, that succeeds, when f failed</span>
-<a name="line-457"></a>
-<a name="line-458"></a><a name="neg"></a><span class='definition'>neg</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span>
-<a name="line-459"></a><span class='definition'>neg</span> <span class='varid'>f</span>		<span class='keyglyph'>=</span> <span class='varid'>iff</span> <span class='varid'>f</span> <span class='varid'>none</span> <span class='varid'>this</span>
-<a name="line-460"></a>
-<a name="line-461"></a><span class='comment'>-- |</span>
-<a name="line-462"></a><span class='comment'>-- auxiliary datatype for cases within choice filter</span>
-<a name="line-463"></a>
-<a name="line-464"></a><a name="IfThen"></a><span class='keyword'>data</span> <span class='conid'>IfThen</span> <span class='varid'>a</span> <span class='varid'>b</span> <span class='keyglyph'>=</span> <span class='varid'>a</span> <span class='conop'>:-&gt;</span> <span class='varid'>b</span>
-<a name="line-465"></a>
-<a name="line-466"></a><span class='comment'>-- |</span>
-<a name="line-467"></a><span class='comment'>-- multiway branch. The list of cases @f :-&gt; g@ is processed sequentially,</span>
-<a name="line-468"></a><span class='comment'>-- in the first case for that f holds g is applied, if no case matches, 'none' is</span>
-<a name="line-469"></a><span class='comment'>-- applied.</span>
-<a name="line-470"></a><span class='comment'>-- This filter can be used like a case expression: @choice [ p1 :-&gt; f1, p2 :-&gt; f2, ... , this :-&gt; defaultFilter]@</span>
-<a name="line-471"></a><span class='comment'>--</span>
-<a name="line-472"></a><span class='comment'>-- see also : 'iff', 'choiceM'</span>
-<a name="line-473"></a>
-<a name="line-474"></a><a name="choice"></a><span class='definition'>choice</span>	<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>IfThen</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-475"></a><span class='definition'>choice</span> <span class='conid'>[]</span>
-<a name="line-476"></a>    <span class='keyglyph'>=</span> <span class='varid'>none</span>
-<a name="line-477"></a>
-<a name="line-478"></a><span class='definition'>choice</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>g</span> <span class='conop'>:-&gt;</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-479"></a>    <span class='keyglyph'>=</span> <span class='varid'>iff</span> <span class='varid'>g</span> <span class='varid'>f</span> <span class='layout'>(</span><span class='varid'>choice</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-480"></a>
-<a name="line-481"></a><span class='comment'>-- |</span>
-<a name="line-482"></a><span class='comment'>-- pruning: keep only those results from f for which g holds, usually written in infix notation as f `containing` g</span>
-<a name="line-483"></a><span class='comment'>--</span>
-<a name="line-484"></a><span class='comment'>--    * 1.parameter f :  the processing filter</span>
-<a name="line-485"></a><span class='comment'>--</span>
-<a name="line-486"></a><span class='comment'>--    - 2.parameter g :  the predicate filter</span>
-<a name="line-487"></a><span class='comment'>--</span>
-<a name="line-488"></a><span class='comment'>--    - 3.parameter t :  the tree</span>
-<a name="line-489"></a><span class='comment'>--</span>
-<a name="line-490"></a><span class='comment'>--    - returns : all trees r from f t, for which g r holds (is not the empty list)</span>
-<a name="line-491"></a><span class='comment'>--</span>
-<a name="line-492"></a><span class='comment'>-- see also : 'notContaining'</span>
-<a name="line-493"></a>
-<a name="line-494"></a><a name="containing"></a><span class='definition'>containing</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>b</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span>
-<a name="line-495"></a><a name="containing"></a><span class='definition'>f</span> <span class='varop'>`containing`</span> <span class='varid'>g</span>
-<a name="line-496"></a>    <span class='keyglyph'>=</span> <span class='varid'>filter</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='varid'>g</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>f</span>
-<a name="line-497"></a>
-<a name="line-498"></a><span class='comment'>-- |</span>
-<a name="line-499"></a><span class='comment'>-- pruning: keep only those results from f for which g does not hold</span>
-<a name="line-500"></a><span class='comment'>--</span>
-<a name="line-501"></a><span class='comment'>-- see also : 'containing'</span>
-<a name="line-502"></a>
-<a name="line-503"></a><a name="notContaining"></a><span class='definition'>notContaining</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>b</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span>
-<a name="line-504"></a><a name="notContaining"></a><span class='definition'>f</span> <span class='varop'>`notContaining`</span> <span class='varid'>g</span>
-<a name="line-505"></a>    <span class='keyglyph'>=</span> <span class='varid'>filter</span> <span class='layout'>(</span><span class='varid'>null</span> <span class='varop'>.</span> <span class='varid'>g</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>f</span>
-<a name="line-506"></a>
-<a name="line-507"></a><span class='comment'>-- |</span>
-<a name="line-508"></a><span class='comment'>-- pruning: monadic version of containing, usually written in infix notation as f `containingM` g</span>
-<a name="line-509"></a><span class='comment'>--</span>
-<a name="line-510"></a><span class='comment'>--    * 1.parameter f :  the monadic processing filter</span>
-<a name="line-511"></a><span class='comment'>--</span>
-<a name="line-512"></a><span class='comment'>--    - 2.parameter g :  the predicate filter</span>
-<a name="line-513"></a><span class='comment'>--</span>
-<a name="line-514"></a><span class='comment'>--    - 3.parameter t :  the tree</span>
-<a name="line-515"></a><span class='comment'>--</span>
-<a name="line-516"></a><span class='comment'>--    - returns : all trees r from f t, for which g r holds (is not the empty list)</span>
-<a name="line-517"></a><span class='comment'>--</span>
-<a name="line-518"></a><span class='comment'>-- see also : 'notContaining'</span>
-<a name="line-519"></a>
-<a name="line-520"></a><a name="containingM"></a><span class='definition'>containingM</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>b</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span>
-<a name="line-521"></a><a name="containingM"></a><span class='definition'>f</span> <span class='varop'>`containingM`</span> <span class='varid'>g</span>
-<a name="line-522"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyword'>do</span>
-<a name="line-523"></a>             <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-524"></a>             <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>filter</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='varid'>g</span><span class='layout'>)</span> <span class='varid'>res</span>
-<a name="line-525"></a>
-<a name="line-526"></a><span class='comment'>-- |</span>
-<a name="line-527"></a><span class='comment'>-- pronounced \"slash\", meaning g inside f</span>
-<a name="line-528"></a>
-<a name="line-529"></a><a name="/>"></a><span class='layout'>(</span><span class='varop'>/&gt;</span><span class='layout'>)</span>		<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-530"></a><span class='definition'>f</span> <span class='varop'>/&gt;</span> <span class='varid'>g</span>
-<a name="line-531"></a>    <span class='keyglyph'>=</span> <span class='varid'>g</span> <span class='varop'>`o`</span> <span class='varid'>getChildren</span> <span class='varop'>`o`</span> <span class='varid'>f</span>
-<a name="line-532"></a>
-<a name="line-533"></a><span class='comment'>-- |</span>
-<a name="line-534"></a><span class='comment'>-- pronounced \"outside\" meaning f containing g</span>
-<a name="line-535"></a>
-<a name="line-536"></a><a name="</"></a><span class='layout'>(</span><span class='varop'>&lt;/</span><span class='layout'>)</span>		<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-537"></a><span class='definition'>f</span> <span class='varop'>&lt;/</span> <span class='varid'>g</span>
-<a name="line-538"></a>    <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varop'>`containing`</span> <span class='layout'>(</span><span class='varid'>g</span> <span class='varop'>`o`</span> <span class='varid'>getChildren</span><span class='layout'>)</span>
-<a name="line-539"></a>
-<a name="line-540"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-541"></a><span class='comment'>--</span>
-<a name="line-542"></a><span class='comment'>-- recursive search filters</span>
-<a name="line-543"></a>
-<a name="line-544"></a><span class='comment'>-- |</span>
-<a name="line-545"></a><span class='comment'>-- top down search.</span>
-<a name="line-546"></a><span class='comment'>--</span>
-<a name="line-547"></a><span class='comment'>-- search terminates, when filter f succeeds</span>
-<a name="line-548"></a><span class='comment'>-- can e.g. be used for finding all outermost tag node of a specific kind</span>
-<a name="line-549"></a>
-<a name="line-550"></a><a name="deep"></a><span class='definition'>deep</span>		<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-551"></a><span class='definition'>deep</span> <span class='varid'>f</span>
-<a name="line-552"></a>    <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varop'>`orElse`</span> <span class='layout'>(</span><span class='varid'>deep</span> <span class='varid'>f</span> <span class='varop'>`o`</span> <span class='varid'>getChildren</span><span class='layout'>)</span>
-<a name="line-553"></a>
-<a name="line-554"></a><span class='comment'>-- |</span>
-<a name="line-555"></a><span class='comment'>-- bottom up search.</span>
-<a name="line-556"></a><span class='comment'>--</span>
-<a name="line-557"></a><span class='comment'>-- first the children are processed,</span>
-<a name="line-558"></a><span class='comment'>-- if this does not succeed, the node itself is processed</span>
-<a name="line-559"></a><span class='comment'>-- can e.g. be used for finding all innermost tag nodes of a specific kind</span>
-<a name="line-560"></a>
-<a name="line-561"></a><a name="deepest"></a><span class='definition'>deepest</span>		<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-562"></a><span class='definition'>deepest</span> <span class='varid'>f</span>
-<a name="line-563"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>deepest</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='varop'>`orElse`</span> <span class='varid'>f</span>
-<a name="line-564"></a>
-<a name="line-565"></a><span class='comment'>-- |</span>
-<a name="line-566"></a><span class='comment'>-- process all nodes of the whole tree.</span>
-<a name="line-567"></a><span class='comment'>--</span>
-<a name="line-568"></a><span class='comment'>-- can e.g. be used for finding all nodes of a specific kind</span>
-<a name="line-569"></a>
-<a name="line-570"></a><a name="multi"></a><span class='definition'>multi</span>		<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-571"></a><span class='definition'>multi</span> <span class='varid'>f</span>
-<a name="line-572"></a>    <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varop'>+++</span> <span class='layout'>(</span><span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>multi</span> <span class='varid'>f</span><span class='layout'>)</span>
-<a name="line-573"></a>
-<a name="line-574"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-575"></a><span class='comment'>--</span>
-<a name="line-576"></a><span class='comment'>-- recursive transformation filters</span>
-<a name="line-577"></a><span class='comment'>--</span>
-<a name="line-578"></a>
-<a name="line-579"></a><span class='comment'>-- |</span>
-<a name="line-580"></a><span class='comment'>-- bottom up transformation</span>
-<a name="line-581"></a><span class='comment'>--</span>
-<a name="line-582"></a><span class='comment'>--    * 1.parameter f :  the /simple/ transforming filter</span>
-<a name="line-583"></a><span class='comment'>--</span>
-<a name="line-584"></a><span class='comment'>--    - returns : the filter that applies f to all subtrees and the tree itself in a deepth first left to right manner</span>
-<a name="line-585"></a><span class='comment'>--</span>
-<a name="line-586"></a><span class='comment'>-- see also : 'processTopDown', 'processBottomUpIfNot'</span>
-<a name="line-587"></a>
-<a name="line-588"></a><a name="processBottomUp"></a><span class='definition'>processBottomUp</span>	<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-589"></a><span class='definition'>processBottomUp</span> <span class='varid'>f</span>
-<a name="line-590"></a>    <span class='keyglyph'>=</span> <span class='varid'>processChildren</span> <span class='layout'>(</span><span class='varid'>processBottomUp</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='varop'>.&gt;</span> <span class='varid'>f</span>
-<a name="line-591"></a>
-<a name="line-592"></a><span class='comment'>-- |</span>
-<a name="line-593"></a><span class='comment'>-- top down transformation</span>
-<a name="line-594"></a><span class='comment'>--</span>
-<a name="line-595"></a><span class='comment'>--    * 1.parameter f :  the /simple/ transforming filter</span>
-<a name="line-596"></a><span class='comment'>--</span>
-<a name="line-597"></a><span class='comment'>--    - returns : the filter that applies f first to the tree and then recursively to all subtrees of the result</span>
-<a name="line-598"></a><span class='comment'>--</span>
-<a name="line-599"></a><span class='comment'>-- see also : 'processBottomUp'</span>
-<a name="line-600"></a>
-<a name="line-601"></a><a name="processTopDown"></a><span class='definition'>processTopDown</span>	<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-602"></a><span class='definition'>processTopDown</span> <span class='varid'>f</span>
-<a name="line-603"></a>    <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varop'>.&gt;</span> <span class='varid'>processChildren</span> <span class='layout'>(</span><span class='varid'>processTopDown</span> <span class='varid'>f</span><span class='layout'>)</span>
-<a name="line-604"></a>
-<a name="line-605"></a><span class='comment'>-- |</span>
-<a name="line-606"></a><span class='comment'>-- guarded bottom up transformation, stops at subtrees for which a predicate p holds</span>
-<a name="line-607"></a><span class='comment'>--</span>
-<a name="line-608"></a><span class='comment'>--    * 1.parameter f :  the transforming filter</span>
-<a name="line-609"></a><span class='comment'>--</span>
-<a name="line-610"></a><span class='comment'>--    - 2.parameter p :  the predicate filter for the guard</span>
-<a name="line-611"></a><span class='comment'>--</span>
-<a name="line-612"></a><span class='comment'>--    - returns : the filter for processing all (sub-)trees</span>
-<a name="line-613"></a><span class='comment'>--</span>
-<a name="line-614"></a><span class='comment'>-- see also : 'processBottomUp'</span>
-<a name="line-615"></a>
-<a name="line-616"></a><a name="processBottomUpIfNot"></a><span class='definition'>processBottomUpIfNot</span>	<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-617"></a><span class='definition'>processBottomUpIfNot</span> <span class='varid'>f</span> <span class='varid'>p</span>
-<a name="line-618"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>processChildren</span> <span class='layout'>(</span><span class='varid'>processBottomUpIfNot</span> <span class='varid'>f</span> <span class='varid'>p</span><span class='layout'>)</span> <span class='varop'>.&gt;</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='varop'>`whenNot`</span> <span class='varid'>p</span>
-<a name="line-619"></a>
-<a name="line-620"></a><span class='comment'>-- |</span>
-<a name="line-621"></a><span class='comment'>-- top down transformation until a node to be transformed is found</span>
-<a name="line-622"></a><span class='comment'>--</span>
-<a name="line-623"></a><span class='comment'>--    * 1.parameter f :  the /simple/ transforming filter</span>
-<a name="line-624"></a><span class='comment'>--</span>
-<a name="line-625"></a><span class='comment'>--    - returns : the filter that applies f first to the tree and, if the filter does not succeed,</span>
-<a name="line-626"></a><span class='comment'>--		  recursively to all children of the input tree.</span>
-<a name="line-627"></a><span class='comment'>--</span>
-<a name="line-628"></a><span class='comment'>-- Example:</span>
-<a name="line-629"></a><span class='comment'>--</span>
-<a name="line-630"></a><span class='comment'>-- @processTopDownUntil none@</span>
-<a name="line-631"></a><span class='comment'>--</span>
-<a name="line-632"></a><span class='comment'>-- is the identity filter (maybe a bit more inefficient).</span>
-<a name="line-633"></a><span class='comment'>--</span>
-<a name="line-634"></a><span class='comment'>-- Example:</span>
-<a name="line-635"></a><span class='comment'>--</span>
-<a name="line-636"></a><span class='comment'>-- @processTopDownUntil (add1Attr \"border\" \"2\" \`containing\` isTag \"table\")@</span>
-<a name="line-637"></a><span class='comment'>--</span>
-<a name="line-638"></a><span class='comment'>-- is a filter for adding an attribute border=\"2\" in all top level table tags.</span>
-<a name="line-639"></a><span class='comment'>--		  The content of table tags will remain unchanged.</span>
-<a name="line-640"></a><span class='comment'>--</span>
-<a name="line-641"></a><span class='comment'>-- see also : 'processTopDown', 'processBottomUp'</span>
-<a name="line-642"></a>
-<a name="line-643"></a><a name="processTopDownUntil"></a><span class='definition'>processTopDownUntil</span>	<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-644"></a><span class='definition'>processTopDownUntil</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-645"></a>    <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>res</span>
-<a name="line-646"></a>	<span class='keyglyph'>=</span> <span class='varid'>processChildren</span> <span class='layout'>(</span><span class='varid'>processTopDownUntil</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-647"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-648"></a>	<span class='keyglyph'>=</span> <span class='varid'>res</span>
-<a name="line-649"></a>    <span class='keyword'>where</span>
-<a name="line-650"></a>    <span class='varid'>res</span> <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-651"></a>
-<a name="line-652"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-653"></a><span class='comment'>--</span>
-<a name="line-654"></a>
-<a name="line-655"></a><span class='comment'>-- |</span>
-<a name="line-656"></a><span class='comment'>-- insertion of trees into the list of children at a given position</span>
-<a name="line-657"></a><span class='comment'>--</span>
-<a name="line-658"></a><span class='comment'>-- useful for inserting something into the list of children at a given position</span>
-<a name="line-659"></a><span class='comment'>-- the list of children is split with the @splitAt@ function</span>
-<a name="line-660"></a><span class='comment'>-- the nodes are inserted between these two sublists.</span>
-<a name="line-661"></a><span class='comment'>--</span>
-<a name="line-662"></a><span class='comment'>-- examples: @insertChildrenAt 0 ins t@ inserts all elements computed with @ins t@ in front</span>
-<a name="line-663"></a><span class='comment'>-- of the childen of @t@, @insertChildrenAt 1 ins t@ behind the first child</span>
-<a name="line-664"></a><span class='comment'>--</span>
-<a name="line-665"></a><span class='comment'>-- see also: 'insertChildrenAfter'</span>
-<a name="line-666"></a>
-<a name="line-667"></a>
-<a name="line-668"></a><a name="insertChildrenAt"></a><span class='definition'>insertChildrenAt</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-669"></a><span class='definition'>insertChildrenAt</span> <span class='varid'>i</span> <span class='varid'>ins</span> <span class='varid'>t</span>
-<a name="line-670"></a>    <span class='keyglyph'>=</span> <span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>cl1</span> <span class='varop'>++</span> <span class='varid'>ins</span> <span class='varid'>t</span> <span class='varop'>++</span> <span class='varid'>cl2</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-671"></a>    <span class='keyword'>where</span>
-<a name="line-672"></a>    <span class='layout'>(</span><span class='varid'>cl1</span><span class='layout'>,</span> <span class='varid'>cl2</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>splitAt</span> <span class='varid'>i</span> <span class='varop'>$</span> <span class='varid'>getChildren</span> <span class='varid'>t</span>
-<a name="line-673"></a>
-<a name="line-674"></a><span class='comment'>-- |</span>
-<a name="line-675"></a><span class='comment'>-- insertion of trees into the list of children after specific elements</span>
-<a name="line-676"></a><span class='comment'>--</span>
-<a name="line-677"></a><span class='comment'>-- useful for inserting something into the list of children of a node</span>
-<a name="line-678"></a><span class='comment'>-- the list of children is split with the @span@ function and the filter p as predicate</span>
-<a name="line-679"></a><span class='comment'>-- the nodes are inserted between these two sublists</span>
-<a name="line-680"></a><span class='comment'>--</span>
-<a name="line-681"></a><span class='comment'>-- examples: @insertChildrenAfter none ins t@ inserts all elements computed with @ins t@ in front</span>
-<a name="line-682"></a><span class='comment'>-- of the childen of @t@, @insertChildrenAfter this ins t@ appends the elements to the children</span>
-<a name="line-683"></a><span class='comment'>--</span>
-<a name="line-684"></a><span class='comment'>-- see also: 'insertChildrenAt'</span>
-<a name="line-685"></a>
-<a name="line-686"></a><a name="insertChildrenAfter"></a><span class='definition'>insertChildrenAfter</span>	<span class='keyglyph'>::</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TFilter</span> <span class='varid'>node</span>
-<a name="line-687"></a><span class='definition'>insertChildrenAfter</span> <span class='varid'>p</span> <span class='varid'>ins</span> <span class='varid'>t</span>
-<a name="line-688"></a>    <span class='keyglyph'>=</span> <span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>cl1</span> <span class='varop'>++</span> <span class='varid'>ins</span> <span class='varid'>t</span> <span class='varop'>++</span> <span class='varid'>cl2</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-689"></a>    <span class='keyword'>where</span>
-<a name="line-690"></a>    <span class='layout'>(</span><span class='varid'>cl1</span><span class='layout'>,</span> <span class='varid'>cl2</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>span</span> <span class='layout'>(</span><span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>null</span> <span class='varop'>.</span> <span class='varid'>p</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>getChildren</span> <span class='varid'>t</span>
-<a name="line-691"></a>
-<a name="line-692"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-693"></a><span class='comment'>--</span>
-<a name="line-694"></a><span class='comment'>-- monadic filter</span>
-<a name="line-695"></a>
-<a name="line-696"></a><span class='comment'>-- |</span>
-<a name="line-697"></a><span class='comment'>-- the monadic version of the identity filter this.</span>
-<a name="line-698"></a><span class='comment'>--</span>
-<a name="line-699"></a><span class='comment'>-- see also : 'this'</span>
-<a name="line-700"></a>
-<a name="line-701"></a><a name="thisM"></a><span class='definition'>thisM</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-702"></a><span class='definition'>thisM</span>		<span class='keyglyph'>=</span> <span class='varid'>liftMf</span> <span class='varid'>this</span>
-<a name="line-703"></a>
-<a name="line-704"></a><span class='comment'>-- |</span>
-<a name="line-705"></a><span class='comment'>-- the monadic version of the null filter none.</span>
-<a name="line-706"></a><span class='comment'>--</span>
-<a name="line-707"></a><span class='comment'>-- see also : 'none'</span>
-<a name="line-708"></a>
-<a name="line-709"></a><a name="noneM"></a><span class='definition'>noneM</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-710"></a><span class='definition'>noneM</span>		<span class='keyglyph'>=</span> <span class='varid'>liftMf</span> <span class='varid'>none</span>
-<a name="line-711"></a>
-<a name="line-712"></a><span class='comment'>-- |</span>
-<a name="line-713"></a><span class='comment'>-- sequential composition of monadic filters, monadic version of \".&gt;\".</span>
-<a name="line-714"></a><span class='comment'>--</span>
-<a name="line-715"></a><span class='comment'>--    * 1.parameter f1 :  the 1. monadic filter</span>
-<a name="line-716"></a><span class='comment'>--</span>
-<a name="line-717"></a><span class='comment'>--    - 2.parameter f2 :  the 2. monadic filter</span>
-<a name="line-718"></a><span class='comment'>--</span>
-<a name="line-719"></a><span class='comment'>--    - returns : the monadic fiter applying first f1 to n and then f2 to the result (like function composition)</span>
-<a name="line-720"></a><span class='comment'>--</span>
-<a name="line-721"></a><span class='comment'>-- see also : '(.&gt;)'</span>
-<a name="line-722"></a>
-<a name="line-723"></a><a name=".>>"></a><span class='layout'>(</span><span class='varop'>.&gt;&gt;</span><span class='layout'>)</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span><span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>b</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span><span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-724"></a><a name="cmd1"></a><span class='definition'>cmd1</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>cmd2</span>
-<a name="line-725"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-726"></a>      <span class='keyword'>do</span>
-<a name="line-727"></a>      <span class='varid'>r1</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>cmd1</span> <span class='varid'>t</span>
-<a name="line-728"></a>      <span class='varid'>r2</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>mapM</span> <span class='varid'>cmd2</span> <span class='varid'>r1</span>
-<a name="line-729"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>concat</span> <span class='varid'>r2</span><span class='layout'>)</span>
-<a name="line-730"></a>
-<a name="line-731"></a><span class='comment'>-- |</span>
-<a name="line-732"></a><span class='comment'>-- generalized sequential composition of monadic filters</span>
-<a name="line-733"></a>
-<a name="line-734"></a><a name="seqM"></a><span class='definition'>seqM</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span><span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span><span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-735"></a><span class='definition'>seqM</span>
-<a name="line-736"></a>    <span class='keyglyph'>=</span> <span class='varid'>foldr</span> <span class='layout'>(</span><span class='varop'>.&gt;&gt;</span><span class='layout'>)</span> <span class='varid'>thisM</span>
-<a name="line-737"></a>
-<a name="line-738"></a><span class='comment'>-- |</span>
-<a name="line-739"></a><span class='comment'>-- binary parallel composition, the logical OR for predicate filter</span>
-<a name="line-740"></a><span class='comment'>--</span>
-<a name="line-741"></a><span class='comment'>--    * 1.parameter f1 :  the 1. filter</span>
-<a name="line-742"></a><span class='comment'>--</span>
-<a name="line-743"></a><span class='comment'>--    - 2.parameter f2 :  the 2. filter</span>
-<a name="line-744"></a><span class='comment'>--</span>
-<a name="line-745"></a><span class='comment'>--    - returns : the filter for applying f1 and f2 both to an argument tree and concatenating the results</span>
-<a name="line-746"></a><span class='comment'>-- see also: 'cat', '+++', 'catM'</span>
-<a name="line-747"></a>
-<a name="line-748"></a><a name="+++>>"></a><span class='layout'>(</span><span class='varop'>+++&gt;&gt;</span><span class='layout'>)</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-749"></a><span class='definition'>f</span> <span class='varop'>+++&gt;&gt;</span> <span class='varid'>g</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyword'>do</span>
-<a name="line-750"></a>			 <span class='varid'>r1</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-751"></a>			 <span class='varid'>r2</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>g</span> <span class='varid'>t</span>
-<a name="line-752"></a>			 <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>r1</span> <span class='varop'>++</span> <span class='varid'>r2</span><span class='layout'>)</span>
-<a name="line-753"></a>
-<a name="line-754"></a><span class='comment'>-- |</span>
-<a name="line-755"></a><span class='comment'>-- apply a list of monadic filters</span>
-<a name="line-756"></a><span class='comment'>--</span>
-<a name="line-757"></a><span class='comment'>--    * 1.parameter fs :  the list of filters</span>
-<a name="line-758"></a><span class='comment'>--</span>
-<a name="line-759"></a><span class='comment'>--    - returns : the composing filter</span>
-<a name="line-760"></a><span class='comment'>-- see also: 'cat', '+++', '+++&gt;&gt;'</span>
-<a name="line-761"></a>
-<a name="line-762"></a><a name="catM"></a><span class='definition'>catM</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-763"></a><span class='definition'>catM</span> <span class='varid'>fs</span>  <span class='varid'>t</span>
-<a name="line-764"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-765"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>sequence</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='layout'>(</span><span class='varop'>$</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='varid'>fs</span><span class='layout'>)</span>
-<a name="line-766"></a>      <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>concat</span> <span class='varid'>res</span>
-<a name="line-767"></a>
-<a name="line-768"></a><span class='comment'>-- |</span>
-<a name="line-769"></a><span class='comment'>-- monadic if-then-else.</span>
-<a name="line-770"></a><span class='comment'>--</span>
-<a name="line-771"></a><span class='comment'>--    * 1.parameter p :  the predicate</span>
-<a name="line-772"></a><span class='comment'>--</span>
-<a name="line-773"></a><span class='comment'>--    - 2.parameter thenP :  the then part: the monadic filter, that is applied if p holds for the input tree</span>
-<a name="line-774"></a><span class='comment'>--</span>
-<a name="line-775"></a><span class='comment'>--    - 3.parameter elseP :  the else part</span>
-<a name="line-776"></a><span class='comment'>--</span>
-<a name="line-777"></a><span class='comment'>--    - returns : the monadic filter for the conditional</span>
-<a name="line-778"></a>
-<a name="line-779"></a><a name="ifM"></a><span class='definition'>ifM</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-780"></a><span class='definition'>ifM</span> <span class='varid'>p</span> <span class='varid'>thenPart</span> <span class='varid'>elsePart</span>
-<a name="line-781"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-782"></a>      <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='varid'>p</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-783"></a>      <span class='keyword'>then</span> <span class='varid'>thenPart</span> <span class='varid'>t</span>
-<a name="line-784"></a>      <span class='keyword'>else</span> <span class='varid'>elsePart</span> <span class='varid'>t</span>
-<a name="line-785"></a>
-<a name="line-786"></a><span class='comment'>-- |</span>
-<a name="line-787"></a><span class='comment'>-- monadic version of multiway branch. The list of cases @f :-&gt; g@ is processed sequentially,</span>
-<a name="line-788"></a><span class='comment'>-- in the first case for that f holds g is applied, if no case matches, 'noneM' is</span>
-<a name="line-789"></a><span class='comment'>-- applied.</span>
-<a name="line-790"></a><span class='comment'>-- This filter can be used like a case expression: @choiceM [ p1 :-&gt; f1, p2 :-&gt; f2, ... , thisM :-&gt; defaultFilter]@</span>
-<a name="line-791"></a><span class='comment'>--</span>
-<a name="line-792"></a><span class='comment'>-- see also : 'choice', 'ifM'</span>
-<a name="line-793"></a>
-<a name="line-794"></a><a name="choiceM"></a><span class='definition'>choiceM</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='keyglyph'>[</span><span class='conid'>IfThen</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-795"></a><span class='definition'>choiceM</span> <span class='conid'>[]</span>
-<a name="line-796"></a>    <span class='keyglyph'>=</span> <span class='varid'>noneM</span>
-<a name="line-797"></a>
-<a name="line-798"></a><span class='definition'>choiceM</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>g</span> <span class='conop'>:-&gt;</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-799"></a>    <span class='keyglyph'>=</span> <span class='varid'>ifM</span> <span class='varid'>g</span> <span class='varid'>f</span> <span class='layout'>(</span><span class='varid'>choiceM</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-800"></a>
-<a name="line-801"></a>
-<a name="line-802"></a><span class='comment'>-- |</span>
-<a name="line-803"></a><span class='comment'>-- when the predicate p holds, the monadic filter f is applied, else the identity filter.</span>
-<a name="line-804"></a><span class='comment'>--</span>
-<a name="line-805"></a><span class='comment'>--    * 1.parameter f :  the conditinally applied monadic filter</span>
-<a name="line-806"></a><span class='comment'>--</span>
-<a name="line-807"></a><span class='comment'>--    - 2.parameter p :  the simple predicate</span>
-<a name="line-808"></a><span class='comment'>--</span>
-<a name="line-809"></a><span class='comment'>--    - returns : the conditional filter</span>
-<a name="line-810"></a><span class='comment'>--</span>
-<a name="line-811"></a><span class='comment'>-- see also : 'ifM', 'when', 'guardsM', 'whenNotM'</span>
-<a name="line-812"></a>
-<a name="line-813"></a><a name="whenM"></a><span class='definition'>whenM</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-814"></a><a name="whenM"></a><span class='definition'>f</span> <span class='varop'>`whenM`</span> <span class='varid'>g</span>	<span class='keyglyph'>=</span> <span class='varid'>ifM</span> <span class='varid'>g</span> <span class='varid'>f</span> <span class='varid'>thisM</span>
-<a name="line-815"></a>
-<a name="line-816"></a><span class='comment'>-- |</span>
-<a name="line-817"></a><span class='comment'>-- the complementary filter of whenM.</span>
-<a name="line-818"></a><span class='comment'>--</span>
-<a name="line-819"></a><span class='comment'>-- see also : 'ifM', 'whenM', 'whenNot'</span>
-<a name="line-820"></a>
-<a name="line-821"></a><a name="whenNotM"></a><span class='definition'>whenNotM</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-822"></a><a name="whenNotM"></a><span class='definition'>f</span> <span class='varop'>`whenNotM`</span> <span class='varid'>g</span>	<span class='keyglyph'>=</span> <span class='varid'>ifM</span> <span class='varid'>g</span> <span class='varid'>thisM</span> <span class='varid'>f</span>
-<a name="line-823"></a>
-<a name="line-824"></a><span class='comment'>-- |</span>
-<a name="line-825"></a><span class='comment'>-- when the predicate p holds, the monadic filter f is applied, else the null filter.</span>
-<a name="line-826"></a><span class='comment'>--</span>
-<a name="line-827"></a><span class='comment'>--    * 1.parameter p :  the simple predicate filter</span>
-<a name="line-828"></a><span class='comment'>--</span>
-<a name="line-829"></a><span class='comment'>--    - 2.parameter f :  the conditionally applied monadic filter</span>
-<a name="line-830"></a><span class='comment'>--</span>
-<a name="line-831"></a><span class='comment'>--    - returns : the conditional filter</span>
-<a name="line-832"></a><span class='comment'>--</span>
-<a name="line-833"></a><span class='comment'>-- see also : 'ifM', 'guards', 'whenM'</span>
-<a name="line-834"></a>
-<a name="line-835"></a><a name="guardsM"></a><span class='definition'>guardsM</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>c</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-836"></a><a name="guardsM"></a><span class='definition'>g</span> <span class='varop'>`guardsM`</span> <span class='varid'>f</span>	<span class='keyglyph'>=</span> <span class='varid'>ifM</span> <span class='varid'>g</span> <span class='varid'>f</span> <span class='varid'>noneM</span>
-<a name="line-837"></a>
-<a name="line-838"></a><span class='comment'>-- |</span>
-<a name="line-839"></a><span class='comment'>-- Filter for editing the children of a tree with a monadic filter</span>
-<a name="line-840"></a><span class='comment'>--</span>
-<a name="line-841"></a><span class='comment'>--    * 1.parameter cf :  the monadic filter applied to the children</span>
-<a name="line-842"></a><span class='comment'>--</span>
-<a name="line-843"></a><span class='comment'>--    - returns : the monadic editing filter</span>
-<a name="line-844"></a><span class='comment'>--</span>
-<a name="line-845"></a><span class='comment'>-- see also : 'processChildren'</span>
-<a name="line-846"></a>
-<a name="line-847"></a><a name="processChildrenM"></a><span class='definition'>processChildrenM</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>node</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>node</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-848"></a><span class='definition'>processChildrenM</span> <span class='varid'>ft</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-849"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-850"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>ft</span> <span class='varop'>$$&lt;</span> <span class='varid'>cs</span>
-<a name="line-851"></a>      <span class='varid'>return</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='varid'>res</span><span class='keyglyph'>]</span>
-<a name="line-852"></a>
-<a name="line-853"></a><span class='comment'>-- |</span>
-<a name="line-854"></a><span class='comment'>-- monadic variant of 'processTopDown'</span>
-<a name="line-855"></a>
-<a name="line-856"></a><a name="processTopDownM"></a><span class='definition'>processTopDownM</span>		<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>node</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>node</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-857"></a><span class='definition'>processTopDownM</span> <span class='varid'>f</span>
-<a name="line-858"></a>    <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>processChildrenM</span> <span class='layout'>(</span><span class='varid'>processTopDownM</span> <span class='varid'>f</span><span class='layout'>)</span>
-<a name="line-859"></a>
-<a name="line-860"></a><span class='comment'>-- |</span>
-<a name="line-861"></a><span class='comment'>-- monadic variant of 'processBottomUp'</span>
-<a name="line-862"></a>
-<a name="line-863"></a><a name="processBottomUpM"></a><span class='definition'>processBottomUpM</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>node</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='varid'>node</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-864"></a><span class='definition'>processBottomUpM</span> <span class='varid'>f</span>
-<a name="line-865"></a>    <span class='keyglyph'>=</span> <span class='varid'>processChildrenM</span> <span class='layout'>(</span><span class='varid'>processBottomUpM</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>f</span>
-<a name="line-866"></a>
-<a name="line-867"></a><span class='comment'>-- |</span>
-<a name="line-868"></a><span class='comment'>-- infix operator for applying a monadic filter to a list of trees,</span>
-<a name="line-869"></a><span class='comment'>-- typically used in do-notation for processing of intermediate results.</span>
-<a name="line-870"></a><span class='comment'>--</span>
-<a name="line-871"></a><span class='comment'>--    * 1.parameter f :  the monadic filter</span>
-<a name="line-872"></a><span class='comment'>--</span>
-<a name="line-873"></a><span class='comment'>--    - 2.parameter ts :  the list of trees</span>
-<a name="line-874"></a><span class='comment'>--</span>
-<a name="line-875"></a><span class='comment'>--    - returns : the concatenated list of results</span>
-<a name="line-876"></a><span class='comment'>--</span>
-<a name="line-877"></a><span class='comment'>-- see also : '($$)'</span>
-<a name="line-878"></a>
-<a name="line-879"></a><a name="$$<"></a><span class='layout'>(</span><span class='varop'>$$&lt;</span><span class='layout'>)</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span>
-<a name="line-880"></a><a name="cmd"></a><span class='definition'>cmd</span> <span class='varop'>$$&lt;</span> <span class='varid'>l</span>
-<a name="line-881"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-882"></a>      <span class='varid'>r</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>mapM</span> <span class='varid'>cmd</span> <span class='varid'>l</span>
-<a name="line-883"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>concat</span> <span class='varid'>r</span><span class='layout'>)</span>
-<a name="line-884"></a>
-<a name="line-885"></a><span class='comment'>-- |</span>
-<a name="line-886"></a><span class='comment'>-- lift a filter to a monadic filter</span>
-<a name="line-887"></a><span class='comment'>--</span>
-<a name="line-888"></a><span class='comment'>--    * 1.parameter f :  the /simple/ filter</span>
-<a name="line-889"></a><span class='comment'>--</span>
-<a name="line-890"></a><span class='comment'>--    - returns : the lifted monadic version</span>
-<a name="line-891"></a>
-<a name="line-892"></a><a name="liftMf"></a><span class='definition'>liftMf</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span>
-<a name="line-893"></a><span class='definition'>liftMf</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-894"></a>    <span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>f</span> <span class='varid'>t</span><span class='layout'>)</span>
-<a name="line-895"></a>
-<a name="line-896"></a><span class='comment'>-- |</span>
-<a name="line-897"></a><span class='comment'>-- run an arbitray command on a tree t and return the tree,</span>
-<a name="line-898"></a><span class='comment'>-- used for inserting arbitray commands in a filter pipeline</span>
-<a name="line-899"></a><span class='comment'>--</span>
-<a name="line-900"></a><span class='comment'>--    * 1.parameter cmd :  the command</span>
-<a name="line-901"></a><span class='comment'>--</span>
-<a name="line-902"></a><span class='comment'>--    - 2.parameter t :  the argument tree</span>
-<a name="line-903"></a><span class='comment'>--</span>
-<a name="line-904"></a><span class='comment'>--    - returns : the unchanged tree as a single element list</span>
-<a name="line-905"></a>
-<a name="line-906"></a><a name="performAction"></a><span class='definition'>performAction</span>	<span class='keyglyph'>::</span> <span class='conid'>Monad</span> <span class='varid'>m</span> <span class='keyglyph'>=&gt;</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='varid'>b</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>m</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span>
-<a name="line-907"></a><span class='definition'>performAction</span> <span class='varid'>cmd</span> <span class='varid'>t</span>
-<a name="line-908"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-909"></a>      <span class='varid'>cmd</span> <span class='varid'>t</span>
-<a name="line-910"></a>      <span class='varid'>return</span> <span class='keyglyph'>[</span><span class='varid'>t</span><span class='keyglyph'>]</span>
-<a name="line-911"></a>
-<a name="line-912"></a><span class='comment'>-- eof ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/System-PipeOpen.html b/doc/hxt-filter/src/System-PipeOpen.html
deleted file mode 100644
--- a/doc/hxt-filter/src/System-PipeOpen.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a>
-<a name="line-3"></a><span class='comment'>{- |
-<a name="line-4"></a>   Module     : System.PipeOpen
-<a name="line-5"></a>   Copyright  : Copyright (C) 2005 Uwe Schmidt
-<a name="line-6"></a>   License    : MIT
-<a name="line-7"></a>
-<a name="line-8"></a>   Maintainer : Uwe Schmidt (uwe\@fh-wedel.de)
-<a name="line-9"></a>   Stability  : experimental
-<a name="line-10"></a>   Portability: none portable
-<a name="line-11"></a>   Version    : $Id: PipeOpen.hs,v 1.2 2005/09/02 17:09:39 hxml Exp $
-<a name="line-12"></a>
-<a name="line-13"></a>pipe open implemented with System.Process functions
-<a name="line-14"></a>
-<a name="line-15"></a>-}</span>
-<a name="line-16"></a>
-<a name="line-17"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-18"></a>
-<a name="line-19"></a><span class='keyword'>module</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>PipeOpen</span>
-<a name="line-20"></a>    <span class='layout'>(</span> <span class='varid'>popen</span> <span class='layout'>)</span>
-<a name="line-21"></a><span class='keyword'>where</span>
-<a name="line-22"></a>
-<a name="line-23"></a><span class='keyword'>import</span> <span class='conid'>IO</span>
-<a name="line-24"></a>    <span class='layout'>(</span> <span class='varid'>hGetContents</span>
-<a name="line-25"></a>    <span class='layout'>,</span> <span class='varid'>hClose</span>
-<a name="line-26"></a>    <span class='layout'>)</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>Exit</span>
-<a name="line-29"></a>    <span class='layout'>(</span> <span class='conid'>ExitCode</span><span class='layout'>(</span><span class='keyglyph'>..</span><span class='layout'>)</span>
-<a name="line-30"></a>    <span class='layout'>)</span>
-<a name="line-31"></a>
-<a name="line-32"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>Process</span>
-<a name="line-33"></a>    <span class='layout'>(</span> <span class='varid'>runInteractiveProcess</span>
-<a name="line-34"></a>    <span class='layout'>,</span> <span class='varid'>waitForProcess</span>
-<a name="line-35"></a>    <span class='layout'>)</span>
-<a name="line-36"></a>
-<a name="line-37"></a><span class='comment'>-- | call an external program with a list of command line arguments</span>
-<a name="line-38"></a><span class='comment'>-- and return content of stdout, content of stderr and return code</span>
-<a name="line-39"></a>
-<a name="line-40"></a><a name="popen"></a><span class='definition'>popen</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='layout'>(</span><span class='conid'>String</span><span class='layout'>,</span> <span class='conid'>String</span><span class='layout'>,</span> <span class='conid'>Int</span><span class='layout'>)</span>
-<a name="line-41"></a><span class='definition'>popen</span> <span class='varid'>prg</span> <span class='varid'>argl</span>
-<a name="line-42"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-43"></a>      <span class='layout'>(</span><span class='varid'>inpH</span><span class='layout'>,</span> <span class='varid'>outH</span><span class='layout'>,</span> <span class='varid'>errH</span><span class='layout'>,</span> <span class='varid'>pH</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>runInteractiveProcess</span> <span class='varid'>prg</span> <span class='varid'>argl</span> <span class='conid'>Nothing</span> <span class='conid'>Nothing</span>
-<a name="line-44"></a>      <span class='varid'>hClose</span> <span class='varid'>inpH</span>
-<a name="line-45"></a>      <span class='varid'>res</span>  <span class='keyglyph'>&lt;-</span> <span class='varid'>hGetContents</span> <span class='varid'>outH</span>
-<a name="line-46"></a>      <span class='varid'>errs</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>hGetContents</span> <span class='varid'>errH</span>
-<a name="line-47"></a>
-<a name="line-48"></a>      <span class='comment'>-- hack: stdout and stderr must be read completely, otherwise waitForProcess blocks</span>
-<a name="line-49"></a>      <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>length</span> <span class='varid'>res</span>  <span class='varop'>==</span> <span class='num'>0</span><span class='layout'>)</span> <span class='keyword'>then</span> <span class='varid'>return</span> <span class='conid'>()</span> <span class='keyword'>else</span> <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-50"></a>      <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>length</span> <span class='varid'>errs</span> <span class='varop'>==</span> <span class='num'>0</span><span class='layout'>)</span> <span class='keyword'>then</span> <span class='varid'>return</span> <span class='conid'>()</span> <span class='keyword'>else</span> <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-51"></a>
-<a name="line-52"></a>      <span class='varid'>rc</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>waitForProcess</span> <span class='varid'>pH</span>
-<a name="line-53"></a>      <span class='varid'>return</span> <span class='layout'>(</span> <span class='varid'>res</span>
-<a name="line-54"></a>	     <span class='layout'>,</span> <span class='varid'>errs</span>
-<a name="line-55"></a>	     <span class='layout'>,</span> <span class='keyword'>case</span> <span class='varid'>rc</span> <span class='keyword'>of</span>
-<a name="line-56"></a>	       <span class='conid'>ExitSuccess</span> <span class='keyglyph'>-&gt;</span> <span class='num'>0</span>
-<a name="line-57"></a>	       <span class='conid'>ExitFailure</span> <span class='varid'>i</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>i</span>
-<a name="line-58"></a>	     <span class='layout'>)</span>
-<a name="line-59"></a>
-<a name="line-60"></a><span class='comment'>-- eof ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM-EditFilters.html b/doc/hxt-filter/src/Text-XML-HXT-DOM-EditFilters.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM-EditFilters.html
+++ /dev/null
@@ -1,577 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- XML editing filters</span>
-<a name="line-3"></a>
-<a name="line-4"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>EditFilters</span>
-<a name="line-5"></a>    <span class='layout'>(</span> <span class='varid'>canonicalizeTree</span>
-<a name="line-6"></a>    <span class='layout'>,</span> <span class='varid'>canonicalizeAllNodes</span>
-<a name="line-7"></a>    <span class='layout'>,</span> <span class='varid'>canonicalizeForXPath</span>
-<a name="line-8"></a>
-<a name="line-9"></a>    <span class='layout'>,</span> <span class='varid'>collapseXText</span>
-<a name="line-10"></a>    <span class='layout'>,</span> <span class='varid'>collapseAllXText</span>
-<a name="line-11"></a>
-<a name="line-12"></a>    <span class='layout'>,</span> <span class='varid'>indentDoc</span>
-<a name="line-13"></a>
-<a name="line-14"></a>    <span class='layout'>,</span> <span class='varid'>removeWhiteSpace</span>
-<a name="line-15"></a>    <span class='layout'>,</span> <span class='varid'>removeAllWhiteSpace</span>
-<a name="line-16"></a>    <span class='layout'>,</span> <span class='varid'>removeDocWhiteSpace</span>
-<a name="line-17"></a>
-<a name="line-18"></a>    <span class='layout'>,</span> <span class='varid'>removeComment</span>
-<a name="line-19"></a>    <span class='layout'>,</span> <span class='varid'>removeAllComment</span>
-<a name="line-20"></a>
-<a name="line-21"></a>    <span class='layout'>,</span> <span class='varid'>transfCdata</span>		<span class='layout'>,</span> <span class='varid'>transfAllCdata</span>	<span class='comment'>-- CDATA to text</span>
-<a name="line-22"></a>    <span class='layout'>,</span> <span class='varid'>transfCdataEscaped</span>	<span class='layout'>,</span> <span class='varid'>transfAllCdataEscaped</span>	<span class='comment'>-- CDATA to text</span>
-<a name="line-23"></a>    <span class='layout'>,</span> <span class='varid'>transfCharRef</span>		<span class='layout'>,</span> <span class='varid'>transfAllCharRef</span>	<span class='comment'>-- &amp;#nnn; to text</span>
-<a name="line-24"></a>
-<a name="line-25"></a>    <span class='layout'>,</span> <span class='varid'>escapeXmlDoc</span>
-<a name="line-26"></a>    <span class='layout'>,</span> <span class='varid'>escapeXmlText</span>
-<a name="line-27"></a>    <span class='layout'>,</span> <span class='varid'>escapeXmlAttrValue</span>
-<a name="line-28"></a>
-<a name="line-29"></a>    <span class='layout'>,</span> <span class='varid'>unparseXmlDoc</span>
-<a name="line-30"></a>    <span class='layout'>,</span> <span class='varid'>numberLinesInXmlDoc</span>	<span class='layout'>,</span> <span class='varid'>numberLines</span>
-<a name="line-31"></a>    <span class='layout'>,</span> <span class='varid'>treeRepOfXmlDoc</span>
-<a name="line-32"></a>    <span class='layout'>,</span> <span class='varid'>haskellRepOfXmlDoc</span>
-<a name="line-33"></a>    <span class='layout'>,</span> <span class='varid'>addHeadlineToXmlDoc</span>
-<a name="line-34"></a>    <span class='layout'>,</span> <span class='varid'>addXmlPiToDoc</span>
-<a name="line-35"></a>    <span class='layout'>)</span>
-<a name="line-36"></a><span class='keyword'>where</span>
-<a name="line-37"></a>
-<a name="line-38"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-39"></a>
-<a name="line-40"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Unicode</span>
-<a name="line-41"></a>    <span class='layout'>(</span> <span class='varid'>getOutputEncodingFct</span><span class='layout'>)</span>
-<a name="line-42"></a>
-<a name="line-43"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>FormatXmlTree</span>
-<a name="line-44"></a>    <span class='layout'>(</span> <span class='varid'>formatXmlContents</span> <span class='layout'>)</span>
-<a name="line-45"></a>
-<a name="line-46"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Maybe</span>
-<a name="line-47"></a>
-<a name="line-48"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-49"></a>
-<a name="line-50"></a><span class='comment'>-- |</span>
-<a name="line-51"></a><span class='comment'>-- remove Comments</span>
-<a name="line-52"></a>
-<a name="line-53"></a><a name="removeComment"></a><span class='definition'>removeComment</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-54"></a><span class='definition'>removeComment</span>		<span class='keyglyph'>=</span> <span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>isXCmt</span>
-<a name="line-55"></a>
-<a name="line-56"></a><span class='comment'>-- |</span>
-<a name="line-57"></a><span class='comment'>-- remove all Comments recursively</span>
-<a name="line-58"></a>
-<a name="line-59"></a><a name="removeAllComment"></a><span class='definition'>removeAllComment</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-60"></a><span class='definition'>removeAllComment</span>	<span class='keyglyph'>=</span> <span class='varid'>processBottomUp</span> <span class='varid'>removeComment</span>
-<a name="line-61"></a>
-<a name="line-62"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-63"></a>
-<a name="line-64"></a><span class='comment'>-- |</span>
-<a name="line-65"></a><span class='comment'>-- simple filter for removing whitespace.</span>
-<a name="line-66"></a><span class='comment'>--</span>
-<a name="line-67"></a><span class='comment'>-- no check on sigificant whitespace is done.</span>
-<a name="line-68"></a><span class='comment'>--</span>
-<a name="line-69"></a><span class='comment'>--</span>
-<a name="line-70"></a><span class='comment'>-- see also : 'removeAllWhiteSpace', 'removeDocWhiteSpace'</span>
-<a name="line-71"></a>
-<a name="line-72"></a><a name="removeWhiteSpace"></a><span class='definition'>removeWhiteSpace</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-73"></a><span class='definition'>removeWhiteSpace</span>	<span class='keyglyph'>=</span> <span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>isWhiteSpace</span>
-<a name="line-74"></a>
-<a name="line-75"></a><span class='comment'>-- |</span>
-<a name="line-76"></a><span class='comment'>-- simple recursive filter for removing all whitespace.</span>
-<a name="line-77"></a><span class='comment'>--</span>
-<a name="line-78"></a><span class='comment'>-- removes all text nodes in a tree that consist only of whitespace.</span>
-<a name="line-79"></a><span class='comment'>--</span>
-<a name="line-80"></a><span class='comment'>--</span>
-<a name="line-81"></a><span class='comment'>-- see also : 'removeWhiteSpace', 'removeDocWhiteSpace'</span>
-<a name="line-82"></a>
-<a name="line-83"></a><a name="removeAllWhiteSpace"></a><span class='definition'>removeAllWhiteSpace</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-84"></a><span class='definition'>removeAllWhiteSpace</span>	<span class='keyglyph'>=</span> <span class='varid'>processBottomUp</span> <span class='varid'>removeWhiteSpace</span>
-<a name="line-85"></a>
-<a name="line-86"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-87"></a><span class='comment'>-- |</span>
-<a name="line-88"></a><span class='comment'>-- converts CDATA sections in whole document tree into normal text nodes</span>
-<a name="line-89"></a>
-<a name="line-90"></a><a name="transfAllCdataEscaped"></a><span class='definition'>transfAllCdataEscaped</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-91"></a><span class='definition'>transfAllCdataEscaped</span>	<span class='keyglyph'>=</span> <span class='varid'>processBottomUp</span> <span class='varid'>transfCdataEscaped</span>
-<a name="line-92"></a>
-<a name="line-93"></a><span class='comment'>-- |</span>
-<a name="line-94"></a><span class='comment'>-- converts CDATA section in normal text nodes</span>
-<a name="line-95"></a>
-<a name="line-96"></a><a name="transfCdataEscaped"></a><span class='definition'>transfCdataEscaped</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-97"></a><span class='definition'>transfCdataEscaped</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XCdata</span> <span class='varid'>str</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-98"></a>    <span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varid'>str</span>
-<a name="line-99"></a>
-<a name="line-100"></a><span class='definition'>transfCdataEscaped</span> <span class='varid'>n</span>
-<a name="line-101"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-102"></a>
-<a name="line-103"></a>
-<a name="line-104"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-105"></a><span class='comment'>-- |</span>
-<a name="line-106"></a><span class='comment'>-- converts CDATA sections in whole document tree</span>
-<a name="line-107"></a>
-<a name="line-108"></a><a name="transfAllCdata"></a><span class='definition'>transfAllCdata</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-109"></a><span class='definition'>transfAllCdata</span>		<span class='keyglyph'>=</span> <span class='varid'>processBottomUp</span> <span class='varid'>transfCdata</span>
-<a name="line-110"></a>
-<a name="line-111"></a><span class='comment'>-- |</span>
-<a name="line-112"></a><span class='comment'>-- converts CDATA section in normal text sections</span>
-<a name="line-113"></a>
-<a name="line-114"></a><a name="transfCdata"></a><span class='definition'>transfCdata</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-115"></a><span class='definition'>transfCdata</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XCdata</span> <span class='varid'>str</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-116"></a>    <span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varid'>str</span>
-<a name="line-117"></a>
-<a name="line-118"></a><span class='definition'>transfCdata</span> <span class='varid'>n</span>
-<a name="line-119"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-120"></a>
-<a name="line-121"></a>
-<a name="line-122"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-123"></a><span class='comment'>-- |</span>
-<a name="line-124"></a><span class='comment'>-- converts character references to normal text</span>
-<a name="line-125"></a>
-<a name="line-126"></a><a name="transfCharRef"></a><span class='definition'>transfCharRef</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-127"></a><span class='definition'>transfCharRef</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XCharRef</span> <span class='varid'>i</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-128"></a>    <span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varop'>$</span> <span class='keyglyph'>[</span><span class='varid'>toEnum</span> <span class='varid'>i</span><span class='keyglyph'>]</span>
-<a name="line-129"></a>
-<a name="line-130"></a><span class='definition'>transfCharRef</span> <span class='varid'>n</span>
-<a name="line-131"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-132"></a>
-<a name="line-133"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-134"></a><span class='comment'>-- |</span>
-<a name="line-135"></a><span class='comment'>-- recursively converts all character references to normal text</span>
-<a name="line-136"></a>
-<a name="line-137"></a><a name="transfAllCharRef"></a><span class='definition'>transfAllCharRef</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-138"></a><span class='definition'>transfAllCharRef</span>	<span class='keyglyph'>=</span> <span class='varid'>processBottomUp</span> <span class='varid'>transfCharRef</span>
-<a name="line-139"></a>
-<a name="line-140"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-141"></a>
-<a name="line-142"></a><span class='comment'>-- |</span>
-<a name="line-143"></a><span class='comment'>-- Applies some "Canonical XML" rules to the nodes of a tree.</span>
-<a name="line-144"></a><span class='comment'>--</span>
-<a name="line-145"></a><span class='comment'>-- The rule differ slightly for canonical XML and XPath in handling of comments</span>
-<a name="line-146"></a><span class='comment'>--</span>
-<a name="line-147"></a><span class='comment'>-- Note: This is not the whole canonicalization as it is specified by the W3C</span>
-<a name="line-148"></a><span class='comment'>-- Recommendation. Adding attribute defaults or sorting attributes in lexicographic</span>
-<a name="line-149"></a><span class='comment'>-- order is done by the @transform@ function of module @Text.XML.HXT.Validator.Validation@.</span>
-<a name="line-150"></a><span class='comment'>-- Replacing entities or line feed normalization is done by the parser.</span>
-<a name="line-151"></a><span class='comment'>--</span>
-<a name="line-152"></a><span class='comment'>--</span>
-<a name="line-153"></a><span class='comment'>-- Not implemented yet:</span>
-<a name="line-154"></a><span class='comment'>--</span>
-<a name="line-155"></a><span class='comment'>--  - Whitespace within start and end tags is normalized</span>
-<a name="line-156"></a><span class='comment'>--</span>
-<a name="line-157"></a><span class='comment'>--  - Special characters in attribute values and character content are replaced by character references</span>
-<a name="line-158"></a><span class='comment'>--</span>
-<a name="line-159"></a><span class='comment'>-- see 'canonicalizeAllNodes' and 'canonicalizeForXPath'</span>
-<a name="line-160"></a>
-<a name="line-161"></a><a name="canonicalizeTree"></a><span class='definition'>canonicalizeTree</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-162"></a><span class='definition'>canonicalizeTree</span> <span class='varid'>toBeRemoved</span>
-<a name="line-163"></a>    <span class='keyglyph'>=</span> <span class='varid'>processChildren</span> <span class='layout'>(</span><span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>isXText</span><span class='layout'>)</span>
-<a name="line-164"></a>      <span class='varop'>.&gt;</span>
-<a name="line-165"></a>      <span class='varid'>processBottomUp</span> <span class='varid'>canonicalize1Node</span>
-<a name="line-166"></a>      <span class='keyword'>where</span>
-<a name="line-167"></a>      <span class='varid'>canonicalize1Node</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-168"></a>      <span class='varid'>canonicalize1Node</span>
-<a name="line-169"></a>	  <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>deep</span> <span class='varid'>isXPi</span> <span class='varop'>`when`</span> <span class='varid'>isXDTD</span><span class='layout'>)</span>		<span class='comment'>-- remove DTD parts, except PIs</span>
-<a name="line-170"></a>	    <span class='varop'>.&gt;</span>
-<a name="line-171"></a>	    <span class='layout'>(</span><span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>toBeRemoved</span><span class='layout'>)</span>		<span class='comment'>-- remove unintersting nodes</span>
-<a name="line-172"></a>	    <span class='varop'>.&gt;</span>
-<a name="line-173"></a>	    <span class='layout'>(</span> <span class='varid'>processAttr</span> <span class='layout'>(</span> <span class='varid'>processChildren</span> <span class='varid'>transfCharRef</span>
-<a name="line-174"></a>			    <span class='varop'>.&gt;</span>
-<a name="line-175"></a>			    <span class='varid'>collapseXText</span>
-<a name="line-176"></a>			  <span class='layout'>)</span> <span class='varop'>`when`</span> <span class='varid'>isXTag</span><span class='layout'>)</span>
-<a name="line-177"></a>	    <span class='varop'>.&gt;</span>
-<a name="line-178"></a>	    <span class='varid'>transfCdata</span>				<span class='comment'>-- CDATA -&gt; text</span>
-<a name="line-179"></a>	    <span class='varop'>.&gt;</span>
-<a name="line-180"></a>	    <span class='varid'>transfCharRef</span>			<span class='comment'>-- Char refs -&gt; text</span>
-<a name="line-181"></a>	    <span class='varop'>.&gt;</span>
-<a name="line-182"></a>	    <span class='varid'>collapseXText</span>			<span class='comment'>-- combine text</span>
-<a name="line-183"></a>
-<a name="line-184"></a>
-<a name="line-185"></a><span class='comment'>-- |</span>
-<a name="line-186"></a><span class='comment'>-- canonicalize tree and remove comments and \&lt;?xml ... ?&gt; declarations</span>
-<a name="line-187"></a><span class='comment'>--</span>
-<a name="line-188"></a><span class='comment'>-- see 'canonicalizeTree'</span>
-<a name="line-189"></a>
-<a name="line-190"></a><a name="canonicalizeAllNodes"></a><span class='definition'>canonicalizeAllNodes</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-191"></a><span class='definition'>canonicalizeAllNodes</span>
-<a name="line-192"></a>    <span class='keyglyph'>=</span> <span class='varid'>canonicalizeTree</span> <span class='layout'>(</span><span class='varid'>isXCmt</span>		<span class='comment'>-- remove comment</span>
-<a name="line-193"></a>			<span class='varop'>+++</span>
-<a name="line-194"></a>			<span class='varid'>isPi</span> <span class='varid'>t_xml</span>	<span class='comment'>-- remove xml declaration</span>
-<a name="line-195"></a>		       <span class='layout'>)</span>
-<a name="line-196"></a>
-<a name="line-197"></a><span class='comment'>-- |</span>
-<a name="line-198"></a><span class='comment'>-- Canonicalize a tree for XPath</span>
-<a name="line-199"></a><span class='comment'>-- Comment nodes are not removed</span>
-<a name="line-200"></a><span class='comment'>--</span>
-<a name="line-201"></a><span class='comment'>-- see 'canonicalizeTree'</span>
-<a name="line-202"></a>
-<a name="line-203"></a><a name="canonicalizeForXPath"></a><span class='definition'>canonicalizeForXPath</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-204"></a><span class='definition'>canonicalizeForXPath</span>
-<a name="line-205"></a>    <span class='keyglyph'>=</span> <span class='varid'>canonicalizeTree</span> <span class='layout'>(</span><span class='varid'>isPi</span> <span class='varid'>t_xml</span><span class='layout'>)</span>
-<a name="line-206"></a>
-<a name="line-207"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-208"></a>
-<a name="line-209"></a><span class='comment'>-- |</span>
-<a name="line-210"></a><span class='comment'>-- Collects sequences of child XText nodes into one XText node.</span>
-<a name="line-211"></a>
-<a name="line-212"></a><a name="collapseXText"></a><span class='definition'>collapseXText</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-213"></a><span class='definition'>collapseXText</span> <span class='varid'>n</span>
-<a name="line-214"></a>    <span class='keyglyph'>=</span> <span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>collapseXText'</span> <span class='varop'>$</span> <span class='varid'>getChildren</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-215"></a>    <span class='keyword'>where</span>
-<a name="line-216"></a>    <span class='varid'>collapseXText'</span> <span class='keyglyph'>::</span> <span class='conid'>XmlSFilter</span>
-<a name="line-217"></a>    <span class='varid'>collapseXText'</span> <span class='layout'>(</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n1</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n2</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='varid'>zs</span><span class='layout'>)</span>
-<a name="line-218"></a>	<span class='keyglyph'>|</span> <span class='varid'>isXTextNode</span> <span class='varid'>n1</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>isXTextNode</span> <span class='varid'>n2</span>
-<a name="line-219"></a>            <span class='keyglyph'>=</span> <span class='varid'>collapseXText'</span> <span class='varop'>$</span> <span class='layout'>(</span><span class='varid'>xtext</span> <span class='layout'>(</span><span class='varid'>t1</span> <span class='varop'>++</span> <span class='varid'>t2</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='varid'>zs</span>
-<a name="line-220"></a>	      <span class='keyword'>where</span>
-<a name="line-221"></a>	      <span class='varid'>t1</span> <span class='keyglyph'>=</span> <span class='varid'>textOfXNode</span> <span class='varid'>n1</span>
-<a name="line-222"></a>	      <span class='varid'>t2</span> <span class='keyglyph'>=</span> <span class='varid'>textOfXNode</span> <span class='varid'>n2</span>
-<a name="line-223"></a>
-<a name="line-224"></a>    <span class='varid'>collapseXText'</span> <span class='layout'>(</span><span class='varid'>x</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span>
-<a name="line-225"></a>        <span class='keyglyph'>=</span> <span class='varid'>x</span> <span class='conop'>:</span> <span class='layout'>(</span><span class='varid'>collapseXText'</span> <span class='varid'>xs</span><span class='layout'>)</span>
-<a name="line-226"></a>
-<a name="line-227"></a>    <span class='varid'>collapseXText'</span> <span class='conid'>[]</span>
-<a name="line-228"></a>        <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-229"></a>
-<a name="line-230"></a>
-<a name="line-231"></a><span class='comment'>-- |</span>
-<a name="line-232"></a><span class='comment'>-- Applies collapseXText recursively.</span>
-<a name="line-233"></a><span class='comment'>--</span>
-<a name="line-234"></a><span class='comment'>--</span>
-<a name="line-235"></a><span class='comment'>-- see also : 'collapseXText'</span>
-<a name="line-236"></a>
-<a name="line-237"></a><a name="collapseAllXText"></a><span class='definition'>collapseAllXText</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-238"></a><span class='definition'>collapseAllXText</span>	<span class='keyglyph'>=</span> <span class='varid'>processBottomUp</span> <span class='varid'>collapseXText</span>
-<a name="line-239"></a>
-<a name="line-240"></a>
-<a name="line-241"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-242"></a><span class='comment'>--</span>
-<a name="line-243"></a>
-<a name="line-244"></a><span class='comment'>-- |</span>
-<a name="line-245"></a><span class='comment'>-- filter for indenting a document tree for pretty printing.</span>
-<a name="line-246"></a><span class='comment'>--</span>
-<a name="line-247"></a><span class='comment'>-- the tree is traversed for inserting whitespace for tag indentation.</span>
-<a name="line-248"></a><span class='comment'>--</span>
-<a name="line-249"></a><span class='comment'>-- whitespace is only inserted or changed at places, where it isn't significant,</span>
-<a name="line-250"></a><span class='comment'>-- is's not inserted between tags and text containing non whitespace chars.</span>
-<a name="line-251"></a><span class='comment'>--</span>
-<a name="line-252"></a><span class='comment'>-- whitespace is only inserted or changed at places, where it's not significant.</span>
-<a name="line-253"></a><span class='comment'>-- preserving whitespace may be controlled in a document tree</span>
-<a name="line-254"></a><span class='comment'>-- by a tag attribute @xml:space@</span>
-<a name="line-255"></a><span class='comment'>--</span>
-<a name="line-256"></a><span class='comment'>-- allowed values for this attribute are @default | preserve@.</span>
-<a name="line-257"></a><span class='comment'>--</span>
-<a name="line-258"></a><span class='comment'>-- input is a complete document tree.</span>
-<a name="line-259"></a><span class='comment'>-- result the semantically equivalent formatted tree.</span>
-<a name="line-260"></a><span class='comment'>--</span>
-<a name="line-261"></a><span class='comment'>--</span>
-<a name="line-262"></a><span class='comment'>-- see also : 'removeDocWhiteSpace'</span>
-<a name="line-263"></a>
-<a name="line-264"></a><a name="indentDoc"></a><span class='definition'>indentDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-265"></a><span class='definition'>indentDoc</span> 
-<a name="line-266"></a>    <span class='keyglyph'>=</span> <span class='varid'>modifyChildren</span> <span class='layout'>(</span><span class='varid'>indentRootChildren</span> <span class='varop'>$$</span><span class='layout'>)</span>
-<a name="line-267"></a>      <span class='varop'>`when`</span>
-<a name="line-268"></a>      <span class='varid'>isRoot</span>
-<a name="line-269"></a>      <span class='keyword'>where</span>
-<a name="line-270"></a>      <span class='varid'>indentRootChildren</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-271"></a>      <span class='varid'>indentRootChildren</span>
-<a name="line-272"></a>	  <span class='keyglyph'>=</span> <span class='varid'>insertNL</span> <span class='varop'>`o`</span> <span class='varid'>indentChild</span> <span class='varop'>`o`</span> <span class='varid'>removeText</span>
-<a name="line-273"></a>	    <span class='keyword'>where</span>
-<a name="line-274"></a>	    <span class='varid'>removeText</span>
-<a name="line-275"></a>		<span class='keyglyph'>=</span> <span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>isXText</span>
-<a name="line-276"></a>	    <span class='varid'>insertNL</span>
-<a name="line-277"></a>		<span class='keyglyph'>=</span> <span class='varid'>this</span> <span class='varop'>+++</span> <span class='varid'>txt</span> <span class='str'>"\n"</span>
-<a name="line-278"></a>	    <span class='varid'>indentChild</span>
-<a name="line-279"></a>		<span class='keyglyph'>=</span> <span class='varid'>modifyChildren</span> <span class='layout'>(</span><span class='varid'>indentTrees</span> <span class='layout'>(</span><span class='varid'>insertIndentation</span> <span class='num'>2</span><span class='layout'>)</span> <span class='conid'>False</span> <span class='num'>1</span><span class='layout'>)</span>
-<a name="line-280"></a>		  <span class='varop'>`whenNot`</span>
-<a name="line-281"></a>		  <span class='varid'>isXDTD</span>		<span class='comment'>-- DTD elements are not indented</span>
-<a name="line-282"></a>
-<a name="line-283"></a><span class='comment'>-- |</span>
-<a name="line-284"></a><span class='comment'>-- filter for removing all not significant whitespace.</span>
-<a name="line-285"></a><span class='comment'>--</span>
-<a name="line-286"></a><span class='comment'>-- the tree traversed for removing whitespace between tags,</span>
-<a name="line-287"></a><span class='comment'>-- that was inserted for indentation and readability.</span>
-<a name="line-288"></a><span class='comment'>-- whitespace is only removed at places, where it's not significat</span>
-<a name="line-289"></a><span class='comment'>-- preserving whitespace may be controlled in a document tree</span>
-<a name="line-290"></a><span class='comment'>-- by a tag attribute @xml:space@</span>
-<a name="line-291"></a><span class='comment'>--</span>
-<a name="line-292"></a><span class='comment'>-- allowed values for this attribute are @default | preserve@</span>
-<a name="line-293"></a><span class='comment'>--</span>
-<a name="line-294"></a><span class='comment'>-- input is root node of the document to be cleaned up</span>
-<a name="line-295"></a><span class='comment'>-- output the semantically equivalent simplified tree</span>
-<a name="line-296"></a><span class='comment'>--</span>
-<a name="line-297"></a><span class='comment'>--</span>
-<a name="line-298"></a><span class='comment'>-- see also : 'indentDoc', 'removeAllWhiteSpace'</span>
-<a name="line-299"></a>
-<a name="line-300"></a><a name="removeDocWhiteSpace"></a><span class='definition'>removeDocWhiteSpace</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-301"></a><span class='definition'>removeDocWhiteSpace</span>
-<a name="line-302"></a>    <span class='keyglyph'>=</span>  <span class='varid'>processChildren</span> <span class='varid'>processRootElement</span>
-<a name="line-303"></a>      <span class='varop'>`when`</span>
-<a name="line-304"></a>      <span class='varid'>isRoot</span>
-<a name="line-305"></a>      <span class='keyword'>where</span>
-<a name="line-306"></a>      <span class='varid'>processRootElement</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-307"></a>      <span class='varid'>processRootElement</span>
-<a name="line-308"></a>	  <span class='keyglyph'>=</span> <span class='varid'>removeText</span> <span class='varop'>.&gt;</span> <span class='varid'>processChild</span>
-<a name="line-309"></a>	    <span class='keyword'>where</span>
-<a name="line-310"></a>	    <span class='varid'>removeText</span>
-<a name="line-311"></a>		<span class='keyglyph'>=</span> <span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>isWhiteSpace</span>
-<a name="line-312"></a>	    <span class='varid'>processChild</span>
-<a name="line-313"></a>		<span class='keyglyph'>=</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>isXDTD</span>
-<a name="line-314"></a>			   <span class='conop'>:-&gt;</span> <span class='varid'>removeAllWhiteSpace</span>			<span class='comment'>-- whitespace in DTD is redundant</span>
-<a name="line-315"></a>			 <span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-316"></a>			   <span class='conop'>:-&gt;</span> <span class='varid'>modifyChildren</span>				<span class='comment'>-- same strategie as for indentation</span>
-<a name="line-317"></a>			         <span class='layout'>(</span><span class='varid'>indentTrees</span> <span class='varid'>insertNothing</span> <span class='conid'>False</span> <span class='num'>1</span><span class='layout'>)</span>
-<a name="line-318"></a>			 <span class='keyglyph'>]</span>
-<a name="line-319"></a>
-<a name="line-320"></a><a name="indentTrees"></a><span class='definition'>indentTrees</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-321"></a><span class='definition'>indentTrees</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='conid'>[]</span>
-<a name="line-322"></a>    <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-323"></a><span class='definition'>indentTrees</span> <span class='varid'>indentFilter</span> <span class='varid'>preserveSpace</span> <span class='varid'>level</span> <span class='varid'>ts</span>
-<a name="line-324"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>lsf</span> <span class='varop'>$$</span> <span class='varid'>ls</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='varid'>indentRest</span> <span class='varid'>rs</span>
-<a name="line-325"></a>      <span class='keyword'>where</span>
-<a name="line-326"></a>      <span class='layout'>(</span><span class='varid'>ls</span><span class='layout'>,</span> <span class='varid'>rs</span><span class='layout'>)</span>
-<a name="line-327"></a>	  <span class='keyglyph'>=</span> <span class='varid'>break</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='varid'>isXTag</span><span class='layout'>)</span> <span class='varid'>ts</span>
-<a name="line-328"></a>
-<a name="line-329"></a>      <span class='varid'>isSignificant</span>	<span class='keyglyph'>::</span> <span class='conid'>Bool</span>
-<a name="line-330"></a>      <span class='varid'>isSignificant</span>
-<a name="line-331"></a>	  <span class='keyglyph'>=</span> <span class='varid'>preserveSpace</span>
-<a name="line-332"></a>	    <span class='varop'>||</span>
-<a name="line-333"></a>	    <span class='varid'>any</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='varid'>isSignificantPart</span><span class='layout'>)</span> <span class='varid'>ls</span>
-<a name="line-334"></a>
-<a name="line-335"></a>      <span class='varid'>isSignificantPart</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-336"></a>      <span class='varid'>isSignificantPart</span>
-<a name="line-337"></a>	  <span class='keyglyph'>=</span> <span class='varid'>cat</span> <span class='keyglyph'>[</span> <span class='varid'>isXText</span> <span class='varop'>`guards`</span> <span class='varid'>neg</span> <span class='varid'>isWhiteSpace</span>
-<a name="line-338"></a>		<span class='layout'>,</span> <span class='varid'>isXCdata</span>
-<a name="line-339"></a>		<span class='layout'>,</span> <span class='varid'>isXCharRef</span>
-<a name="line-340"></a>		<span class='layout'>,</span> <span class='varid'>isXEntityRef</span>
-<a name="line-341"></a>		<span class='keyglyph'>]</span>
-<a name="line-342"></a>
-<a name="line-343"></a>      <span class='varid'>lsf</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-344"></a>      <span class='varid'>lsf</span>
-<a name="line-345"></a>	  <span class='keyglyph'>|</span> <span class='varid'>isSignificant</span>
-<a name="line-346"></a>	      <span class='keyglyph'>=</span> <span class='varid'>this</span>
-<a name="line-347"></a>	  <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-348"></a>	      <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>isWhiteSpace</span><span class='layout'>)</span>
-<a name="line-349"></a>                <span class='varop'>.&gt;</span>
-<a name="line-350"></a>                <span class='layout'>(</span><span class='varid'>indentFilter</span> <span class='varid'>level</span> <span class='varop'>+++</span> <span class='varid'>this</span><span class='layout'>)</span>
-<a name="line-351"></a>
-<a name="line-352"></a>      <span class='varid'>indentRest</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlSFilter</span>
-<a name="line-353"></a>
-<a name="line-354"></a>      <span class='varid'>indentRest</span> <span class='conid'>[]</span>
-<a name="line-355"></a>	  <span class='keyglyph'>|</span> <span class='varid'>isSignificant</span>
-<a name="line-356"></a>	      <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-357"></a>	  <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-358"></a>	      <span class='keyglyph'>=</span> <span class='varid'>indentFilter</span> <span class='layout'>(</span><span class='varid'>level</span> <span class='comment'>-</span> <span class='num'>1</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>mkXTextTree</span> <span class='str'>""</span><span class='layout'>)</span>
-<a name="line-359"></a>
-<a name="line-360"></a>      <span class='varid'>indentRest</span> <span class='layout'>(</span><span class='varid'>t'</span><span class='conop'>:</span><span class='varid'>ts'</span><span class='layout'>)</span>
-<a name="line-361"></a>	      <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='layout'>(</span><span class='varid'>modifyChildren</span> <span class='varid'>indentChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>lsf</span><span class='layout'>)</span>
-<a name="line-362"></a>		  <span class='varop'>`when`</span>
-<a name="line-363"></a>                  <span class='varid'>isXTag</span>
-<a name="line-364"></a>		  <span class='varop'>$</span> <span class='varid'>t'</span>
-<a name="line-365"></a>		<span class='layout'>)</span>
-<a name="line-366"></a>                <span class='varop'>++</span>
-<a name="line-367"></a>		<span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>ts'</span>
-<a name="line-368"></a>		  <span class='keyword'>then</span> <span class='varid'>indentRest</span> <span class='varid'>ts'</span>
-<a name="line-369"></a>		  <span class='keyword'>else</span> <span class='varid'>indentTrees</span> <span class='varid'>indentFilter</span> <span class='varid'>preserveSpace</span> <span class='varid'>level</span> <span class='varid'>ts'</span>
-<a name="line-370"></a>		<span class='layout'>)</span>
-<a name="line-371"></a>		<span class='keyword'>where</span>
-<a name="line-372"></a>		<span class='varid'>xmlSpaceAttrName</span>  <span class='keyglyph'>=</span> <span class='str'>"xml:space"</span>
-<a name="line-373"></a>		<span class='varid'>xmlSpaceAttrValue</span> <span class='keyglyph'>=</span> <span class='varid'>valueOf</span> <span class='varid'>xmlSpaceAttrName</span> <span class='varid'>t'</span>
-<a name="line-374"></a>		<span class='varid'>preserveSpace'</span>
-<a name="line-375"></a>		    <span class='keyglyph'>=</span> <span class='varid'>fromMaybe</span> <span class='varid'>preserveSpace</span>
-<a name="line-376"></a>		      <span class='varop'>.</span>
-<a name="line-377"></a>		      <span class='varid'>lookup</span> <span class='varid'>xmlSpaceAttrValue</span>
-<a name="line-378"></a>                      <span class='varop'>$</span> <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='str'>"preserve"</span><span class='layout'>,</span> <span class='conid'>True</span><span class='layout'>)</span>
-<a name="line-379"></a>			<span class='layout'>,</span> <span class='layout'>(</span><span class='str'>"default"</span><span class='layout'>,</span>  <span class='conid'>False</span><span class='layout'>)</span>
-<a name="line-380"></a>			<span class='keyglyph'>]</span>
-<a name="line-381"></a>		<span class='varid'>indentChildren</span>
-<a name="line-382"></a>		    <span class='keyglyph'>|</span> <span class='varid'>all</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='varid'>isWhiteSpace</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>getChildren</span> <span class='varid'>t'</span>
-<a name="line-383"></a>			<span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>none</span> <span class='varop'>$$</span><span class='layout'>)</span>
-<a name="line-384"></a>		    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-385"></a>			<span class='keyglyph'>=</span> <span class='varid'>indentTrees</span> <span class='varid'>indentFilter</span> <span class='varid'>preserveSpace'</span> <span class='layout'>(</span><span class='varid'>level</span> <span class='varop'>+</span> <span class='num'>1</span><span class='layout'>)</span>
-<a name="line-386"></a>
-<a name="line-387"></a><span class='comment'>-- filter for indenting tags</span>
-<a name="line-388"></a>
-<a name="line-389"></a><a name="insertIndentation"></a><span class='definition'>insertIndentation</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-390"></a><span class='definition'>insertIndentation</span> <span class='varid'>indentWidth</span> <span class='varid'>level</span>
-<a name="line-391"></a>    <span class='keyglyph'>=</span> <span class='varid'>txt</span> <span class='layout'>(</span><span class='chr'>'\n'</span> <span class='conop'>:</span> <span class='varid'>replicate</span> <span class='layout'>(</span><span class='varid'>level</span> <span class='varop'>*</span> <span class='varid'>indentWidth</span><span class='layout'>)</span> <span class='chr'>' '</span><span class='layout'>)</span>
-<a name="line-392"></a>
-<a name="line-393"></a><span class='comment'>-- filter for removing all whitespace</span>
-<a name="line-394"></a>
-<a name="line-395"></a><a name="insertNothing"></a><span class='definition'>insertNothing</span>		<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-396"></a><span class='definition'>insertNothing</span> <span class='keyword'>_</span>		<span class='keyglyph'>=</span> <span class='varid'>none</span>
-<a name="line-397"></a>
-<a name="line-398"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-399"></a>
-<a name="line-400"></a><span class='comment'>-- |</span>
-<a name="line-401"></a><span class='comment'>-- escape XmlText,</span>
-<a name="line-402"></a><span class='comment'>-- transform all special XML chars into CharRefs</span>
-<a name="line-403"></a>
-<a name="line-404"></a><a name="escapeString"></a><span class='definition'>escapeString</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Char</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-405"></a><span class='definition'>escapeString</span> <span class='sel'>_isEsc</span> <span class='conid'>[]</span>
-<a name="line-406"></a>    <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-407"></a><span class='definition'>escapeString</span> <span class='varid'>isEsc</span> <span class='layout'>(</span><span class='varid'>c</span><span class='conop'>:</span><span class='varid'>s1</span><span class='layout'>)</span>
-<a name="line-408"></a>    <span class='keyglyph'>|</span> <span class='varid'>isEsc</span> <span class='varid'>c</span>
-<a name="line-409"></a>	<span class='keyglyph'>=</span> <span class='varid'>mkXCharRefTree</span> <span class='layout'>(</span><span class='varid'>fromEnum</span> <span class='varid'>c</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='varid'>escapeString</span> <span class='varid'>isEsc</span> <span class='varid'>s1</span>
-<a name="line-410"></a><span class='definition'>escapeString</span> <span class='varid'>isEsc</span> <span class='varid'>s</span>
-<a name="line-411"></a>    <span class='keyglyph'>=</span> <span class='varid'>mkXTextTree</span> <span class='varid'>s1</span> <span class='conop'>:</span> <span class='varid'>escapeString</span> <span class='varid'>isEsc</span> <span class='varid'>s2</span>
-<a name="line-412"></a>      <span class='keyword'>where</span>
-<a name="line-413"></a>      <span class='layout'>(</span><span class='varid'>s1</span><span class='layout'>,</span> <span class='varid'>s2</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>break</span> <span class='varid'>isEsc</span> <span class='varid'>s</span>
-<a name="line-414"></a>
-<a name="line-415"></a><a name="escapeText"></a><span class='definition'>escapeText</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Char</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-416"></a><span class='definition'>escapeText</span> <span class='varid'>isEsc</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-417"></a>    <span class='keyglyph'>|</span> <span class='varid'>isXTextNode</span> <span class='varid'>n</span>
-<a name="line-418"></a>	<span class='keyglyph'>=</span> <span class='varid'>escapeString</span> <span class='varid'>isEsc</span> <span class='layout'>(</span><span class='varid'>textOfXNode</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-419"></a>
-<a name="line-420"></a><span class='definition'>escapeText</span> <span class='varid'>isEsc</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XCmt</span> <span class='varid'>c</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-421"></a>    <span class='keyglyph'>=</span> <span class='varid'>xcmt</span> <span class='layout'>(</span><span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>escapeString</span> <span class='varid'>isEsc</span> <span class='varop'>$</span> <span class='varid'>c</span><span class='layout'>)</span>
-<a name="line-422"></a>
-<a name="line-423"></a><span class='definition'>escapeText</span> <span class='keyword'>_</span> <span class='varid'>t</span>
-<a name="line-424"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>t</span><span class='keyglyph'>]</span>
-<a name="line-425"></a>
-<a name="line-426"></a><span class='comment'>-- |</span>
-<a name="line-427"></a><span class='comment'>-- convert the special XML chars in a text or comment node</span>
-<a name="line-428"></a><span class='comment'>-- into character references</span>
-<a name="line-429"></a><span class='comment'>--</span>
-<a name="line-430"></a><span class='comment'>-- see also 'escapeXmlDoc'</span>
-<a name="line-431"></a> 
-<a name="line-432"></a><a name="escapeXmlText"></a><span class='definition'>escapeXmlText</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-433"></a><span class='definition'>escapeXmlText</span>		<span class='keyglyph'>=</span> <span class='varid'>escapeText</span> <span class='layout'>(</span><span class='varop'>`elem`</span> <span class='str'>"&lt;&amp;"</span><span class='layout'>)</span>	<span class='comment'>-- no escape for ", ' and &gt; required: XML standard 2.4</span>
-<a name="line-434"></a>
-<a name="line-435"></a><span class='comment'>-- |</span>
-<a name="line-436"></a><span class='comment'>-- convert the special XML chars in an attribute value into</span>
-<a name="line-437"></a><span class='comment'>-- charachter references. Not only the XML specials but also \\n, \\r and \\t are converted</span>
-<a name="line-438"></a><span class='comment'>--</span>
-<a name="line-439"></a><span class='comment'>-- see also: 'escapeXmlDoc', 'escapeXmlText'</span>
-<a name="line-440"></a>
-<a name="line-441"></a><a name="escapeXmlAttrValue"></a><span class='definition'>escapeXmlAttrValue</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-442"></a><span class='definition'>escapeXmlAttrValue</span>	<span class='keyglyph'>=</span> <span class='varid'>escapeText</span> <span class='layout'>(</span><span class='varop'>`elem`</span> <span class='str'>"&lt;&gt;\"\'&amp;\n\r\t"</span><span class='layout'>)</span>
-<a name="line-443"></a>
-<a name="line-444"></a><span class='comment'>-- |</span>
-<a name="line-445"></a><span class='comment'>-- convert the special XML chars \", \&lt;, \&gt;, &amp; and \' in a document to char references,</span>
-<a name="line-446"></a><span class='comment'>-- attribute values are converted with 'escapeXmlAttrValue'</span>
-<a name="line-447"></a><span class='comment'>--</span>
-<a name="line-448"></a><span class='comment'>-- see also: 'escapeXmlText', 'escapeXmlAttrValue'</span>
-<a name="line-449"></a>
-<a name="line-450"></a><a name="escapeXmlDoc"></a><span class='definition'>escapeXmlDoc</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-451"></a><span class='definition'>escapeXmlDoc</span>
-<a name="line-452"></a>    <span class='keyglyph'>=</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>isXTag</span>  <span class='conop'>:-&gt;</span> <span class='layout'>(</span><span class='varid'>processChildren</span> <span class='layout'>(</span><span class='varid'>escapeXmlDoc</span><span class='layout'>)</span>
-<a name="line-453"></a>			    <span class='varop'>.&gt;</span>
-<a name="line-454"></a>			    <span class='varid'>processAttr</span> <span class='varid'>escVal</span>
-<a name="line-455"></a>			   <span class='layout'>)</span>
-<a name="line-456"></a>	     <span class='layout'>,</span> <span class='varid'>isXText</span> <span class='conop'>:-&gt;</span> <span class='varid'>escapeXmlText</span>
-<a name="line-457"></a>	     <span class='comment'>-- , isXCmt  :-&gt; escapeXmlText -- no escape in comments reqired: XML standard 2.4</span>
-<a name="line-458"></a>	     <span class='layout'>,</span> <span class='varid'>isXDTD</span>  <span class='conop'>:-&gt;</span> <span class='varid'>processTopDown</span> <span class='varid'>escDTD</span>
-<a name="line-459"></a>	     <span class='layout'>,</span> <span class='varid'>this</span>    <span class='conop'>:-&gt;</span> <span class='varid'>this</span>
-<a name="line-460"></a>	     <span class='keyglyph'>]</span>
-<a name="line-461"></a>      <span class='keyword'>where</span>
-<a name="line-462"></a>      <span class='varid'>escVal</span>   <span class='keyglyph'>=</span> <span class='varid'>processChildren</span> <span class='varid'>escapeXmlAttrValue</span>
-<a name="line-463"></a>      <span class='varid'>escDTD</span>   <span class='keyglyph'>=</span> <span class='varid'>escVal</span> <span class='varop'>`when`</span> <span class='layout'>(</span><span class='varid'>isEntity</span> <span class='varop'>+++</span> <span class='varid'>isParameterEntity</span><span class='layout'>)</span>
-<a name="line-464"></a>
-<a name="line-465"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-466"></a>
-<a name="line-467"></a><span class='comment'>-- |</span>
-<a name="line-468"></a><span class='comment'>-- convert a document tree into an output string representation</span>
-<a name="line-469"></a><span class='comment'>-- with respect to the output encoding.</span>
-<a name="line-470"></a><span class='comment'>--</span>
-<a name="line-471"></a><span class='comment'>-- The children of the document root are stubstituted by</span>
-<a name="line-472"></a><span class='comment'>-- a single text node for the text representation of the document.</span>
-<a name="line-473"></a><span class='comment'>--</span>
-<a name="line-474"></a><span class='comment'>-- Encoding of the document is performed with respect</span>
-<a name="line-475"></a><span class='comment'>-- to the @output-encoding@ attribute in the root node, or if not present,</span>
-<a name="line-476"></a><span class='comment'>-- of the @encoding@ attribute for the original input encoding.</span>
-<a name="line-477"></a><span class='comment'>-- If the encoding is not specified or not supported, UTF-8 is taken.</span>
-<a name="line-478"></a>
-<a name="line-479"></a><a name="unparseXmlDoc"></a><span class='definition'>unparseXmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-480"></a><span class='definition'>unparseXmlDoc</span> <span class='varid'>n</span>
-<a name="line-481"></a>    <span class='keyglyph'>=</span> <span class='varid'>modifyChildren</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>modifyText</span> <span class='varid'>encFct</span> <span class='varop'>$$</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>xmlTreesToText</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-482"></a>    <span class='keyword'>where</span>
-<a name="line-483"></a>    <span class='varid'>encFct</span> <span class='keyglyph'>=</span> <span class='varid'>fromMaybe</span> <span class='varid'>id</span> <span class='layout'>(</span><span class='varid'>getOutputEncodingFct</span> <span class='layout'>(</span><span class='varid'>encSpec</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-484"></a>
-<a name="line-485"></a><a name="encSpec"></a><span class='definition'>encSpec</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-486"></a><span class='definition'>encSpec</span> <span class='varid'>n</span>
-<a name="line-487"></a>    <span class='keyglyph'>=</span> <span class='varid'>head</span> <span class='varop'>.</span> <span class='varid'>filter</span> <span class='layout'>(</span><span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>null</span><span class='layout'>)</span>
-<a name="line-488"></a>      <span class='varop'>$</span> <span class='keyglyph'>[</span> <span class='varid'>valueOf</span> <span class='varid'>a_output_encoding</span> <span class='varid'>n</span>
-<a name="line-489"></a>	<span class='layout'>,</span> <span class='varid'>valueOf</span> <span class='varid'>a_encoding</span> <span class='varid'>n</span>
-<a name="line-490"></a>	<span class='layout'>,</span> <span class='varid'>utf8</span>
-<a name="line-491"></a>	<span class='keyglyph'>]</span>
-<a name="line-492"></a>
-<a name="line-493"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-494"></a><span class='comment'>--</span>
-<a name="line-495"></a><span class='comment'>-- add or modify a XML directive for a document</span>
-<a name="line-496"></a><span class='comment'>-- for specifying the encoding scheme</span>
-<a name="line-497"></a>
-<a name="line-498"></a><a name="addXmlPiToDoc"></a><span class='definition'>addXmlPiToDoc</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-499"></a><span class='definition'>addXmlPiToDoc</span> <span class='varid'>n</span>
-<a name="line-500"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>modifyChildren</span> <span class='varid'>addX</span>				<span class='comment'>-- add &lt;?xml ...&gt;, if neccessary</span>
-<a name="line-501"></a>	<span class='varop'>`whenNot`</span>
-<a name="line-502"></a>	<span class='layout'>(</span><span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>isPi</span> <span class='varid'>t_xml</span><span class='layout'>)</span>
-<a name="line-503"></a>      <span class='layout'>)</span>
-<a name="line-504"></a>      <span class='varop'>.&gt;</span>
-<a name="line-505"></a>      <span class='varid'>processChildren</span> <span class='layout'>(</span> <span class='varid'>addAttr</span> <span class='varid'>a_encoding</span> <span class='varid'>enc</span>		<span class='comment'>-- set or replace encoding="..."</span>
-<a name="line-506"></a>			<span class='varop'>`when`</span>
-<a name="line-507"></a>			<span class='varid'>isPi</span> <span class='varid'>t_xml</span>
-<a name="line-508"></a>		      <span class='layout'>)</span>
-<a name="line-509"></a>      <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-510"></a>    <span class='keyword'>where</span>
-<a name="line-511"></a>    <span class='varid'>enc</span> <span class='keyglyph'>=</span> <span class='varid'>encSpec</span> <span class='varid'>n</span>
-<a name="line-512"></a>    <span class='varid'>addX</span> <span class='varid'>cs</span> <span class='keyglyph'>=</span> <span class='varid'>mkXmlDeclTree</span> <span class='layout'>(</span><span class='varid'>xattr</span> <span class='varid'>a_version</span> <span class='str'>"1.0"</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='varid'>xtext</span> <span class='str'>"\n"</span> <span class='varop'>++</span> <span class='varid'>cs</span>
-<a name="line-513"></a>
-<a name="line-514"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-515"></a>
-<a name="line-516"></a><span class='comment'>-- |</span>
-<a name="line-517"></a><span class='comment'>-- convert a document into a text and add line numbers to the text representation.</span>
-<a name="line-518"></a><span class='comment'>-- </span>
-<a name="line-519"></a><span class='comment'>-- Result is a root node with a single text node as child.</span>
-<a name="line-520"></a><span class='comment'>-- Useful for debugging and trace output.</span>
-<a name="line-521"></a><span class='comment'>-- see also : 'haskellRepOfXmlDoc', 'treeRepOfXmlDoc'</span>
-<a name="line-522"></a>
-<a name="line-523"></a><a name="numberLinesInXmlDoc"></a><span class='definition'>numberLinesInXmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-524"></a><span class='definition'>numberLinesInXmlDoc</span>
-<a name="line-525"></a>    <span class='keyglyph'>=</span> <span class='varid'>modifyChildren</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>modifyText</span> <span class='varid'>numberLines</span> <span class='varop'>$$</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>xmlTreesToText</span><span class='layout'>)</span>
-<a name="line-526"></a>
-<a name="line-527"></a><a name="numberLines"></a><span class='definition'>numberLines</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-528"></a><span class='definition'>numberLines</span> <span class='varid'>str</span>
-<a name="line-529"></a>    <span class='keyglyph'>=</span> <span class='varid'>concat</span> <span class='varop'>$</span>
-<a name="line-530"></a>      <span class='varid'>zipWith</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='varid'>l</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>lineNr</span> <span class='varid'>n</span> <span class='varop'>++</span> <span class='varid'>l</span> <span class='varop'>++</span> <span class='str'>"\n"</span><span class='layout'>)</span> <span class='keyglyph'>[</span><span class='num'>1</span><span class='keyglyph'>..</span><span class='keyglyph'>]</span> <span class='layout'>(</span><span class='varid'>lines</span> <span class='varid'>str</span><span class='layout'>)</span>
-<a name="line-531"></a>      <span class='keyword'>where</span>
-<a name="line-532"></a>      <span class='varid'>lineNr</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-533"></a>      <span class='varid'>lineNr</span> <span class='varid'>n</span>	<span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>reverse</span> <span class='layout'>(</span><span class='varid'>take</span> <span class='num'>6</span><span class='layout'>(</span><span class='varid'>reverse</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='varid'>replicate</span> <span class='num'>6</span> <span class='chr'>' '</span><span class='layout'>)</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>"  "</span>
-<a name="line-534"></a>
-<a name="line-535"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-536"></a>
-<a name="line-537"></a><span class='comment'>-- |</span>
-<a name="line-538"></a><span class='comment'>-- convert a document into a text representation in tree form.</span>
-<a name="line-539"></a><span class='comment'>--</span>
-<a name="line-540"></a><span class='comment'>-- Useful for debugging and trace output.</span>
-<a name="line-541"></a><span class='comment'>-- see also : 'haskellRepOfXmlDoc', 'numberLinesInXmlDoc'</span>
-<a name="line-542"></a>
-<a name="line-543"></a><a name="treeRepOfXmlDoc"></a><span class='definition'>treeRepOfXmlDoc</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-544"></a><span class='definition'>treeRepOfXmlDoc</span>
-<a name="line-545"></a>    <span class='keyglyph'>=</span> <span class='varid'>rootTag</span> <span class='keyglyph'>[</span><span class='varid'>getAttrl</span><span class='keyglyph'>]</span> <span class='keyglyph'>[</span><span class='varid'>formatXmlContents</span><span class='keyglyph'>]</span>
-<a name="line-546"></a>
-<a name="line-547"></a><span class='comment'>-- |</span>
-<a name="line-548"></a><span class='comment'>-- convert a document into a Haskell representation (with show).</span>
-<a name="line-549"></a><span class='comment'>--</span>
-<a name="line-550"></a><span class='comment'>-- Useful for debugging and trace output.</span>
-<a name="line-551"></a><span class='comment'>-- see also : 'treeRepOfXmlDoc', 'numberLinesInXmlDoc'</span>
-<a name="line-552"></a>
-<a name="line-553"></a><a name="haskellRepOfXmlDoc"></a><span class='definition'>haskellRepOfXmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-554"></a><span class='definition'>haskellRepOfXmlDoc</span> <span class='varid'>n</span>
-<a name="line-555"></a>    <span class='keyglyph'>=</span> <span class='varid'>rootTag</span> <span class='keyglyph'>[</span><span class='varid'>getAttrl</span><span class='keyglyph'>]</span> <span class='keyglyph'>[</span><span class='varid'>txt</span> <span class='varop'>$</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='keyglyph'>]</span> <span class='varid'>n</span>
-<a name="line-556"></a>
-<a name="line-557"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-558"></a>
-<a name="line-559"></a><a name="addHeadlineToXmlDoc"></a><span class='definition'>addHeadlineToXmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-560"></a><span class='definition'>addHeadlineToXmlDoc</span> <span class='varid'>n</span>
-<a name="line-561"></a>    <span class='keyglyph'>=</span> <span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>xtext</span> <span class='varid'>title</span> <span class='varop'>++</span> <span class='varid'>getChildren</span> <span class='varid'>n</span> <span class='varop'>++</span> <span class='varid'>xtext</span> <span class='str'>"\n"</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-562"></a>      <span class='keyword'>where</span>
-<a name="line-563"></a>      <span class='varid'>headline</span>  <span class='keyglyph'>=</span> <span class='str'>"content of: "</span> <span class='varop'>++</span> <span class='varid'>valueOf</span> <span class='varid'>a_source</span> <span class='varid'>n</span>
-<a name="line-564"></a>      <span class='varid'>underline</span> <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='keyglyph'>\</span><span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='chr'>'='</span><span class='layout'>)</span> <span class='varid'>headline</span>
-<a name="line-565"></a>      <span class='varid'>title</span>     <span class='keyglyph'>=</span> <span class='str'>"\n"</span> <span class='varop'>++</span> <span class='varid'>headline</span> <span class='varop'>++</span> <span class='str'>"\n"</span> <span class='varop'>++</span> <span class='varid'>underline</span> <span class='varop'>++</span> <span class='str'>"\n\n"</span>
-<a name="line-566"></a>
-<a name="line-567"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM-Namespace.html b/doc/hxt-filter/src/Text-XML-HXT-DOM-Namespace.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM-Namespace.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- main namespace filter for propagation, checking, tracing and error handling</span>
-<a name="line-3"></a>
-<a name="line-4"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Namespace</span>
-<a name="line-5"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Namespace</span>
-<a name="line-6"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>NamespaceFilter</span>
-<a name="line-7"></a>    <span class='layout'>)</span>
-<a name="line-8"></a><span class='keyword'>where</span>
-<a name="line-9"></a>
-<a name="line-10"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-11"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-12"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>NamespaceFilter</span>
-<a name="line-13"></a>
-<a name="line-14"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-15"></a>    <span class='layout'>(</span> <span class='varid'>traceTree</span>
-<a name="line-16"></a>    <span class='layout'>,</span> <span class='varid'>traceSource</span>
-<a name="line-17"></a>    <span class='layout'>,</span> <span class='varid'>traceMsg</span>
-<a name="line-18"></a>    <span class='layout'>)</span>
-<a name="line-19"></a>
-<a name="line-20"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-21"></a>
-<a name="line-22"></a><span class='comment'>-- |</span>
-<a name="line-23"></a><span class='comment'>-- propagate all namespace declarations, check namespace constraints and issue errors.</span>
-<a name="line-24"></a><span class='comment'>-- If no error was found, result is the unchanged input tree, else the root node \"\/\" with an empty document is returned.</span>
-<a name="line-25"></a><span class='comment'>--</span>
-<a name="line-26"></a><span class='comment'>-- see also : 'propagateNamespaces', 'validateNamespaces'</span>
-<a name="line-27"></a>
-<a name="line-28"></a><a name="propagateAndValidateNamespaces"></a><span class='definition'>propagateAndValidateNamespaces</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-29"></a><span class='definition'>propagateAndValidateNamespaces</span>
-<a name="line-30"></a>    <span class='keyglyph'>=</span> <span class='varid'>traceMsg</span> <span class='num'>2</span> <span class='str'>"propagating namespaces"</span>
-<a name="line-31"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-32"></a>      <span class='varid'>liftMf</span> <span class='varid'>propagateNamespaces</span>
-<a name="line-33"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-34"></a>      <span class='varid'>traceTree</span>
-<a name="line-35"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-36"></a>      <span class='varid'>traceSource</span>
-<a name="line-37"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-38"></a>      <span class='varid'>traceMsg</span> <span class='num'>2</span> <span class='str'>"validating namespaces"</span>
-<a name="line-39"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-40"></a>      <span class='varid'>validate</span>
-<a name="line-41"></a>    <span class='keyword'>where</span>
-<a name="line-42"></a>    <span class='varid'>validate</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-43"></a>    <span class='varid'>validate</span> <span class='varid'>t</span>
-<a name="line-44"></a>	<span class='keyglyph'>=</span> <span class='keyword'>let</span>
-<a name="line-45"></a>	  <span class='varid'>errs</span> <span class='keyglyph'>=</span> <span class='varid'>validateNamespaces</span> <span class='varid'>t</span>
-<a name="line-46"></a>	  <span class='keyword'>in</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>errs</span>
-<a name="line-47"></a>	     <span class='keyword'>then</span> <span class='varid'>thisM</span> <span class='varid'>t</span>
-<a name="line-48"></a>	     <span class='keyword'>else</span> <span class='keyword'>do</span>
-<a name="line-49"></a>		  <span class='varid'>liftF</span> <span class='varid'>this</span> <span class='varop'>$$&lt;</span> <span class='varid'>errs</span>
-<a name="line-50"></a>		  <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>setStatus</span> <span class='varid'>c_err</span> <span class='str'>"namespace propagation"</span> <span class='varid'>t</span><span class='layout'>)</span>
-<a name="line-51"></a>	  
-<a name="line-52"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM-NamespaceFilter.html b/doc/hxt-filter/src/Text-XML-HXT-DOM-NamespaceFilter.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM-NamespaceFilter.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- Namespace filter</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- Namespaces are processed with two main filter, 'propagateNamespaces'</span>
-<a name="line-5"></a><span class='comment'>-- and 'validateNamespaces'.</span>
-<a name="line-6"></a><span class='comment'>--</span>
-<a name="line-7"></a><span class='comment'>-- 'propagateNamespaces' takes a XML tree and</span>
-<a name="line-8"></a><span class='comment'>-- attaches extra namespace info at every tag name and attribute name.</span>
-<a name="line-9"></a><span class='comment'>-- So after processing a tree with 'propagateNamespaces', the access functions</span>
-<a name="line-10"></a><span class='comment'>-- "namespaceOf" and "universalNameOf" deliver the associated namespace (or \"\")</span>
-<a name="line-11"></a><span class='comment'>-- for tag names and attribute names.</span>
-<a name="line-12"></a><span class='comment'>--</span>
-<a name="line-13"></a><span class='comment'>-- 'validateNamespaces' checks whether names are wellformed related to the XML namespace definition.</span>
-<a name="line-14"></a><span class='comment'>-- whether a legal namespace is declared for all prefixes, and whether attribute names are unique</span>
-<a name="line-15"></a><span class='comment'>-- related to universal names.</span>
-<a name="line-16"></a>
-<a name="line-17"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>NamespaceFilter</span>
-<a name="line-18"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>NamespaceFilter</span>
-<a name="line-19"></a>    <span class='layout'>)</span>
-<a name="line-20"></a><span class='keyword'>where</span>
-<a name="line-21"></a>
-<a name="line-22"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-23"></a>
-<a name="line-24"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Util</span>
-<a name="line-25"></a>    <span class='layout'>(</span> <span class='varid'>doubles</span> <span class='layout'>)</span>
-<a name="line-26"></a>
-<a name="line-27"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-28"></a><span class='comment'>--</span>
-<a name="line-29"></a>
-<a name="line-30"></a><span class='comment'>-- |</span>
-<a name="line-31"></a><span class='comment'>-- Type for the namespace association list, used when propagating namespaces by</span>
-<a name="line-32"></a><span class='comment'>-- modifying the 'QName' values in a tree</span>
-<a name="line-33"></a>
-<a name="line-34"></a><a name="NamespaceTable"></a><span class='keyword'>type</span> <span class='conid'>NamespaceTable</span> <span class='keyglyph'>=</span> <span class='conid'>NsEnv</span>
-<a name="line-35"></a>
-<a name="line-36"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-37"></a>
-<a name="line-38"></a><span class='comment'>-- |</span>
-<a name="line-39"></a><span class='comment'>-- propagate all namespace declarations \"xmlns:ns=...\" to all</span>
-<a name="line-40"></a><span class='comment'>-- tag and attribute nodes of a document.</span>
-<a name="line-41"></a><span class='comment'>--</span>
-<a name="line-42"></a><span class='comment'>-- This filter does not check for illegal use of namespaces.</span>
-<a name="line-43"></a><span class='comment'>-- The real work is done by 'propagateNamespaceEnv'.</span>
-<a name="line-44"></a><span class='comment'>--</span>
-<a name="line-45"></a><span class='comment'>-- The filter may be applied repeatedly if neccessary.</span>
-<a name="line-46"></a>
-<a name="line-47"></a><a name="propagateNamespaces"></a><span class='definition'>propagateNamespaces</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-48"></a><span class='definition'>propagateNamespaces</span>	<span class='keyglyph'>=</span> <span class='varid'>propagateNamespaceEnv</span> <span class='varop'>$</span> <span class='varid'>toNsEnv</span> <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='varid'>a_xml</span><span class='layout'>,</span> <span class='varid'>xmlNamespace</span><span class='layout'>)</span><span class='layout'>,</span> <span class='layout'>(</span><span class='varid'>a_xmlns</span><span class='layout'>,</span> <span class='varid'>xmlnsNamespace</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-49"></a>
-<a name="line-50"></a><span class='comment'>-- |</span>
-<a name="line-51"></a><span class='comment'>-- attaches the namespace info given by the namespace table</span>
-<a name="line-52"></a><span class='comment'>-- to a tag node and its attributes and children.</span>
-<a name="line-53"></a>
-<a name="line-54"></a><a name="propagateNamespaceEnv"></a><span class='definition'>propagateNamespaceEnv</span>	<span class='keyglyph'>::</span> <span class='conid'>NamespaceTable</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-55"></a><span class='definition'>propagateNamespaceEnv</span> <span class='varid'>env</span> <span class='varid'>n</span>
-<a name="line-56"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='layout'>(</span> <span class='varid'>processAttr</span> <span class='layout'>(</span><span class='varid'>attachNamespaceUrisToAttr</span> <span class='varid'>newEnv</span><span class='layout'>)</span>
-<a name="line-57"></a>	  <span class='varop'>.&gt;</span>
-<a name="line-58"></a>	  <span class='varid'>processChildren</span> <span class='layout'>(</span><span class='varid'>propagateNamespaceEnv</span> <span class='varid'>newEnv</span><span class='layout'>)</span>
-<a name="line-59"></a>	  <span class='varop'>.&gt;</span>
-<a name="line-60"></a>	  <span class='varid'>modifyQName</span> <span class='layout'>(</span><span class='varid'>setNamespace</span> <span class='varid'>newEnv</span><span class='layout'>)</span>
-<a name="line-61"></a>	<span class='layout'>)</span>
-<a name="line-62"></a>	<span class='varop'>`when`</span>
-<a name="line-63"></a>	<span class='varid'>isXTag</span>
-<a name="line-64"></a>      <span class='layout'>)</span>
-<a name="line-65"></a>      <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-66"></a>    <span class='keyword'>where</span>
-<a name="line-67"></a>    <span class='varid'>nsAttrs</span>	<span class='keyglyph'>=</span> <span class='varid'>getAttrl</span>				<span class='comment'>-- scan all attributes</span>
-<a name="line-68"></a>		  <span class='varop'>.&gt;</span>
-<a name="line-69"></a>		  <span class='varid'>isOfAttr</span> <span class='layout'>(</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>px</span><span class='layout'>,</span> <span class='varid'>lp</span><span class='layout'>)</span>
-<a name="line-70"></a>			     <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>px</span> <span class='varop'>==</span> <span class='varid'>a_xmlns</span>		<span class='comment'>-- check for prefix or whole name is "xmlns"</span>
-<a name="line-71"></a>				 <span class='varop'>&amp;&amp;</span>
-<a name="line-72"></a>				 <span class='varid'>lp</span> <span class='varop'>/=</span> <span class='str'>":"</span>		<span class='comment'>-- check for none empty local part, "xmlns:" is not a legal name</span>
-<a name="line-73"></a>				<span class='layout'>)</span>
-<a name="line-74"></a>			     <span class='layout'>)</span>
-<a name="line-75"></a>			     <span class='varop'>.</span> <span class='varid'>span</span> <span class='layout'>(</span><span class='varop'>/=</span> <span class='chr'>':'</span><span class='layout'>)</span>		<span class='comment'>-- break the name into a pair ("prefix", ":localPart")</span>
-<a name="line-76"></a>			     <span class='varop'>.</span> <span class='varid'>qualifiedName</span>		<span class='comment'>-- select attribute name</span>
-<a name="line-77"></a>			   <span class='layout'>)</span>
-<a name="line-78"></a>		  <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-79"></a>    <span class='varid'>nsDecl</span>	<span class='keyglyph'>=</span> <span class='varid'>zip</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>drop</span> <span class='num'>1</span>			<span class='comment'>-- drop the ":", empty local part represents default name space</span>
-<a name="line-80"></a>			    <span class='varop'>.</span> <span class='varid'>snd</span>			<span class='comment'>-- take the local part with leading ":"</span>
-<a name="line-81"></a>			    <span class='varop'>.</span> <span class='varid'>span</span> <span class='layout'>(</span><span class='varop'>/=</span> <span class='chr'>':'</span><span class='layout'>)</span>		<span class='comment'>-- break it like above</span>
-<a name="line-82"></a>			    <span class='varop'>.</span> <span class='varid'>nameOf</span>			<span class='comment'>-- select attribute name</span>
-<a name="line-83"></a>			   <span class='layout'>)</span> <span class='varid'>nsAttrs</span><span class='layout'>)</span>
-<a name="line-84"></a>		      <span class='layout'>(</span><span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>xshow</span>
-<a name="line-85"></a>			    <span class='varop'>.</span>
-<a name="line-86"></a>			    <span class='varid'>getChildren</span>
-<a name="line-87"></a>			   <span class='layout'>)</span> <span class='varid'>nsAttrs</span><span class='layout'>)</span>
-<a name="line-88"></a>    <span class='varid'>newEnv</span>	<span class='keyglyph'>=</span> <span class='varid'>addEntries</span> <span class='layout'>(</span><span class='varid'>toNsEnv</span> <span class='varid'>nsDecl</span><span class='layout'>)</span> <span class='varid'>env</span>
-<a name="line-89"></a>
-<a name="line-90"></a>    <span class='varid'>attachNamespaceUrisToAttr</span>	<span class='keyglyph'>::</span> <span class='conid'>NamespaceTable</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-91"></a>    <span class='varid'>attachNamespaceUrisToAttr</span> <span class='varid'>attrEnv</span>
-<a name="line-92"></a>	<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>isOfAttr</span> <span class='layout'>(</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>px</span><span class='layout'>,</span> <span class='varid'>lp</span><span class='layout'>)</span>
-<a name="line-93"></a>			<span class='keyglyph'>-&gt;</span> <span class='layout'>(</span> <span class='layout'>(</span><span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>null</span> <span class='varop'>.</span> <span class='varid'>drop</span> <span class='num'>1</span><span class='layout'>)</span> <span class='varid'>lp</span>	<span class='comment'>-- prefix and local part must not be empty</span>
-<a name="line-94"></a>			     <span class='varop'>&amp;&amp;</span>
-<a name="line-95"></a>			     <span class='layout'>(</span><span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>null</span><span class='layout'>)</span> <span class='varid'>px</span>
-<a name="line-96"></a>			   <span class='layout'>)</span>
-<a name="line-97"></a>		       <span class='layout'>)</span>
-<a name="line-98"></a>		       <span class='varop'>.</span> <span class='varid'>span</span> <span class='layout'>(</span><span class='varop'>/=</span> <span class='chr'>':'</span><span class='layout'>)</span>			<span class='comment'>-- break the name into a pair ("prefix", ":localPart")</span>
-<a name="line-99"></a>		       <span class='varop'>.</span> <span class='varid'>qualifiedName</span>			<span class='comment'>-- select attribute name</span>
-<a name="line-100"></a>		     <span class='layout'>)</span>
-<a name="line-101"></a>	    <span class='varop'>`guards`</span>
-<a name="line-102"></a>	    <span class='varid'>modifyQName</span> <span class='layout'>(</span><span class='varid'>setNamespace</span> <span class='varid'>attrEnv</span><span class='layout'>)</span>
-<a name="line-103"></a>	  <span class='layout'>)</span>
-<a name="line-104"></a>          <span class='varop'>`orElse`</span>
-<a name="line-105"></a>	  <span class='layout'>(</span> <span class='varid'>modifyQName</span> <span class='layout'>(</span><span class='varid'>const</span> <span class='varid'>xmlnsQN</span><span class='layout'>)</span>			<span class='comment'>-- "xmlns" ist the only attr name without prefix but with an associated namespace URI</span>
-<a name="line-106"></a>	    <span class='varop'>`when`</span>
-<a name="line-107"></a>	    <span class='varid'>isAttr</span> <span class='varid'>a_xmlns</span>
-<a name="line-108"></a>	  <span class='layout'>)</span>
-<a name="line-109"></a>
-<a name="line-110"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-111"></a>
-<a name="line-112"></a><span class='comment'>-- |</span>
-<a name="line-113"></a><span class='comment'>-- validate the namespace constraints in a whole tree.</span>
-<a name="line-114"></a><span class='comment'>-- result is the list of errors concerning namespaces.</span>
-<a name="line-115"></a><span class='comment'>-- Work is done by applying 'validate1Namespaces' to all nodes.</span>
-<a name="line-116"></a><span class='comment'>-- Predicates 'isWellformedQName', 'isWellformedQualifiedName', 'isDeclaredNamespace'</span>
-<a name="line-117"></a><span class='comment'>-- and 'isWellformedNSDecl' are applied to the appropriate tags and attributes.</span>
-<a name="line-118"></a>
-<a name="line-119"></a><a name="validateNamespaces"></a><span class='definition'>validateNamespaces</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-120"></a><span class='definition'>validateNamespaces</span>
-<a name="line-121"></a>    <span class='keyglyph'>=</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>isRoot</span>
-<a name="line-122"></a>               <span class='conop'>:-&gt;</span> <span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>validateNamespaces</span>		<span class='comment'>-- root is correct by definition</span>
-<a name="line-123"></a>	     <span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-124"></a>	       <span class='conop'>:-&gt;</span> <span class='varid'>multi</span> <span class='varid'>validate1Namespaces</span>
-<a name="line-125"></a>	     <span class='keyglyph'>]</span>
-<a name="line-126"></a>
-<a name="line-127"></a><span class='comment'>-- |</span>
-<a name="line-128"></a><span class='comment'>-- a single node for namespace constrains.</span>
-<a name="line-129"></a>
-<a name="line-130"></a><a name="validate1Namespaces"></a><span class='definition'>validate1Namespaces</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-131"></a><span class='definition'>validate1Namespaces</span>
-<a name="line-132"></a>    <span class='keyglyph'>=</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>isXTag</span>
-<a name="line-133"></a>	       <span class='conop'>:-&gt;</span>
-<a name="line-134"></a>	       <span class='varid'>cat</span> <span class='keyglyph'>[</span> <span class='varid'>isOfTag</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isWellformedQName</span> <span class='layout'>)</span>
-<a name="line-135"></a>		     <span class='varop'>`guards`</span>
-<a name="line-136"></a>		     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"tag name "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>nameOf</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" is not a wellformed qualified name"</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-137"></a>
-<a name="line-138"></a>		   <span class='layout'>,</span> <span class='varid'>isOfTag</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isDeclaredNamespace</span> <span class='layout'>)</span>
-<a name="line-139"></a>		     <span class='varop'>`guards`</span>
-<a name="line-140"></a>		     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"namespace for prefix in tag name "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>nameOf</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" is undefined"</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-141"></a>
-<a name="line-142"></a>                   <span class='layout'>,</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span> <span class='keyword'>let</span>
-<a name="line-143"></a>		               <span class='varid'>dbls</span> <span class='keyglyph'>=</span> <span class='varid'>doubles</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>map</span> <span class='varid'>universalNameOf</span> <span class='varop'>.</span> <span class='varid'>getAttrl</span><span class='layout'>)</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-144"></a>		               <span class='keyword'>in</span>
-<a name="line-145"></a>		               <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>dbls</span>
-<a name="line-146"></a>		               <span class='keyword'>then</span> <span class='varid'>none</span>
-<a name="line-147"></a>                               <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span> <span class='str'>"multiple occurences of universal names for attributes of tag "</span>
-<a name="line-148"></a>					  <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>nameOf</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-149"></a>					  <span class='varop'>++</span> <span class='str'>" : "</span> <span class='varop'>++</span> <span class='varid'>foldr1</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>x</span> <span class='varid'>y</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>x</span> <span class='varop'>++</span> <span class='str'>", "</span> <span class='varop'>++</span> <span class='varid'>y</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='varid'>show</span> <span class='varid'>dbls</span><span class='layout'>)</span>
-<a name="line-150"></a>					<span class='layout'>)</span>
-<a name="line-151"></a>			     <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-152"></a>		     <span class='layout'>)</span>
-<a name="line-153"></a>
-<a name="line-154"></a>		   <span class='layout'>,</span> <span class='varid'>getAttrl</span> <span class='varop'>.&gt;</span> <span class='varid'>validate1Namespaces</span>
-<a name="line-155"></a>		   <span class='keyglyph'>]</span>
-<a name="line-156"></a>
-<a name="line-157"></a>	     <span class='layout'>,</span> <span class='varid'>isXAttr</span>
-<a name="line-158"></a>	       <span class='conop'>:-&gt;</span>
-<a name="line-159"></a>	       <span class='varid'>cat</span> <span class='keyglyph'>[</span> <span class='varid'>isOfAttr</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isWellformedQName</span> <span class='layout'>)</span>
-<a name="line-160"></a>		     <span class='varop'>`guards`</span>
-<a name="line-161"></a>		     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"attribute name "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>nameOf</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" is not a wellformed qualified name"</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-162"></a>
-<a name="line-163"></a>		   <span class='layout'>,</span> <span class='varid'>isOfAttr</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isDeclaredNamespace</span> <span class='layout'>)</span>
-<a name="line-164"></a>	             <span class='varop'>`guards`</span>
-<a name="line-165"></a>		     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"namespace for prefix in attribute name "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>nameOf</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" is undefined"</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-166"></a>
-<a name="line-167"></a>                   <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>hasPrefix</span> <span class='varid'>a_xmlns</span> <span class='varop'>.&gt;</span> <span class='varid'>neg</span> <span class='layout'>(</span><span class='varid'>xmlTreesToText</span> <span class='varop'>.</span> <span class='varid'>getChildren</span><span class='layout'>)</span> <span class='layout'>)</span>
-<a name="line-168"></a>		     <span class='varop'>`guards`</span>
-<a name="line-169"></a>		     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"namespace value of namespace declaration for "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>nameOf</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" has no value"</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-170"></a>
-<a name="line-171"></a>                   <span class='layout'>,</span> <span class='varid'>isOfAttr</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isWellformedNSDecl</span> <span class='layout'>)</span>
-<a name="line-172"></a>		     <span class='varop'>`guards`</span>
-<a name="line-173"></a>		     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"illegal namespace declaration with reserved prefix "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>localPartOf</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" starting with \"xml\""</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-174"></a>	           <span class='keyglyph'>]</span>
-<a name="line-175"></a>
-<a name="line-176"></a>             <span class='layout'>,</span> <span class='varid'>isXDTD</span>
-<a name="line-177"></a>	       <span class='conop'>:-&gt;</span>
-<a name="line-178"></a>	       <span class='varid'>cat</span> <span class='keyglyph'>[</span> <span class='layout'>(</span> <span class='layout'>(</span> <span class='varid'>isDoctype</span> <span class='varop'>+++</span> <span class='varid'>isAttlist</span> <span class='varop'>+++</span> <span class='varid'>isElement</span> <span class='varop'>+++</span> <span class='varid'>isDTDName</span> <span class='layout'>)</span>
-<a name="line-179"></a>		       <span class='varop'>.&gt;</span>
-<a name="line-180"></a>		       <span class='varid'>isOf</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isWellformedQualifiedName</span> <span class='varop'>.</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_name</span> <span class='layout'>)</span>
-<a name="line-181"></a>		     <span class='layout'>)</span>
-<a name="line-182"></a>		     <span class='varop'>`guards`</span>
-<a name="line-183"></a>                     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"a DTD part contains a not wellformed qualified Name: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>valueOfDTD</span> <span class='varid'>a_name</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-184"></a>
-<a name="line-185"></a>		   <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>isAttlist</span>
-<a name="line-186"></a>		       <span class='varop'>.&gt;</span>
-<a name="line-187"></a>		       <span class='varid'>isOf</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isWellformedQualifiedName</span> <span class='varop'>.</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_value</span> <span class='layout'>)</span>
-<a name="line-188"></a>		     <span class='layout'>)</span>
-<a name="line-189"></a>		     <span class='varop'>`guards`</span>
-<a name="line-190"></a>                     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"an ATTLIST declaration contains as attribute name a not wellformed qualified Name: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>valueOfDTD</span> <span class='varid'>a_value</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-191"></a>
-<a name="line-192"></a>                   <span class='layout'>,</span> <span class='layout'>(</span> <span class='layout'>(</span> <span class='varid'>isEntity</span> <span class='varop'>+++</span> <span class='varid'>isParameterEntity</span> <span class='varop'>+++</span> <span class='varid'>isNotation</span> <span class='layout'>)</span>
-<a name="line-193"></a>		       <span class='varop'>.&gt;</span>
-<a name="line-194"></a>		       <span class='varid'>isOf</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isNCName</span> <span class='varop'>.</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_name</span> <span class='layout'>)</span>
-<a name="line-195"></a>		     <span class='layout'>)</span>
-<a name="line-196"></a>                     <span class='varop'>`guards`</span>
-<a name="line-197"></a>                     <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"an entity or notation declaration contains a not wellformed NCName: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>valueOfDTD</span> <span class='varid'>a_name</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-198"></a>		   <span class='keyglyph'>]</span>
-<a name="line-199"></a>             <span class='layout'>,</span> <span class='varid'>isXPi</span>
-<a name="line-200"></a>	       <span class='conop'>:-&gt;</span>
-<a name="line-201"></a>	       <span class='layout'>(</span> <span class='varid'>isOf</span> <span class='layout'>(</span> <span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>isNCName</span> <span class='varop'>.</span> <span class='varid'>nameOf</span> <span class='layout'>)</span>
-<a name="line-202"></a>	         <span class='varop'>`guards`</span>
-<a name="line-203"></a>                 <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"a PI contains a not wellformed NCName: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>nameOf</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>n</span> <span class='layout'>)</span>
-<a name="line-204"></a>	       <span class='layout'>)</span>
-<a name="line-205"></a>	     <span class='keyglyph'>]</span>
-<a name="line-206"></a>
-<a name="line-207"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-208"></a>
-<a name="line-209"></a><a name="isNamespaceDecl"></a><span class='definition'>isNamespaceDecl</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-210"></a><span class='definition'>isNamespaceDecl</span>
-<a name="line-211"></a>    <span class='keyglyph'>=</span> <span class='varid'>isOfAttr</span> <span class='varid'>xmlnsName</span>
-<a name="line-212"></a>      <span class='keyword'>where</span>
-<a name="line-213"></a>      <span class='varid'>xmlnsName</span>	<span class='keyglyph'>::</span> <span class='conid'>AttrName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-214"></a>      <span class='varid'>xmlnsName</span> <span class='varid'>a</span>
-<a name="line-215"></a>	  <span class='keyglyph'>=</span> <span class='varid'>px</span> <span class='varop'>==</span> <span class='varid'>a_xmlns</span>
-<a name="line-216"></a>	    <span class='varop'>&amp;&amp;</span>
-<a name="line-217"></a>	    <span class='layout'>(</span> <span class='varid'>null</span> <span class='varid'>ln</span> <span class='varop'>||</span> <span class='varid'>head</span> <span class='varid'>ln</span> <span class='varop'>==</span> <span class='chr'>':'</span><span class='layout'>)</span>
-<a name="line-218"></a>	  <span class='keyword'>where</span>
-<a name="line-219"></a>	  <span class='layout'>(</span><span class='varid'>px</span><span class='layout'>,</span> <span class='varid'>ln</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>splitAt</span> <span class='num'>5</span> <span class='varop'>.</span> <span class='varid'>qualifiedName</span> <span class='varop'>$</span> <span class='varid'>a</span>
-<a name="line-220"></a>
-<a name="line-221"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlState.html b/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlState.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlState.html
+++ /dev/null
@@ -1,697 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This module provides a Monad for an internal state and IO commands.</span>
-<a name="line-3"></a><span class='comment'>-- The state consists of two parts, the user state and the system state</span>
-<a name="line-4"></a><span class='comment'>-- user state ist a type parameter, the system state is a list</span>
-<a name="line-5"></a><span class='comment'>-- name-value pair. If the user state is not needed, the type parameter</span>
-<a name="line-6"></a><span class='comment'>-- can be instantiated with @()@.</span>
-<a name="line-7"></a><span class='comment'>--</span>
-<a name="line-8"></a><span class='comment'>-- Furthermore there are types for Xml filter working on this monad</span>
-<a name="line-9"></a><span class='comment'>-- and functions for manipulating the state components</span>
-<a name="line-10"></a><span class='comment'>-- and for lifting i\/o commands and XmlFilter to monad filters.</span>
-<a name="line-11"></a><span class='comment'>--</span>
-<a name="line-12"></a><span class='comment'>-- Error reporting functions are also located in this module.</span>
-<a name="line-13"></a>
-<a name="line-14"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-15"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-16"></a>    <span class='layout'>)</span>
-<a name="line-17"></a><span class='keyword'>where</span>
-<a name="line-18"></a>
-<a name="line-19"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-20"></a>
-<a name="line-21"></a><span class='keyword'>import</span> <span class='keyword'>qualified</span> <span class='conid'>Control</span><span class='varop'>.</span><span class='conid'>Monad</span><span class='varop'>.</span><span class='conid'>MonadStateIO</span> <span class='keyword'>as</span> <span class='conid'>MonadStateIO</span>
-<a name="line-22"></a>
-<a name="line-23"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span>
-<a name="line-24"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Maybe</span>
-<a name="line-25"></a>
-<a name="line-26"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='comment'>-- |</span>
-<a name="line-29"></a><span class='comment'>-- The internal system state consists of a list of name-value pairs</span>
-<a name="line-30"></a><span class='comment'>-- of type @(String, XmlTrees)@, so arbitrary lists of trees can be stored.</span>
-<a name="line-31"></a><span class='comment'>-- For options, often only strings are used as values, so a set of access</span>
-<a name="line-32"></a><span class='comment'>-- functions with string values is available</span>
-<a name="line-33"></a><span class='comment'>-- The error handling method can be controlled by an error handler filter,</span>
-<a name="line-34"></a><span class='comment'>-- the default filter issues the errors on stderr</span>
-<a name="line-35"></a>
-<a name="line-36"></a><a name="SysState"></a><span class='keyword'>data</span> <span class='conid'>SysState</span>			<span class='keyglyph'>=</span> <span class='conid'>SysState</span> <span class='layout'>{</span> <span class='varid'>sysStateAttrs</span>		<span class='keyglyph'>::</span> <span class='varop'>!</span> <span class='conid'>SysStateAttrs</span>
-<a name="line-37"></a>					   <span class='layout'>,</span> <span class='varid'>sysStateErrorHandler</span>	<span class='keyglyph'>::</span> <span class='varop'>!</span> <span class='layout'>(</span><span class='conid'>XmlStateFilter</span> <span class='conid'>()</span><span class='layout'>)</span>
-<a name="line-38"></a>					   <span class='layout'>}</span>
-<a name="line-39"></a>
-<a name="line-40"></a><a name="SysStateAttrs"></a><span class='keyword'>type</span> <span class='conid'>SysStateAttrs</span>		<span class='keyglyph'>=</span> <span class='conid'>AssocList</span> <span class='conid'>String</span> <span class='conid'>XmlTrees</span>
-<a name="line-41"></a>
-<a name="line-42"></a><span class='comment'>-- |</span>
-<a name="line-43"></a><span class='comment'>-- The State has a system and a user part</span>
-<a name="line-44"></a><span class='comment'>-- the user state is a type parameter</span>
-<a name="line-45"></a>
-<a name="line-46"></a><a name="XmlState"></a><span class='keyword'>data</span> <span class='conid'>XmlState</span> <span class='varid'>state</span>		<span class='keyglyph'>=</span> <span class='conid'>XmlState</span> <span class='layout'>{</span> <span class='varid'>sysState</span>	<span class='keyglyph'>::</span> <span class='varop'>!</span> <span class='conid'>SysState</span>
-<a name="line-47"></a>					   <span class='layout'>,</span> <span class='varid'>userState</span>	<span class='keyglyph'>::</span> <span class='varop'>!</span> <span class='varid'>state</span>
-<a name="line-48"></a>					   <span class='layout'>}</span>
-<a name="line-49"></a>
-<a name="line-50"></a><span class='comment'>-- |</span>
-<a name="line-51"></a><span class='comment'>-- The monad type for commands. It is an instance of "StateIO" from the</span>
-<a name="line-52"></a><span class='comment'>-- general module "Control.Monad.MonadStateIO".</span>
-<a name="line-53"></a>
-<a name="line-54"></a><a name="XState"></a><span class='keyword'>type</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='varid'>res</span>		<span class='keyglyph'>=</span> <span class='conid'>MonadStateIO</span><span class='varop'>.</span><span class='conid'>StateIO</span> <span class='layout'>(</span><span class='conid'>XmlState</span> <span class='varid'>state</span><span class='layout'>)</span> <span class='varid'>res</span>
-<a name="line-55"></a>
-<a name="line-56"></a><span class='comment'>-- |</span>
-<a name="line-57"></a><span class='comment'>-- The "XmlFilter" type for filters working on a state</span>
-<a name="line-58"></a>
-<a name="line-59"></a><a name="XmlStateFilter"></a><span class='keyword'>type</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>	<span class='keyglyph'>=</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>XmlTrees</span>
-<a name="line-60"></a>
-<a name="line-61"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-62"></a><span class='comment'>--</span>
-<a name="line-63"></a><span class='comment'>-- user defined state</span>
-<a name="line-64"></a><span class='comment'>-- access functions</span>
-<a name="line-65"></a>
-<a name="line-66"></a><span class='comment'>-- |</span>
-<a name="line-67"></a><span class='comment'>-- change the user state</span>
-<a name="line-68"></a><span class='comment'>--</span>
-<a name="line-69"></a><span class='comment'>--    * 1.parameter fct :  the user state change function</span>
-<a name="line-70"></a><span class='comment'>--</span>
-<a name="line-71"></a><span class='comment'>--    - returns : the new state</span>
-<a name="line-72"></a>
-<a name="line-73"></a><a name="changeState"></a><span class='definition'>changeState</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>state</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='varid'>state</span>
-<a name="line-74"></a><span class='definition'>changeState</span> <span class='varid'>f</span>
-<a name="line-75"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-76"></a>      <span class='varid'>ns</span> <span class='keyglyph'>&lt;-</span> <span class='conid'>MonadStateIO</span><span class='varop'>.</span><span class='varid'>changeState</span> <span class='varid'>f'</span>
-<a name="line-77"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>userState</span> <span class='varid'>ns</span><span class='layout'>)</span>
-<a name="line-78"></a>      <span class='keyword'>where</span>
-<a name="line-79"></a>      <span class='varid'>f'</span> <span class='varid'>s</span> <span class='keyglyph'>=</span> <span class='varid'>s</span> <span class='layout'>{</span> <span class='varid'>userState</span> <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='layout'>(</span><span class='varid'>userState</span> <span class='varid'>s</span><span class='layout'>)</span> <span class='layout'>}</span>
-<a name="line-80"></a>
-<a name="line-81"></a><span class='comment'>-- |</span>
-<a name="line-82"></a><span class='comment'>-- set the user state.</span>
-<a name="line-83"></a><span class='comment'>--</span>
-<a name="line-84"></a><span class='comment'>--    * 1.parameter s :  the new state</span>
-<a name="line-85"></a><span class='comment'>--</span>
-<a name="line-86"></a><span class='comment'>--    - returns : the new state</span>
-<a name="line-87"></a>
-<a name="line-88"></a><a name="setState"></a><span class='definition'>setState</span>	<span class='keyglyph'>::</span> <span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='varid'>state</span>
-<a name="line-89"></a><span class='definition'>setState</span> <span class='varid'>s</span>
-<a name="line-90"></a>    <span class='keyglyph'>=</span> <span class='varid'>changeState</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>s</span> <span class='layout'>)</span>
-<a name="line-91"></a>
-<a name="line-92"></a><span class='comment'>-- |</span>
-<a name="line-93"></a><span class='comment'>-- read the user state</span>
-<a name="line-94"></a><span class='comment'>--</span>
-<a name="line-95"></a><span class='comment'>--    - returns : the current state</span>
-<a name="line-96"></a>
-<a name="line-97"></a><a name="getState"></a><span class='definition'>getState</span>	<span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='varid'>state</span>
-<a name="line-98"></a><span class='definition'>getState</span>
-<a name="line-99"></a>    <span class='keyglyph'>=</span> <span class='varid'>changeState</span> <span class='varid'>id</span>
-<a name="line-100"></a>
-<a name="line-101"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-102"></a>
-<a name="line-103"></a><span class='comment'>-- |</span>
-<a name="line-104"></a><span class='comment'>-- change the system part of the state.</span>
-<a name="line-105"></a><span class='comment'>--</span>
-<a name="line-106"></a><span class='comment'>-- see also : 'changeState'</span>
-<a name="line-107"></a>
-<a name="line-108"></a><a name="changeSysState"></a><span class='definition'>changeSysState</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>SysState</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>SysState</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>SysState</span>
-<a name="line-109"></a><span class='definition'>changeSysState</span> <span class='varid'>f</span>
-<a name="line-110"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-111"></a>      <span class='varid'>ns</span> <span class='keyglyph'>&lt;-</span> <span class='conid'>MonadStateIO</span><span class='varop'>.</span><span class='varid'>changeState</span> <span class='varid'>f'</span>
-<a name="line-112"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>sysState</span> <span class='varid'>ns</span><span class='layout'>)</span>
-<a name="line-113"></a>      <span class='keyword'>where</span>
-<a name="line-114"></a>      <span class='varid'>f'</span> <span class='varid'>s</span> <span class='keyglyph'>=</span> <span class='varid'>s</span> <span class='layout'>{</span> <span class='varid'>sysState</span> <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='layout'>(</span><span class='varid'>sysState</span> <span class='varid'>s</span><span class='layout'>)</span> <span class='layout'>}</span>
-<a name="line-115"></a>
-<a name="line-116"></a><span class='comment'>-- |</span>
-<a name="line-117"></a><span class='comment'>-- set the system part of the state.</span>
-<a name="line-118"></a><span class='comment'>--</span>
-<a name="line-119"></a><span class='comment'>-- see also : 'setState'</span>
-<a name="line-120"></a>
-<a name="line-121"></a><a name="setSysState"></a><span class='definition'>setSysState</span>		<span class='keyglyph'>::</span> <span class='conid'>SysState</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>SysState</span>
-<a name="line-122"></a><span class='definition'>setSysState</span> <span class='varid'>s</span>
-<a name="line-123"></a>    <span class='keyglyph'>=</span> <span class='varid'>changeSysState</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>s</span> <span class='layout'>)</span>
-<a name="line-124"></a>
-<a name="line-125"></a><span class='comment'>-- |</span>
-<a name="line-126"></a><span class='comment'>-- read the system part of the state.</span>
-<a name="line-127"></a><span class='comment'>--</span>
-<a name="line-128"></a><span class='comment'>-- see also : 'getState'</span>
-<a name="line-129"></a>
-<a name="line-130"></a><a name="getSysState"></a><span class='definition'>getSysState</span>		<span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>SysState</span>
-<a name="line-131"></a><span class='definition'>getSysState</span>
-<a name="line-132"></a>    <span class='keyglyph'>=</span> <span class='varid'>changeSysState</span> <span class='varid'>id</span>
-<a name="line-133"></a>
-<a name="line-134"></a><span class='comment'>-- |</span>
-<a name="line-135"></a><span class='comment'>-- the initial system state</span>
-<a name="line-136"></a><span class='comment'>--</span>
-<a name="line-137"></a><span class='comment'>-- an empty list of attribute value pairs</span>
-<a name="line-138"></a>
-<a name="line-139"></a><a name="initialSysState"></a><span class='definition'>initialSysState</span>		<span class='keyglyph'>::</span> <span class='conid'>SysState</span>
-<a name="line-140"></a><span class='definition'>initialSysState</span>
-<a name="line-141"></a>    <span class='keyglyph'>=</span> <span class='conid'>SysState</span> <span class='layout'>{</span> <span class='varid'>sysStateAttrs</span>        <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-142"></a>	       <span class='layout'>,</span> <span class='varid'>sysStateErrorHandler</span> <span class='keyglyph'>=</span> <span class='varid'>errorMsgToStderr</span>
-<a name="line-143"></a>	       <span class='layout'>}</span>
-<a name="line-144"></a>
-<a name="line-145"></a><span class='comment'>-- |</span>
-<a name="line-146"></a><span class='comment'>-- change the attributes in the system state</span>
-<a name="line-147"></a>
-<a name="line-148"></a><a name="changeSysStateAttrs"></a><span class='definition'>changeSysStateAttrs</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>SysStateAttrs</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>SysStateAttrs</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='conid'>SysState</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>SysState</span><span class='layout'>)</span>
-<a name="line-149"></a><span class='definition'>changeSysStateAttrs</span> <span class='varid'>cf</span> <span class='varid'>sstate</span>
-<a name="line-150"></a>    <span class='keyglyph'>=</span> <span class='varid'>sstate</span> <span class='layout'>{</span> <span class='varid'>sysStateAttrs</span> <span class='keyglyph'>=</span> <span class='varid'>cf</span> <span class='layout'>(</span><span class='varid'>sysStateAttrs</span> <span class='varid'>sstate</span><span class='layout'>)</span> <span class='layout'>}</span>
-<a name="line-151"></a>
-<a name="line-152"></a>
-<a name="line-153"></a><span class='comment'>-- |</span>
-<a name="line-154"></a><span class='comment'>-- set the error message handler</span>
-<a name="line-155"></a>
-<a name="line-156"></a><a name="setSysErrorHandler"></a><span class='definition'>setSysErrorHandler</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='conid'>()</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-157"></a><span class='definition'>setSysErrorHandler</span> <span class='varid'>ehf</span>
-<a name="line-158"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-159"></a>      <span class='varid'>changeSysState</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>s</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>s</span> <span class='layout'>{</span> <span class='varid'>sysStateErrorHandler</span> <span class='keyglyph'>=</span> <span class='varid'>ehf</span> <span class='layout'>}</span><span class='layout'>)</span>
-<a name="line-160"></a>      <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-161"></a>
-<a name="line-162"></a><span class='comment'>-- |</span>
-<a name="line-163"></a><span class='comment'>-- get the error handler</span>
-<a name="line-164"></a>
-<a name="line-165"></a><a name="getSysErrorHandler"></a><span class='definition'>getSysErrorHandler</span>		<span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='layout'>(</span><span class='conid'>XmlStateFilter</span> <span class='conid'>()</span><span class='layout'>)</span>
-<a name="line-166"></a><span class='definition'>getSysErrorHandler</span>
-<a name="line-167"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-168"></a>      <span class='varid'>s</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysState</span>
-<a name="line-169"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>sysStateErrorHandler</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-170"></a>
-<a name="line-171"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-172"></a>
-<a name="line-173"></a><span class='comment'>-- |</span>
-<a name="line-174"></a><span class='comment'>-- set or change a single system parameter.</span>
-<a name="line-175"></a><span class='comment'>--</span>
-<a name="line-176"></a><span class='comment'>--    * 1.parameter name :  the name of the parameter</span>
-<a name="line-177"></a><span class='comment'>--</span>
-<a name="line-178"></a><span class='comment'>--    - 2.parameter value :  the list of associated trees</span>
-<a name="line-179"></a><span class='comment'>--</span>
-<a name="line-180"></a><span class='comment'>--    - returns : nothing</span>
-<a name="line-181"></a><span class='comment'>--</span>
-<a name="line-182"></a><span class='comment'>-- see also : 'setSysParam', 'setSysParamInt'</span>
-<a name="line-183"></a>
-<a name="line-184"></a><a name="setSysParamTree"></a><span class='definition'>setSysParamTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-185"></a><span class='definition'>setSysParamTree</span> <span class='varid'>name</span> <span class='varid'>val</span>
-<a name="line-186"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-187"></a>      <span class='varid'>changeSysState</span> <span class='layout'>(</span><span class='varid'>changeSysStateAttrs</span> <span class='layout'>(</span><span class='varid'>addEntry</span> <span class='varid'>name</span> <span class='varid'>val</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-188"></a>      <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-189"></a>
-<a name="line-190"></a><span class='comment'>-- |</span>
-<a name="line-191"></a><span class='comment'>-- set or change a single system parameter of type string.</span>
-<a name="line-192"></a><span class='comment'>--</span>
-<a name="line-193"></a><span class='comment'>--    * 1.parameter name :  the name of the parameter</span>
-<a name="line-194"></a><span class='comment'>--</span>
-<a name="line-195"></a><span class='comment'>--    - 2.parameter value :  the (new) string value</span>
-<a name="line-196"></a><span class='comment'>--</span>
-<a name="line-197"></a><span class='comment'>--    - returns : nothing</span>
-<a name="line-198"></a><span class='comment'>--</span>
-<a name="line-199"></a><span class='comment'>-- see also : 'setSysParamTree', setSysParamInt</span>
-<a name="line-200"></a>
-<a name="line-201"></a><a name="setSysParam"></a><span class='definition'>setSysParam</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-202"></a><span class='definition'>setSysParam</span> <span class='varid'>name</span> <span class='varid'>val</span>
-<a name="line-203"></a>    <span class='keyglyph'>=</span> <span class='varid'>setSysParamTree</span> <span class='varid'>name</span> <span class='layout'>(</span><span class='varid'>xtext</span> <span class='varid'>val</span><span class='layout'>)</span>
-<a name="line-204"></a>
-<a name="line-205"></a><span class='comment'>-- |</span>
-<a name="line-206"></a><span class='comment'>-- set or change a single integer type system parameter</span>
-<a name="line-207"></a><span class='comment'>--</span>
-<a name="line-208"></a><span class='comment'>-- see also : 'setSysParam'</span>
-<a name="line-209"></a>
-<a name="line-210"></a><a name="setSysParamInt"></a><span class='definition'>setSysParamInt</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-211"></a><span class='definition'>setSysParamInt</span> <span class='varid'>name</span> <span class='varid'>val</span>	<span class='keyglyph'>=</span> <span class='varid'>setSysParam</span> <span class='varid'>name</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varid'>val</span><span class='layout'>)</span>
-<a name="line-212"></a>
-<a name="line-213"></a><span class='comment'>-- |</span>
-<a name="line-214"></a><span class='comment'>-- add (or change) all attributes of the document root to the system state</span>
-<a name="line-215"></a><span class='comment'>--     - returns : this</span>
-<a name="line-216"></a>
-<a name="line-217"></a><a name="setSystemParams"></a><span class='definition'>setSystemParams</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-218"></a><span class='definition'>setSystemParams</span> <span class='varid'>t</span>
-<a name="line-219"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-220"></a>      <span class='varid'>changeSysState</span> <span class='layout'>(</span><span class='varid'>changeSysStateAttrs</span> <span class='layout'>(</span><span class='varid'>addEntries</span> <span class='layout'>(</span><span class='varid'>toTreel</span> <span class='varop'>.</span> <span class='varid'>getAttrl</span> <span class='varop'>$</span> <span class='varid'>t</span><span class='layout'>)</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-221"></a>      <span class='varid'>thisM</span> <span class='varid'>t</span>
-<a name="line-222"></a>
-<a name="line-223"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-224"></a>
-<a name="line-225"></a><span class='comment'>-- |</span>
-<a name="line-226"></a><span class='comment'>-- read a system parameter</span>
-<a name="line-227"></a><span class='comment'>--</span>
-<a name="line-228"></a><span class='comment'>--    * 1.parameter name :  the name of the parameter</span>
-<a name="line-229"></a><span class='comment'>--</span>
-<a name="line-230"></a><span class='comment'>--    - returns : the list of tres associated with the key, or the empty list for unknown parameters</span>
-<a name="line-231"></a>
-<a name="line-232"></a><a name="getSysParamTree"></a><span class='definition'>getSysParamTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>XmlTrees</span>
-<a name="line-233"></a><span class='definition'>getSysParamTree</span> <span class='varid'>name</span>
-<a name="line-234"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-235"></a>      <span class='varid'>s</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysState</span>
-<a name="line-236"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>lookup1</span> <span class='varid'>name</span> <span class='layout'>(</span><span class='varid'>sysStateAttrs</span> <span class='varid'>s</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-237"></a>
-<a name="line-238"></a><span class='comment'>-- |</span>
-<a name="line-239"></a><span class='comment'>-- read a system string parameter</span>
-<a name="line-240"></a><span class='comment'>--</span>
-<a name="line-241"></a><span class='comment'>--    * 1.parameter name :  the name of the parameter</span>
-<a name="line-242"></a><span class='comment'>--</span>
-<a name="line-243"></a><span class='comment'>--    - returns : the value, or the empty string for unknown parameters</span>
-<a name="line-244"></a>
-<a name="line-245"></a><a name="getSysParam"></a><span class='definition'>getSysParam</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>String</span>
-<a name="line-246"></a><span class='definition'>getSysParam</span> <span class='varid'>name</span>
-<a name="line-247"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-248"></a>      <span class='varid'>ts</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParamTree</span> <span class='varid'>name</span>
-<a name="line-249"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>xshow</span> <span class='varid'>ts</span><span class='layout'>)</span>
-<a name="line-250"></a>
-<a name="line-251"></a><span class='comment'>-- |</span>
-<a name="line-252"></a><span class='comment'>-- read a system parameter or return a default value</span>
-<a name="line-253"></a><span class='comment'>--</span>
-<a name="line-254"></a><span class='comment'>--    * 1.parameter name :  the name of the parameter</span>
-<a name="line-255"></a><span class='comment'>--</span>
-<a name="line-256"></a><span class='comment'>--    - 2.parameter default :  the default value</span>
-<a name="line-257"></a><span class='comment'>--</span>
-<a name="line-258"></a><span class='comment'>--    - returns : the value if found, else the default</span>
-<a name="line-259"></a>
-<a name="line-260"></a><a name="getSysParamWithDefault"></a><span class='definition'>getSysParamWithDefault</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>String</span>
-<a name="line-261"></a><span class='definition'>getSysParamWithDefault</span> <span class='varid'>name</span> <span class='varid'>def</span>
-<a name="line-262"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-263"></a>      <span class='varid'>val</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParam</span> <span class='varid'>name</span>
-<a name="line-264"></a>      <span class='varid'>return</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>val</span>
-<a name="line-265"></a>	       <span class='keyword'>then</span> <span class='varid'>def</span>
-<a name="line-266"></a>	       <span class='keyword'>else</span> <span class='varid'>val</span>
-<a name="line-267"></a>	     <span class='layout'>)</span>
-<a name="line-268"></a>
-<a name="line-269"></a><span class='comment'>-- |</span>
-<a name="line-270"></a><span class='comment'>-- read an integer system parameter</span>
-<a name="line-271"></a><span class='comment'>--</span>
-<a name="line-272"></a><span class='comment'>--    * 1.parameter name : </span>
-<a name="line-273"></a><span class='comment'>--</span>
-<a name="line-274"></a><span class='comment'>--    - 2.parameter default : </span>
-<a name="line-275"></a><span class='comment'>--</span>
-<a name="line-276"></a><span class='comment'>-- see also : 'getSysParamWithDefault'</span>
-<a name="line-277"></a>
-<a name="line-278"></a><a name="getSysParamInt"></a><span class='definition'>getSysParamInt</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>Int</span>
-<a name="line-279"></a><span class='definition'>getSysParamInt</span> <span class='varid'>var</span> <span class='varid'>def</span>
-<a name="line-280"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-281"></a>      <span class='varid'>val</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParamWithDefault</span> <span class='varid'>var</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varid'>def</span><span class='layout'>)</span>
-<a name="line-282"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>read</span> <span class='varid'>val</span><span class='layout'>)</span>
-<a name="line-283"></a>
-<a name="line-284"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-285"></a>
-<a name="line-286"></a><span class='comment'>-- |</span>
-<a name="line-287"></a><span class='comment'>-- exec a XState command with initial state.</span>
-<a name="line-288"></a><span class='comment'>--</span>
-<a name="line-289"></a><span class='comment'>--    * 1.parameter initalState :  the inital user state</span>
-<a name="line-290"></a><span class='comment'>--</span>
-<a name="line-291"></a><span class='comment'>--    - 2.parameter cmd :  the command</span>
-<a name="line-292"></a><span class='comment'>--</span>
-<a name="line-293"></a><span class='comment'>--    - returns : the i\/o command with result and user state</span>
-<a name="line-294"></a>
-<a name="line-295"></a><a name="run0"></a><span class='definition'>run0</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlState</span> <span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='conid'>XmlState</span> <span class='varid'>state</span><span class='layout'>)</span>
-<a name="line-296"></a><span class='definition'>run0</span> <span class='varid'>initialState</span> <span class='layout'>(</span><span class='conid'>MonadStateIO</span><span class='varop'>.</span><span class='conid'>STIO</span> <span class='varid'>cmd</span><span class='layout'>)</span>
-<a name="line-297"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-298"></a>      <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='varid'>finalState</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>cmd</span> <span class='varid'>initialState</span>
-<a name="line-299"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='varid'>finalState</span><span class='layout'>)</span>
-<a name="line-300"></a>
-<a name="line-301"></a><span class='comment'>-- |</span>
-<a name="line-302"></a><span class='comment'>-- exec a XState command with initial user state.</span>
-<a name="line-303"></a><span class='comment'>-- ignore final user state.</span>
-<a name="line-304"></a><span class='comment'>-- like run0, but ignore the resulting user state</span>
-<a name="line-305"></a>
-<a name="line-306"></a><a name="run"></a><span class='definition'>run</span>		<span class='keyglyph'>::</span> <span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='varid'>res</span>
-<a name="line-307"></a><span class='definition'>run</span> <span class='varid'>initialUserState</span> <span class='varid'>cmd</span>
-<a name="line-308"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-309"></a>      <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='sel'>_finalState</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>run0</span> <span class='layout'>(</span><span class='conid'>XmlState</span> <span class='varid'>initialSysState</span> <span class='varid'>initialUserState</span><span class='layout'>)</span> <span class='varid'>cmd</span>
-<a name="line-310"></a>      <span class='varid'>return</span> <span class='varid'>res</span>
-<a name="line-311"></a>
-<a name="line-312"></a><span class='comment'>-- |</span>
-<a name="line-313"></a><span class='comment'>-- exec a XState command in th IO monad.</span>
-<a name="line-314"></a><span class='comment'>-- like run with the empty state ().</span>
-<a name="line-315"></a>
-<a name="line-316"></a><a name="run'"></a><span class='definition'>run'</span>		<span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='conid'>()</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='varid'>res</span>
-<a name="line-317"></a><span class='definition'>run'</span>		<span class='keyglyph'>=</span> <span class='varid'>run</span> <span class='conid'>()</span>
-<a name="line-318"></a>
-<a name="line-319"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-320"></a>
-<a name="line-321"></a><span class='comment'>-- |</span>
-<a name="line-322"></a><span class='comment'>-- run a command in a new user state.</span>
-<a name="line-323"></a><span class='comment'>-- chain the system state part,</span>
-<a name="line-324"></a><span class='comment'>-- init new system state with the current one, run the command and</span>
-<a name="line-325"></a><span class='comment'>-- update the old system state with the resulting new system state</span>
-<a name="line-326"></a><span class='comment'>--</span>
-<a name="line-327"></a><span class='comment'>--    * 1.parameter initialUserState :  the initial user state</span>
-<a name="line-328"></a><span class='comment'>--</span>
-<a name="line-329"></a><span class='comment'>--    - 2.parameter cmd :  the command</span>
-<a name="line-330"></a><span class='comment'>--</span>
-<a name="line-331"></a><span class='comment'>--    - returns : the result of executing cmd and the final state</span>
-<a name="line-332"></a>
-<a name="line-333"></a><a name="chain'"></a><span class='definition'>chain'</span>		<span class='keyglyph'>::</span> <span class='varid'>state1</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state1</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state0</span> <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='varid'>state1</span><span class='layout'>)</span>
-<a name="line-334"></a><span class='definition'>chain'</span> <span class='varid'>initialUserState1</span> <span class='varid'>cmd1</span>
-<a name="line-335"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-336"></a>      <span class='varid'>sysState0</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysState</span>
-<a name="line-337"></a>      <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='varid'>finalState1</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>run0</span> <span class='layout'>(</span><span class='conid'>XmlState</span> <span class='varid'>sysState0</span> <span class='varid'>initialUserState1</span><span class='layout'>)</span> <span class='varid'>cmd1</span>
-<a name="line-338"></a>      <span class='varid'>setSysState</span> <span class='layout'>(</span><span class='varid'>sysState</span> <span class='varid'>finalState1</span><span class='layout'>)</span>
-<a name="line-339"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='layout'>(</span><span class='varid'>userState</span> <span class='varid'>finalState1</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-340"></a>
-<a name="line-341"></a><span class='comment'>-- |</span>
-<a name="line-342"></a><span class='comment'>-- like chain' but forget the final user state</span>
-<a name="line-343"></a><span class='comment'>--</span>
-<a name="line-344"></a><span class='comment'>--    * 1.parameter initialUserState :  the initial user state</span>
-<a name="line-345"></a><span class='comment'>--</span>
-<a name="line-346"></a><span class='comment'>--    - 2.parameter cmd :  the command</span>
-<a name="line-347"></a><span class='comment'>--</span>
-<a name="line-348"></a><span class='comment'>--    - returns : only the result of executing cmd</span>
-<a name="line-349"></a>
-<a name="line-350"></a><a name="chain"></a><span class='definition'>chain</span>		<span class='keyglyph'>::</span> <span class='varid'>state1</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state1</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state0</span> <span class='varid'>res</span>
-<a name="line-351"></a><span class='definition'>chain</span> <span class='varid'>initialUserState1</span> <span class='varid'>cmd1</span>
-<a name="line-352"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-353"></a>      <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>chain'</span> <span class='varid'>initialUserState1</span> <span class='varid'>cmd1</span>
-<a name="line-354"></a>      <span class='varid'>return</span> <span class='varid'>res</span>
-<a name="line-355"></a>
-<a name="line-356"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-357"></a><span class='comment'>--</span>
-<a name="line-358"></a><span class='comment'>-- lift functions</span>
-<a name="line-359"></a>
-<a name="line-360"></a><span class='comment'>-- |</span>
-<a name="line-361"></a><span class='comment'>-- lift a XmlFilter to a XmlStateFilter filter</span>
-<a name="line-362"></a><span class='comment'>-- issue all error nodes as error messages</span>
-<a name="line-363"></a><span class='comment'>-- and remove the error nodes from the result</span>
-<a name="line-364"></a><span class='comment'>--</span>
-<a name="line-365"></a><span class='comment'>--    * 1.parameter f :  the filter</span>
-<a name="line-366"></a><span class='comment'>--</span>
-<a name="line-367"></a><span class='comment'>--    - returns : the filter running in the state monad</span>
-<a name="line-368"></a><span class='comment'>--</span>
-<a name="line-369"></a><span class='comment'>--		  all errors are filtered from the result and issued on stderr</span>
-<a name="line-370"></a>
-<a name="line-371"></a><a name="liftF"></a><span class='definition'>liftF</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-372"></a><span class='definition'>liftF</span> <span class='varid'>f</span>		<span class='keyglyph'>=</span> <span class='varid'>liftMf</span> <span class='varid'>f</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>issueError</span>
-<a name="line-373"></a>
-<a name="line-374"></a><span class='comment'>-- |</span>
-<a name="line-375"></a><span class='comment'>-- lift an I\/O command</span>
-<a name="line-376"></a><span class='comment'>--</span>
-<a name="line-377"></a><span class='comment'>--    * 1.parameter cmd :  the i\/o command</span>
-<a name="line-378"></a><span class='comment'>--</span>
-<a name="line-379"></a><span class='comment'>--    - returns : the i\/o command lifted to the XML state monad</span>
-<a name="line-380"></a>
-<a name="line-381"></a><a name="io"></a><span class='definition'>io</span>		<span class='keyglyph'>::</span> <span class='conid'>IO</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='varid'>a</span>
-<a name="line-382"></a><span class='definition'>io</span>		<span class='keyglyph'>=</span> <span class='conid'>MonadStateIO</span><span class='varop'>.</span><span class='varid'>io</span>
-<a name="line-383"></a>
-<a name="line-384"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-385"></a><span class='comment'>--</span>
-<a name="line-386"></a>
-<a name="line-387"></a><span class='comment'>-- |</span>
-<a name="line-388"></a><span class='comment'>-- set the trace level.</span>
-<a name="line-389"></a><span class='comment'>--</span>
-<a name="line-390"></a><span class='comment'>-- convention:</span>
-<a name="line-391"></a><span class='comment'>--</span>
-<a name="line-392"></a><span class='comment'>-- 0: no trace output (default)</span>
-<a name="line-393"></a><span class='comment'>--</span>
-<a name="line-394"></a><span class='comment'>-- 1: trace important computation steps, e.g. accessing a document</span>
-<a name="line-395"></a><span class='comment'>--</span>
-<a name="line-396"></a><span class='comment'>-- 2: trace small computation steps</span>
-<a name="line-397"></a><span class='comment'>--</span>
-<a name="line-398"></a><span class='comment'>-- 3: output an intermediate result XmlTree in XML source format</span>
-<a name="line-399"></a><span class='comment'>--</span>
-<a name="line-400"></a><span class='comment'>-- 4: output an intermediate result XmlTree in tree representation</span>
-<a name="line-401"></a><span class='comment'>--</span>
-<a name="line-402"></a><span class='comment'>--    * 1.parameter level :  the trace level</span>
-<a name="line-403"></a><span class='comment'>--</span>
-<a name="line-404"></a><span class='comment'>--    - returns : nothing</span>
-<a name="line-405"></a>
-<a name="line-406"></a><a name="setTraceLevel"></a><span class='definition'>setTraceLevel</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-407"></a><span class='definition'>setTraceLevel</span> <span class='varid'>l</span>	<span class='keyglyph'>=</span> <span class='varid'>setSysParamInt</span> <span class='varid'>a_trace</span> <span class='varid'>l</span>
-<a name="line-408"></a>
-<a name="line-409"></a><span class='comment'>-- |</span>
-<a name="line-410"></a><span class='comment'>-- get the current trace level.</span>
-<a name="line-411"></a><span class='comment'>--</span>
-<a name="line-412"></a><span class='comment'>--    - returns : the current trace level</span>
-<a name="line-413"></a>
-<a name="line-414"></a><a name="getTraceLevel"></a><span class='definition'>getTraceLevel</span>	<span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>Int</span>
-<a name="line-415"></a><span class='definition'>getTraceLevel</span>	<span class='keyglyph'>=</span> <span class='varid'>getSysParamInt</span> <span class='varid'>a_trace</span> <span class='num'>0</span>
-<a name="line-416"></a>
-<a name="line-417"></a><span class='comment'>-- |</span>
-<a name="line-418"></a><span class='comment'>-- trace output for arbitray commands.</span>
-<a name="line-419"></a><span class='comment'>--</span>
-<a name="line-420"></a><span class='comment'>--    * 1.parameter level :  the trace level,</span>
-<a name="line-421"></a><span class='comment'>--			  for which the command will be execuded</span>
-<a name="line-422"></a><span class='comment'>--			  if level \&lt;= current trace level</span>
-<a name="line-423"></a><span class='comment'>--</span>
-<a name="line-424"></a><span class='comment'>--    - 2.parameter cmd :  the command to be executed</span>
-<a name="line-425"></a><span class='comment'>--</span>
-<a name="line-426"></a><span class='comment'>--    - returns : nothing</span>
-<a name="line-427"></a>
-<a name="line-428"></a><a name="traceCmd"></a><span class='definition'>traceCmd</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-429"></a><span class='definition'>traceCmd</span> <span class='varid'>level</span> <span class='varid'>cmd</span>
-<a name="line-430"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-431"></a>      <span class='varid'>trcLevel</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getTraceLevel</span>
-<a name="line-432"></a>      <span class='keyword'>if</span> <span class='varid'>level</span> <span class='varop'>&lt;=</span> <span class='varid'>trcLevel</span>
-<a name="line-433"></a>        <span class='keyword'>then</span> <span class='keyword'>do</span>
-<a name="line-434"></a>	     <span class='keyword'>_</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>cmd</span>
-<a name="line-435"></a>	     <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-436"></a>        <span class='keyword'>else</span> <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-437"></a>
-<a name="line-438"></a><span class='comment'>-- |</span>
-<a name="line-439"></a><span class='comment'>-- trace output function for simple text.</span>
-<a name="line-440"></a><span class='comment'>--</span>
-<a name="line-441"></a><span class='comment'>--    * 1.parameter level :  like in traceCmd</span>
-<a name="line-442"></a><span class='comment'>--</span>
-<a name="line-443"></a><span class='comment'>--    - 2.parameter str :  the test</span>
-<a name="line-444"></a><span class='comment'>--</span>
-<a name="line-445"></a><span class='comment'>--    - returns : nothing</span>
-<a name="line-446"></a>
-<a name="line-447"></a><a name="trace"></a><span class='definition'>trace</span>		<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-448"></a><span class='definition'>trace</span> <span class='varid'>level</span> <span class='varid'>str</span>
-<a name="line-449"></a>    <span class='keyglyph'>=</span> <span class='varid'>traceCmd</span> <span class='varid'>level</span>
-<a name="line-450"></a>      <span class='varop'>$</span> <span class='keyword'>do</span>
-<a name="line-451"></a>	<span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>hPutStrLn</span> <span class='varid'>stderr</span> <span class='layout'>(</span><span class='str'>"-- ("</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>level</span> <span class='varop'>++</span> <span class='str'>") "</span> <span class='varop'>++</span> <span class='varid'>str</span><span class='layout'>)</span>
-<a name="line-452"></a>
-<a name="line-453"></a><span class='comment'>-- |</span>
-<a name="line-454"></a><span class='comment'>-- trace output of the user part of the program state.</span>
-<a name="line-455"></a><span class='comment'>--</span>
-<a name="line-456"></a><span class='comment'>--    * 1.parameter level :  like in traceCmd</span>
-<a name="line-457"></a><span class='comment'>--</span>
-<a name="line-458"></a><span class='comment'>--    - 2.parameter showFct :  the toString function</span>
-<a name="line-459"></a><span class='comment'>--</span>
-<a name="line-460"></a><span class='comment'>--    - returns : nothing</span>
-<a name="line-461"></a>
-<a name="line-462"></a><a name="traceState"></a><span class='definition'>traceState</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-463"></a><span class='definition'>traceState</span> <span class='varid'>level</span> <span class='varid'>fct</span>
-<a name="line-464"></a>    <span class='keyglyph'>=</span> <span class='varid'>traceCmd</span> <span class='varid'>level</span>
-<a name="line-465"></a>      <span class='varop'>$</span> <span class='keyword'>do</span>
-<a name="line-466"></a>	<span class='varid'>s</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getState</span>
-<a name="line-467"></a>	<span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>hPutStrLn</span> <span class='varid'>stderr</span> <span class='layout'>(</span><span class='varid'>fct</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-468"></a>
-<a name="line-469"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-470"></a><span class='comment'>--</span>
-<a name="line-471"></a><span class='comment'>-- error functions</span>
-<a name="line-472"></a>
-<a name="line-473"></a><span class='comment'>-- |</span>
-<a name="line-474"></a><span class='comment'>-- filter to reset the state attribute 'a_status'</span>
-<a name="line-475"></a><span class='comment'>--    - returns : this</span>
-<a name="line-476"></a>
-<a name="line-477"></a><a name="clearStatus"></a><span class='definition'>clearStatus</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-478"></a><span class='definition'>clearStatus</span> <span class='varid'>t</span>
-<a name="line-479"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-480"></a>      <span class='varid'>setSysParamInt</span> <span class='varid'>a_status</span> <span class='varid'>c_ok</span>
-<a name="line-481"></a>      <span class='varid'>thisM</span> <span class='varid'>t</span>
-<a name="line-482"></a>
-<a name="line-483"></a><span class='comment'>-- |</span>
-<a name="line-484"></a><span class='comment'>-- report an error message.</span>
-<a name="line-485"></a><span class='comment'>--</span>
-<a name="line-486"></a><span class='comment'>--    - returns : if the input tree n represents an error, @res = []@</span>
-<a name="line-487"></a><span class='comment'>--		  and the error is processed by the errror handler filter (default: error is issued on stderr)</span>
-<a name="line-488"></a><span class='comment'>--		  else @res = [n]@</span>
-<a name="line-489"></a><span class='comment'>--</span>
-<a name="line-490"></a><span class='comment'>-- see also : 'issueErr'</span>
-<a name="line-491"></a>
-<a name="line-492"></a><a name="issueError"></a><span class='definition'>issueError</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-493"></a><span class='definition'>issueError</span>
-<a name="line-494"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>setErrorMsgLevel</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>errorMsgHandler</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>noneM</span><span class='layout'>)</span>
-<a name="line-495"></a>      <span class='varop'>`whenM`</span>
-<a name="line-496"></a>      <span class='varid'>isXError</span>
-<a name="line-497"></a>
-<a name="line-498"></a><a name="errorMsgHandler"></a><span class='definition'>errorMsgHandler</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-499"></a><span class='definition'>errorMsgHandler</span>
-<a name="line-500"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span>
-<a name="line-501"></a>      <span class='layout'>(</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>chain'</span> <span class='conid'>()</span> <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-502"></a>			   <span class='varid'>ehf</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysErrorHandler</span>
-<a name="line-503"></a>			   <span class='varid'>ehf</span> <span class='varid'>t</span>
-<a name="line-504"></a>			   <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-505"></a>			 <span class='layout'>)</span>
-<a name="line-506"></a>      <span class='layout'>)</span>
-<a name="line-507"></a>
-<a name="line-508"></a><span class='comment'>-- |</span>
-<a name="line-509"></a><span class='comment'>-- set the error level in system state</span>
-<a name="line-510"></a>
-<a name="line-511"></a><a name="setErrorMsgLevel"></a><span class='definition'>setErrorMsgLevel</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-512"></a><span class='definition'>setErrorMsgLevel</span>
-<a name="line-513"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span>
-<a name="line-514"></a>      <span class='layout'>(</span> <span class='keyglyph'>\</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XError</span> <span class='varid'>level</span> <span class='sel'>_str</span><span class='layout'>)</span> <span class='sel'>_cs</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-515"></a>	<span class='keyword'>do</span>
-<a name="line-516"></a>	<span class='varid'>errLevel</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParamInt</span> <span class='varid'>a_status</span> <span class='num'>0</span>
-<a name="line-517"></a>	<span class='varid'>setSysParamInt</span> <span class='varid'>a_status</span> <span class='layout'>(</span><span class='varid'>max</span> <span class='varid'>errLevel</span> <span class='varid'>level</span><span class='layout'>)</span>
-<a name="line-518"></a>      <span class='layout'>)</span>
-<a name="line-519"></a>
-<a name="line-520"></a><span class='comment'>-- |</span>
-<a name="line-521"></a><span class='comment'>-- default error handler for writing errors to stderr</span>
-<a name="line-522"></a>
-<a name="line-523"></a><a name="errorMsgToStderr"></a><span class='definition'>errorMsgToStderr</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-524"></a><span class='definition'>errorMsgToStderr</span>
-<a name="line-525"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span>
-<a name="line-526"></a>      <span class='layout'>(</span> <span class='keyglyph'>\</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XError</span> <span class='varid'>level</span> <span class='varid'>str</span><span class='layout'>)</span> <span class='sel'>_cs</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-527"></a>	<span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>hPutStrLn</span> <span class='varid'>stderr</span> <span class='layout'>(</span><span class='str'>"\n"</span> <span class='varop'>++</span> <span class='varid'>errClass</span> <span class='varid'>level</span> <span class='varop'>++</span> <span class='str'>": "</span> <span class='varop'>++</span> <span class='varid'>str</span><span class='layout'>)</span>
-<a name="line-528"></a>      <span class='layout'>)</span>
-<a name="line-529"></a>
-<a name="line-530"></a><span class='comment'>-- |</span>
-<a name="line-531"></a><span class='comment'>-- error message handler for collecting all error messages</span>
-<a name="line-532"></a><span class='comment'>-- all messages are stored under attribute 'a_error_log'</span>
-<a name="line-533"></a><span class='comment'>-- they can be read with @getSysParamTree a_error_log@ or by</span>
-<a name="line-534"></a><span class='comment'>-- applying the filter 'getErrorMsg' to the root node</span>
-<a name="line-535"></a>
-<a name="line-536"></a><a name="errorMsgLogging"></a><span class='definition'>errorMsgLogging</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-537"></a><span class='definition'>errorMsgLogging</span>
-<a name="line-538"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span>
-<a name="line-539"></a>      <span class='layout'>(</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span>
-<a name="line-540"></a>	<span class='keyword'>do</span>
-<a name="line-541"></a>	<span class='varid'>errLog</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParamTree</span> <span class='varid'>a_error_log</span>
-<a name="line-542"></a>	<span class='varid'>setSysParamTree</span> <span class='varid'>a_error_log</span> <span class='layout'>(</span><span class='varid'>t</span> <span class='conop'>:</span> <span class='varid'>errLog</span><span class='layout'>)</span>
-<a name="line-543"></a>      <span class='layout'>)</span>
-<a name="line-544"></a>
-<a name="line-545"></a><a name="errorMsgLoggingAndToStderr"></a><span class='definition'>errorMsgLoggingAndToStderr</span>      <span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-546"></a><span class='definition'>errorMsgLoggingAndToStderr</span>	<span class='keyglyph'>=</span> <span class='varid'>errorMsgLogging</span><span class='varop'>.&gt;&gt;</span> <span class='varid'>errorMsgToStderr</span>
-<a name="line-547"></a>
-<a name="line-548"></a><span class='comment'>-- |</span>
-<a name="line-549"></a><span class='comment'>-- the filter for reading all collected error mesages</span>
-<a name="line-550"></a><span class='comment'>--</span>
-<a name="line-551"></a><span class='comment'>-- result is the list of error messages, the input tree is ignored</span>
-<a name="line-552"></a>
-<a name="line-553"></a><a name="getErrorMsg"></a><span class='definition'>getErrorMsg</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-554"></a><span class='definition'>getErrorMsg</span> <span class='sel'>_t</span>
-<a name="line-555"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-556"></a>      <span class='varid'>el</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParamTree</span> <span class='varid'>a_error_log</span>
-<a name="line-557"></a>      <span class='varid'>setSysParamTree</span> <span class='varid'>a_error_log</span> <span class='conid'>[]</span>
-<a name="line-558"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>reverse</span> <span class='varid'>el</span><span class='layout'>)</span>
-<a name="line-559"></a>
-<a name="line-560"></a><span class='comment'>-- |</span>
-<a name="line-561"></a><span class='comment'>-- error level translation</span>
-<a name="line-562"></a><span class='comment'>-- 'c_warn' (1) : warning,</span>
-<a name="line-563"></a><span class='comment'>-- 'c_err' (2): error (e.g. parse error, validation error, ...),</span>
-<a name="line-564"></a><span class='comment'>-- 'c_fatal' (3) : fatal error (document access error, internal error, ...)</span>
-<a name="line-565"></a>
-<a name="line-566"></a><a name="errClass"></a><span class='definition'>errClass</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-567"></a><span class='definition'>errClass</span> <span class='varid'>l</span>
-<a name="line-568"></a>    <span class='keyglyph'>=</span> <span class='varid'>fromMaybe</span> <span class='str'>"fatal error"</span> <span class='varop'>.</span> <span class='varid'>lookup</span> <span class='varid'>l</span> <span class='varop'>$</span> <span class='varid'>msgList</span>
-<a name="line-569"></a>      <span class='keyword'>where</span>
-<a name="line-570"></a>      <span class='varid'>msgList</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='varid'>c_ok</span><span class='layout'>,</span>	<span class='str'>"no error"</span><span class='layout'>)</span>
-<a name="line-571"></a>		  <span class='layout'>,</span> <span class='layout'>(</span><span class='varid'>c_warn</span><span class='layout'>,</span>	<span class='str'>"warning"</span><span class='layout'>)</span>
-<a name="line-572"></a>		  <span class='layout'>,</span> <span class='layout'>(</span><span class='varid'>c_err</span><span class='layout'>,</span>	<span class='str'>"error"</span><span class='layout'>)</span>
-<a name="line-573"></a>		  <span class='layout'>,</span> <span class='layout'>(</span><span class='varid'>c_fatal</span><span class='layout'>,</span>	<span class='str'>"fatal error"</span><span class='layout'>)</span>
-<a name="line-574"></a>		  <span class='keyglyph'>]</span>
-<a name="line-575"></a>
-<a name="line-576"></a><span class='comment'>-- |</span>
-<a name="line-577"></a><span class='comment'>-- short cut for issuing a warning</span>
-<a name="line-578"></a><span class='comment'>--</span>
-<a name="line-579"></a><span class='comment'>-- see also : 'issueError', 'issueErr'</span>
-<a name="line-580"></a>
-<a name="line-581"></a><a name="issueWarn"></a><span class='definition'>issueWarn</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-582"></a><span class='definition'>issueWarn</span> <span class='varid'>msg</span>	<span class='keyglyph'>=</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>warn</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>issueError</span>
-<a name="line-583"></a>
-<a name="line-584"></a><span class='comment'>-- |</span>
-<a name="line-585"></a><span class='comment'>-- short cut for issuing an error</span>
-<a name="line-586"></a><span class='comment'>--</span>
-<a name="line-587"></a><span class='comment'>-- see also : 'issueError'</span>
-<a name="line-588"></a>
-<a name="line-589"></a><a name="issueErr"></a><span class='definition'>issueErr</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-590"></a><span class='definition'>issueErr</span> <span class='varid'>msg</span>	<span class='keyglyph'>=</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>err</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>issueError</span>
-<a name="line-591"></a>
-<a name="line-592"></a><span class='comment'>-- |</span>
-<a name="line-593"></a><span class='comment'>-- short cut for issuing a fatal error</span>
-<a name="line-594"></a><span class='comment'>--</span>
-<a name="line-595"></a><span class='comment'>-- see also : 'issueError', 'issueErr'</span>
-<a name="line-596"></a>
-<a name="line-597"></a><a name="issueFatal"></a><span class='definition'>issueFatal</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-598"></a><span class='definition'>issueFatal</span> <span class='varid'>msg</span>	<span class='keyglyph'>=</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>fatal</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>issueError</span>
-<a name="line-599"></a>
-<a name="line-600"></a>
-<a name="line-601"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-602"></a><span class='comment'>--</span>
-<a name="line-603"></a><span class='comment'>-- issue an error, add the error to the document root tree</span>
-<a name="line-604"></a><span class='comment'>-- and return the tree</span>
-<a name="line-605"></a>
-<a name="line-606"></a><a name="addFatal"></a><span class='definition'>addFatal</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-607"></a><span class='definition'>addFatal</span> <span class='varid'>msg</span>
-<a name="line-608"></a>    <span class='keyglyph'>=</span> <span class='varid'>liftF</span> <span class='layout'>(</span> <span class='varid'>fatal</span> <span class='varid'>msg</span>
-<a name="line-609"></a>	      <span class='varop'>+++</span>
-<a name="line-610"></a>	      <span class='varid'>setStatus</span> <span class='varid'>c_fatal</span> <span class='str'>"accessing documents"</span>
-<a name="line-611"></a>	    <span class='layout'>)</span>
-<a name="line-612"></a>
-<a name="line-613"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-614"></a>
-<a name="line-615"></a><span class='comment'>-- |</span>
-<a name="line-616"></a><span class='comment'>-- checks the value of the attribute 'a_status' in a document root.</span>
-<a name="line-617"></a><span class='comment'>-- if it contains a value greater or equal to 'c_err', an error with error message</span>
-<a name="line-618"></a><span class='comment'>-- stored in attribute 'a_module' is issued and the filter acts as the 'noneM' filter</span>
-<a name="line-619"></a><span class='comment'>-- else its the 'thisM' filter</span>
-<a name="line-620"></a>
-<a name="line-621"></a><a name="checkStatus"></a><span class='definition'>checkStatus</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-622"></a><span class='definition'>checkStatus</span> <span class='varid'>t</span>
-<a name="line-623"></a>    <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>status</span> <span class='varop'>&gt;=</span> <span class='varid'>c_err</span>
-<a name="line-624"></a>      <span class='keyword'>then</span> <span class='keyword'>do</span>
-<a name="line-625"></a>	   <span class='varid'>errorMsgHandler</span> <span class='layout'>(</span><span class='varid'>mkXErrorTree</span> <span class='varid'>c_warn</span> <span class='layout'>(</span><span class='varid'>errClass</span> <span class='varid'>status</span> <span class='varop'>++</span> <span class='str'>"s detected in "</span> <span class='varop'>++</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='conid'>[]</span><span class='layout'>)</span>
-<a name="line-626"></a>	   <span class='varid'>noneM</span> <span class='varid'>t</span>
-<a name="line-627"></a>	<span class='keyword'>else</span>
-<a name="line-628"></a>           <span class='varid'>thisM</span> <span class='varid'>t</span>
-<a name="line-629"></a>    <span class='keyword'>where</span>
-<a name="line-630"></a>    <span class='varid'>status</span> <span class='keyglyph'>=</span> <span class='varid'>intValueOf</span> <span class='varid'>a_status</span> <span class='varid'>t</span>
-<a name="line-631"></a>    <span class='varid'>msg</span>    <span class='keyglyph'>=</span>    <span class='varid'>valueOf</span> <span class='varid'>a_module</span> <span class='varid'>t</span>
-<a name="line-632"></a>
-<a name="line-633"></a><span class='comment'>-- |</span>
-<a name="line-634"></a><span class='comment'>-- add the error level and the module where the error occured</span>
-<a name="line-635"></a><span class='comment'>-- to the attributes of a document root node and remove the children when level is greater or equal to 'c_err'</span>
-<a name="line-636"></a>
-<a name="line-637"></a><a name="setStatus"></a><span class='definition'>setStatus</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-638"></a><span class='definition'>setStatus</span> <span class='varid'>level</span> <span class='varid'>msg</span>
-<a name="line-639"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>addAttrInt</span> <span class='varid'>a_status</span> <span class='varid'>level</span>
-<a name="line-640"></a>	<span class='varop'>.&gt;</span>
-<a name="line-641"></a>	<span class='varid'>addAttr</span> <span class='varid'>a_module</span> <span class='varid'>msg</span>
-<a name="line-642"></a>	<span class='varop'>.&gt;</span>
-<a name="line-643"></a>	<span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>level</span> <span class='varop'>&gt;=</span> <span class='varid'>c_err</span>
-<a name="line-644"></a>	  <span class='keyword'>then</span> <span class='varid'>replaceChildren</span> <span class='conid'>[]</span>
-<a name="line-645"></a>	  <span class='keyword'>else</span> <span class='varid'>this</span>
-<a name="line-646"></a>	<span class='layout'>)</span>
-<a name="line-647"></a>      <span class='layout'>)</span>
-<a name="line-648"></a>      <span class='varop'>`when`</span> <span class='varid'>isRoot</span>
-<a name="line-649"></a>
-<a name="line-650"></a><span class='comment'>-- |</span>
-<a name="line-651"></a><span class='comment'>-- check whether tree is a document root and the status attribute has a value less than 'c_err'</span>
-<a name="line-652"></a>
-<a name="line-653"></a><a name="statusOk"></a><span class='definition'>statusOk</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-654"></a><span class='definition'>statusOk</span>
-<a name="line-655"></a>    <span class='keyglyph'>=</span> <span class='varid'>isRoot</span>
-<a name="line-656"></a>      <span class='varop'>.&gt;</span>
-<a name="line-657"></a>      <span class='varid'>isOf</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>intValueOf</span> <span class='varid'>a_status</span> <span class='varid'>t</span> <span class='varop'>&gt;=</span> <span class='varid'>c_err</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-658"></a><span class='comment'>-- |</span>
-<a name="line-659"></a><span class='comment'>-- check whether the error level attribute in the system state</span>
-<a name="line-660"></a><span class='comment'>-- is set to error, in this case the children of the document root are</span>
-<a name="line-661"></a><span class='comment'>-- removed and error info is added as attributes with 'setStatus'</span>
-<a name="line-662"></a><span class='comment'>-- else nothing is changed</span>
-<a name="line-663"></a>
-<a name="line-664"></a><a name="checkResult"></a><span class='definition'>checkResult</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-665"></a><span class='definition'>checkResult</span> <span class='varid'>msg</span> <span class='varid'>t</span>
-<a name="line-666"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-667"></a>      <span class='varid'>level</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParamInt</span> <span class='varid'>a_status</span> <span class='num'>0</span>
-<a name="line-668"></a>      <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>level</span> <span class='varop'>&lt;=</span> <span class='varid'>c_warn</span>
-<a name="line-669"></a>	<span class='keyword'>then</span> <span class='varid'>thisM</span>
-<a name="line-670"></a>	<span class='keyword'>else</span> <span class='varid'>liftMf</span> <span class='layout'>(</span> <span class='varid'>setStatus</span> <span class='varid'>level</span> <span class='varid'>msg</span> <span class='layout'>)</span>
-<a name="line-671"></a>        <span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-672"></a>
-<a name="line-673"></a><span class='comment'>-- |</span>
-<a name="line-674"></a><span class='comment'>-- monadic filter for processing the attribute list of a tag.</span>
-<a name="line-675"></a><span class='comment'>-- for other trees this filter acts like 'noneM'</span>
-<a name="line-676"></a><span class='comment'>--</span>
-<a name="line-677"></a><span class='comment'>-- see also : 'processAttr', 'processAttrl'</span>
-<a name="line-678"></a>
-<a name="line-679"></a><a name="processAttrM"></a><span class='definition'>processAttrM</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-680"></a><span class='definition'>processAttrM</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-681"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-682"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>f</span> <span class='varop'>$$&lt;</span> <span class='varid'>al</span>
-<a name="line-683"></a>      <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>replaceAttrl</span> <span class='varid'>res</span> <span class='varid'>t</span>
-<a name="line-684"></a>    <span class='keyword'>where</span>
-<a name="line-685"></a>    <span class='varid'>al</span> <span class='keyglyph'>=</span> <span class='varid'>getAttrl</span> <span class='varid'>t</span>
-<a name="line-686"></a>
-<a name="line-687"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTree.html b/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTree.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTree.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This helper module exports elements from the basic libraries:</span>
-<a name="line-3"></a><span class='comment'>-- XmlTreeTypes, XmlKeywords, XNodeFunctions, XmlTreeFunctions and XmlTreeFilter</span>
-<a name="line-4"></a>
-<a name="line-5"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-6"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeTypes</span>
-<a name="line-7"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlKeywords</span>
-<a name="line-8"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFunctions</span>
-<a name="line-9"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFilter</span>
-<a name="line-10"></a>    <span class='layout'>)</span>
-<a name="line-11"></a>
-<a name="line-12"></a><span class='keyword'>where</span>
-<a name="line-13"></a>
-<a name="line-14"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeTypes</span>		<span class='comment'>-- NTree and XNode types</span>
-<a name="line-15"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlKeywords</span>		<span class='comment'>-- keywords for DTD</span>
-<a name="line-16"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFunctions</span>	<span class='comment'>-- tree constructors and selector</span>
-<a name="line-17"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFilter</span>		<span class='comment'>-- basic filter</span>
-<a name="line-18"></a>
-<a name="line-19"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeFilter.html b/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeFilter.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeFilter.html
+++ /dev/null
@@ -1,965 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- basic XmlTree filter</span>
-<a name="line-3"></a>
-<a name="line-4"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFilter</span>
-<a name="line-5"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFilter</span>
-<a name="line-6"></a>    <span class='layout'>)</span>
-<a name="line-7"></a><span class='keyword'>where</span>
-<a name="line-8"></a>
-<a name="line-9"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeTypes</span>
-<a name="line-10"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFunctions</span>
-<a name="line-11"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlKeywords</span>
-<a name="line-12"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Unicode</span>	<span class='layout'>(</span> <span class='varid'>isXmlSpaceChar</span>	<span class='layout'>)</span>
-<a name="line-13"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Util</span>	<span class='layout'>(</span> <span class='varid'>decimalStringToInt</span>	<span class='layout'>)</span>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>List</span>		<span class='layout'>(</span> <span class='varid'>partition</span>	<span class='layout'>)</span>
-<a name="line-16"></a>
-<a name="line-17"></a><span class='keyword'>infixl</span> <span class='num'>7</span> <span class='varop'>+=</span> <span class='layout'>,</span> <span class='varop'>++=</span>
-<a name="line-18"></a>
-<a name="line-19"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-20"></a><span class='comment'>--</span>
-<a name="line-21"></a><span class='comment'>-- filter predicates</span>
-<a name="line-22"></a>
-<a name="line-23"></a><span class='comment'>-- |</span>
-<a name="line-24"></a><span class='comment'>-- test whether the root of a tree contains a document root node.</span>
-<a name="line-25"></a>
-<a name="line-26"></a><a name="isRoot"></a><span class='definition'>isRoot</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-27"></a><span class='definition'>isRoot</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isTagNode</span> <span class='varid'>t_root</span><span class='layout'>)</span>
-<a name="line-28"></a>
-<a name="line-29"></a><span class='comment'>-- |</span>
-<a name="line-30"></a><span class='comment'>-- test whether the root of a tree contains a tag node.</span>
-<a name="line-31"></a><span class='comment'>--</span>
-<a name="line-32"></a><span class='comment'>-- see also: 'isNsTag'</span>
-<a name="line-33"></a>
-<a name="line-34"></a><a name="isTag"></a><span class='definition'>isTag</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-35"></a><span class='definition'>isTag</span> <span class='varid'>tn</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isTagNode</span> <span class='varid'>tn</span><span class='layout'>)</span>
-<a name="line-36"></a>
-<a name="line-37"></a><span class='comment'>-- |</span>
-<a name="line-38"></a><span class='comment'>-- namespace aware test whether the root of a tree contains a tag node. Parameters are the local part and namespace.</span>
-<a name="line-39"></a><span class='comment'>-- Only usable after namespace propagation.</span>
-<a name="line-40"></a><span class='comment'>--</span>
-<a name="line-41"></a><span class='comment'>-- see also: 'isTag'</span>
-<a name="line-42"></a>
-<a name="line-43"></a><a name="isNsTag"></a><span class='definition'>isNsTag</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-44"></a><span class='definition'>isNsTag</span> <span class='varid'>lp</span> <span class='varid'>ns</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfTag</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>localPart</span> <span class='varid'>t</span> <span class='varop'>==</span> <span class='varid'>lp</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>namespaceUri</span> <span class='varid'>t</span> <span class='varop'>==</span> <span class='varid'>ns</span><span class='layout'>)</span>
-<a name="line-45"></a>
-<a name="line-46"></a><span class='comment'>-- |</span>
-<a name="line-47"></a><span class='comment'>-- test whether the root of a tree has a given local name</span>
-<a name="line-48"></a><span class='comment'>-- see also : 'hasNamespace', 'hasPrefix', 'isTag', 'isAttr'</span>
-<a name="line-49"></a>
-<a name="line-50"></a><a name="hasLocalPart"></a><span class='definition'>hasLocalPart</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-51"></a><span class='definition'>hasLocalPart</span> <span class='varid'>lp</span>		<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varop'>==</span> <span class='varid'>lp</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>localPartOf</span><span class='layout'>)</span>
-<a name="line-52"></a>
-<a name="line-53"></a><span class='comment'>-- |</span>
-<a name="line-54"></a><span class='comment'>-- test whether the root of a tree has a given prefix name</span>
-<a name="line-55"></a><span class='comment'>-- see also : 'hasNamespace', 'hasLocalPart', 'isTag', 'isAttr'</span>
-<a name="line-56"></a>
-<a name="line-57"></a><a name="hasPrefix"></a><span class='definition'>hasPrefix</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-58"></a><span class='definition'>hasPrefix</span> <span class='varid'>px</span>		<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varop'>==</span> <span class='varid'>px</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>prefixOf</span><span class='layout'>)</span>
-<a name="line-59"></a>
-<a name="line-60"></a><span class='comment'>-- |</span>
-<a name="line-61"></a><span class='comment'>-- test whether the root of a tree belongs to a given namespace</span>
-<a name="line-62"></a><span class='comment'>-- see also : 'isTag', 'isAttr', 'hasLocalPart', 'hasPrefix'</span>
-<a name="line-63"></a>
-<a name="line-64"></a><a name="hasNamespace"></a><span class='definition'>hasNamespace</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-65"></a><span class='definition'>hasNamespace</span> <span class='varid'>ns</span>		<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varop'>==</span> <span class='varid'>ns</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>namespaceOf</span><span class='layout'>)</span>
-<a name="line-66"></a>
-<a name="line-67"></a><span class='comment'>-- |</span>
-<a name="line-68"></a><span class='comment'>-- test whether the root of a tree contains a tag node with a special name.</span>
-<a name="line-69"></a>
-<a name="line-70"></a><a name="isOfTag"></a><span class='definition'>isOfTag</span>			<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>TagName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-71"></a><span class='definition'>isOfTag</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varop'>.</span> <span class='varid'>isOfTagNode</span>
-<a name="line-72"></a>
-<a name="line-73"></a><span class='comment'>-- |</span>
-<a name="line-74"></a><span class='comment'>-- test whether the node of a tree is a XTag node or a XPi node with an attibute of a specific name</span>
-<a name="line-75"></a><span class='comment'>--</span>
-<a name="line-76"></a><span class='comment'>-- see also: 'isAttr', 'hasNsAttr'</span>
-<a name="line-77"></a>
-<a name="line-78"></a><a name="hasAttr"></a><span class='definition'>hasAttr</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-79"></a><span class='definition'>hasAttr</span> <span class='varid'>an</span>		<span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>getAttrl</span> <span class='varop'>.&gt;</span> <span class='varid'>isAttr</span> <span class='varid'>an</span><span class='layout'>)</span> <span class='varop'>`guards`</span> <span class='varid'>this</span>
-<a name="line-80"></a>
-<a name="line-81"></a><span class='comment'>-- |</span>
-<a name="line-82"></a><span class='comment'>-- test whether the tree is a XTag node with an attibute of a specific local name and namespace uri</span>
-<a name="line-83"></a><span class='comment'>--</span>
-<a name="line-84"></a><span class='comment'>-- see also: 'hasAttr', 'isNsAttr'</span>
-<a name="line-85"></a>
-<a name="line-86"></a><a name="hasNsAttr"></a><span class='definition'>hasNsAttr</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-87"></a><span class='definition'>hasNsAttr</span> <span class='varid'>an</span> <span class='varid'>ns</span>		<span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>getAttrl</span> <span class='varop'>.&gt;</span> <span class='varid'>isNsAttr</span> <span class='varid'>an</span> <span class='varid'>ns</span><span class='layout'>)</span> <span class='varop'>`guards`</span> <span class='varid'>this</span>
-<a name="line-88"></a>
-<a name="line-89"></a><span class='comment'>-- |</span>
-<a name="line-90"></a><span class='comment'>-- test whether the given node is a XTag node or a XPI node with an attribute with a value with a specific property.</span>
-<a name="line-91"></a><span class='comment'>-- In case of a match, the attribute value represented by a text node is returned as single element list,</span>
-<a name="line-92"></a><span class='comment'>-- else the empty list is the result.</span>
-<a name="line-93"></a><span class='comment'>--</span>
-<a name="line-94"></a><span class='comment'>-- see also : 'getValue'</span>
-<a name="line-95"></a>
-<a name="line-96"></a><a name="hasValue"></a><span class='definition'>hasValue</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-97"></a><span class='definition'>hasValue</span> <span class='varid'>a</span> <span class='varid'>p</span> <span class='varid'>t</span>
-<a name="line-98"></a>   <span class='keyglyph'>|</span> <span class='layout'>(</span><span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>null</span><span class='layout'>)</span> <span class='varid'>att</span>
-<a name="line-99"></a>     <span class='varop'>&amp;&amp;</span>
-<a name="line-100"></a>     <span class='varid'>p</span> <span class='varid'>val</span>
-<a name="line-101"></a>       <span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varid'>val</span>
-<a name="line-102"></a>   <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-103"></a>       <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-104"></a>   <span class='keyword'>where</span>
-<a name="line-105"></a>   <span class='varid'>att</span> <span class='keyglyph'>=</span> <span class='varid'>getAttrl</span> <span class='varop'>.&gt;</span> <span class='varid'>isAttr</span> <span class='varid'>a</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-106"></a>   <span class='varid'>val</span> <span class='keyglyph'>=</span> <span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>getChildren</span> <span class='varop'>$$</span> <span class='varid'>att</span>
-<a name="line-107"></a>
-<a name="line-108"></a><span class='comment'>-- |</span>
-<a name="line-109"></a><span class='comment'>-- test whether the tree is a processing instruction with a given name.</span>
-<a name="line-110"></a>
-<a name="line-111"></a><a name="isPi"></a><span class='definition'>isPi</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-112"></a><span class='definition'>isPi</span> <span class='varid'>pn</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isPiNode</span> <span class='varid'>pn</span><span class='layout'>)</span>
-<a name="line-113"></a>
-<a name="line-114"></a><span class='comment'>-- |</span>
-<a name="line-115"></a><span class='comment'>-- test whether the tree is a \&lt;?xml ... ?\&gt; declaration</span>
-<a name="line-116"></a>
-<a name="line-117"></a><a name="isXmlPi"></a><span class='definition'>isXmlPi</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-118"></a><span class='definition'>isXmlPi</span>			<span class='keyglyph'>=</span> <span class='varid'>isPi</span> <span class='varid'>t_xml</span>
-<a name="line-119"></a>
-<a name="line-120"></a><span class='comment'>-- |</span>
-<a name="line-121"></a><span class='comment'>-- test whether the root of a tree contains a processing instruction of a special name.</span>
-<a name="line-122"></a>
-<a name="line-123"></a><a name="isOfPi"></a><span class='definition'>isOfPi</span>			<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>TagName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-124"></a><span class='definition'>isOfPi</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varop'>.</span> <span class='varid'>isOfPiNode</span>
-<a name="line-125"></a>
-<a name="line-126"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-127"></a>
-<a name="line-128"></a><span class='comment'>-- simple XNode Filter predicates</span>
-<a name="line-129"></a><span class='comment'>--</span>
-<a name="line-130"></a>
-<a name="line-131"></a><span class='comment'>-- |</span>
-<a name="line-132"></a><span class='comment'>-- test whether the root of a tree contains a CDATA node.</span>
-<a name="line-133"></a>
-<a name="line-134"></a><a name="isXCdata"></a><span class='definition'>isXCdata</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-135"></a><span class='definition'>isXCdata</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXCdataNode</span>
-<a name="line-136"></a>
-<a name="line-137"></a><span class='comment'>-- |</span>
-<a name="line-138"></a><span class='comment'>-- test whether the root of a tree contains a character reference node.</span>
-<a name="line-139"></a>
-<a name="line-140"></a><a name="isXCharRef"></a><span class='definition'>isXCharRef</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-141"></a><span class='definition'>isXCharRef</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXCharRefNode</span>
-<a name="line-142"></a>
-<a name="line-143"></a><span class='comment'>-- |</span>
-<a name="line-144"></a><span class='comment'>-- test whether the root of a tree contains a comment node.</span>
-<a name="line-145"></a>
-<a name="line-146"></a><a name="isXCmt"></a><span class='definition'>isXCmt</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-147"></a><span class='definition'>isXCmt</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXCmtNode</span>
-<a name="line-148"></a>
-<a name="line-149"></a><span class='comment'>-- |</span>
-<a name="line-150"></a><span class='comment'>-- test whether the root of a tree contains a DTD part.</span>
-<a name="line-151"></a>
-<a name="line-152"></a><a name="isXDTD"></a><span class='definition'>isXDTD</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-153"></a><span class='definition'>isXDTD</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXDTDNode</span>
-<a name="line-154"></a>
-<a name="line-155"></a><span class='comment'>-- |</span>
-<a name="line-156"></a><span class='comment'>-- test whether the root of a tree contains an entity reference node.</span>
-<a name="line-157"></a>
-<a name="line-158"></a><a name="isXEntityRef"></a><span class='definition'>isXEntityRef</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-159"></a><span class='definition'>isXEntityRef</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXEntityRefNode</span>
-<a name="line-160"></a>
-<a name="line-161"></a><span class='comment'>-- |</span>
-<a name="line-162"></a><span class='comment'>-- test whether the root of a tree contains an error node.</span>
-<a name="line-163"></a>
-<a name="line-164"></a><a name="isXError"></a><span class='definition'>isXError</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-165"></a><span class='definition'>isXError</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXErrorNode</span>
-<a name="line-166"></a>
-<a name="line-167"></a><span class='comment'>-- |</span>
-<a name="line-168"></a><span class='comment'>-- test whether the root of a tree contains a processing instruction node.</span>
-<a name="line-169"></a>
-<a name="line-170"></a><a name="isXPi"></a><span class='definition'>isXPi</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-171"></a><span class='definition'>isXPi</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXPiNode</span>
-<a name="line-172"></a>
-<a name="line-173"></a><span class='comment'>-- |</span>
-<a name="line-174"></a><span class='comment'>-- test whether the root of a tree contains a tag node.</span>
-<a name="line-175"></a>
-<a name="line-176"></a><a name="isXTag"></a><span class='definition'>isXTag</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-177"></a><span class='definition'>isXTag</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXTagNode</span>
-<a name="line-178"></a>
-<a name="line-179"></a><span class='comment'>-- |</span>
-<a name="line-180"></a><span class='comment'>-- test whether the root of a tree contains an attribute node.</span>
-<a name="line-181"></a>
-<a name="line-182"></a><a name="isXAttr"></a><span class='definition'>isXAttr</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-183"></a><span class='definition'>isXAttr</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXAttrNode</span>
-<a name="line-184"></a>
-<a name="line-185"></a><span class='comment'>-- |</span>
-<a name="line-186"></a><span class='comment'>-- test whether the root of a tree is an attribute node for a given attribute name</span>
-<a name="line-187"></a>
-<a name="line-188"></a><a name="isAttr"></a><span class='definition'>isAttr</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-189"></a><span class='definition'>isAttr</span> <span class='varid'>an</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isAttrNode</span> <span class='varid'>an</span><span class='layout'>)</span>
-<a name="line-190"></a>
-<a name="line-191"></a><span class='comment'>-- |</span>
-<a name="line-192"></a><span class='comment'>-- namespace aware test whether the tree contains an attribute node. Parameters are the local part of the atribute name and the namespace.</span>
-<a name="line-193"></a><span class='comment'>-- Only usable after namespace propagation.</span>
-<a name="line-194"></a><span class='comment'>--</span>
-<a name="line-195"></a><span class='comment'>-- see also: 'isNsTag', 'isAttr', 'hasNsAttr'</span>
-<a name="line-196"></a>
-<a name="line-197"></a><a name="isNsAttr"></a><span class='definition'>isNsAttr</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-198"></a><span class='definition'>isNsAttr</span> <span class='varid'>lp</span> <span class='varid'>ns</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfAttr</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>localPart</span> <span class='varid'>a</span> <span class='varop'>==</span> <span class='varid'>lp</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>namespaceUri</span> <span class='varid'>a</span> <span class='varop'>==</span> <span class='varid'>ns</span><span class='layout'>)</span>
-<a name="line-199"></a>
-<a name="line-200"></a><span class='comment'>-- |</span>
-<a name="line-201"></a><span class='comment'>-- general test for an attribute name</span>
-<a name="line-202"></a>
-<a name="line-203"></a><a name="isOfAttr"></a><span class='definition'>isOfAttr</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>AttrName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-204"></a><span class='definition'>isOfAttr</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varop'>.</span> <span class='varid'>isOfAttrNode</span>
-<a name="line-205"></a>
-<a name="line-206"></a><span class='comment'>-- |</span>
-<a name="line-207"></a><span class='comment'>-- test whether the root of a tree contains a text node.</span>
-<a name="line-208"></a>
-<a name="line-209"></a><a name="isXText"></a><span class='definition'>isXText</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-210"></a><span class='definition'>isXText</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isXTextNode</span>
-<a name="line-211"></a>
-<a name="line-212"></a><span class='comment'>-- |</span>
-<a name="line-213"></a><span class='comment'>-- test whether the root of a tree contains a special text.</span>
-<a name="line-214"></a>
-<a name="line-215"></a><a name="isText"></a><span class='definition'>isText</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-216"></a><span class='definition'>isText</span> <span class='varid'>t</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isTextNode</span> <span class='varid'>t</span><span class='layout'>)</span>
-<a name="line-217"></a>
-<a name="line-218"></a><span class='comment'>-- |</span>
-<a name="line-219"></a><span class='comment'>-- test whether the root of a tree contains a text node with a special property</span>
-<a name="line-220"></a>
-<a name="line-221"></a><a name="isOfText"></a><span class='definition'>isOfText</span>		<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-222"></a><span class='definition'>isOfText</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varop'>.</span> <span class='varid'>isOfTextNode</span>
-<a name="line-223"></a>
-<a name="line-224"></a><span class='comment'>-- |</span>
-<a name="line-225"></a><span class='comment'>-- test whether the root of a tree contains a text node only with whitespace.</span>
-<a name="line-226"></a>
-<a name="line-227"></a><a name="isWhiteSpace"></a><span class='definition'>isWhiteSpace</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-228"></a><span class='definition'>isWhiteSpace</span>
-<a name="line-229"></a>    <span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varid'>isWS</span>
-<a name="line-230"></a>      <span class='keyword'>where</span>
-<a name="line-231"></a>      <span class='varid'>isWS</span> <span class='varid'>n</span>
-<a name="line-232"></a>	  <span class='keyglyph'>=</span> <span class='varid'>isXTextNode</span> <span class='varid'>n</span>
-<a name="line-233"></a>	    <span class='varop'>&amp;&amp;</span> <span class='varid'>all</span> <span class='varid'>isXmlSpaceChar</span> <span class='layout'>(</span><span class='varid'>textOfXNode</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-234"></a>
-<a name="line-235"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-236"></a><span class='comment'>--</span>
-<a name="line-237"></a><span class='comment'>-- XDTD Predicates</span>
-<a name="line-238"></a>
-<a name="line-239"></a><span class='comment'>-- |</span>
-<a name="line-240"></a><span class='comment'>-- test whether the root of a tree contains a DOCTYPE DTD part.</span>
-<a name="line-241"></a>
-<a name="line-242"></a><a name="isDoctype"></a><span class='definition'>isDoctype</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-243"></a><span class='definition'>isDoctype</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>DOCTYPE</span><span class='layout'>)</span>
-<a name="line-244"></a>
-<a name="line-245"></a><span class='comment'>-- |</span>
-<a name="line-246"></a><span class='comment'>-- test whether the root of a tree contains an ATTLIST DTD part.</span>
-<a name="line-247"></a>
-<a name="line-248"></a><a name="isAttlist"></a><span class='definition'>isAttlist</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-249"></a><span class='definition'>isAttlist</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>ATTLIST</span><span class='layout'>)</span>
-<a name="line-250"></a>
-<a name="line-251"></a><span class='comment'>-- |</span>
-<a name="line-252"></a><span class='comment'>-- test whether the root of a tree contains an ELEMENT DTD part.</span>
-<a name="line-253"></a>
-<a name="line-254"></a><a name="isElement"></a><span class='definition'>isElement</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-255"></a><span class='definition'>isElement</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>ELEMENT</span><span class='layout'>)</span>
-<a name="line-256"></a>
-<a name="line-257"></a><span class='comment'>-- |</span>
-<a name="line-258"></a><span class='comment'>-- test whether the root of a tree contains an ENTITY DTD part.</span>
-<a name="line-259"></a>
-<a name="line-260"></a><a name="isEntity"></a><span class='definition'>isEntity</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-261"></a><span class='definition'>isEntity</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>ENTITY</span><span class='layout'>)</span>
-<a name="line-262"></a>
-<a name="line-263"></a><span class='comment'>-- |</span>
-<a name="line-264"></a><span class='comment'>-- test whether the root of a tree contains a parameter ENTITY reference.</span>
-<a name="line-265"></a>
-<a name="line-266"></a><a name="isPeRef"></a><span class='definition'>isPeRef</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-267"></a><span class='definition'>isPeRef</span>				<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>PEREF</span><span class='layout'>)</span>
-<a name="line-268"></a>
-<a name="line-269"></a><span class='comment'>-- |</span>
-<a name="line-270"></a><span class='comment'>-- test whether the root of a tree contains a DTD name part.</span>
-<a name="line-271"></a>
-<a name="line-272"></a><a name="isDTDName"></a><span class='definition'>isDTDName</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-273"></a><span class='definition'>isDTDName</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>NAME</span><span class='layout'>)</span>
-<a name="line-274"></a>
-<a name="line-275"></a><span class='comment'>-- |</span>
-<a name="line-276"></a><span class='comment'>-- test whether the root of a tree contains a conditional section DTD part.</span>
-<a name="line-277"></a>
-<a name="line-278"></a><a name="isCondSect"></a><span class='definition'>isCondSect</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-279"></a><span class='definition'>isCondSect</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>CONDSECT</span><span class='layout'>)</span>
-<a name="line-280"></a>
-<a name="line-281"></a><span class='comment'>-- |</span>
-<a name="line-282"></a><span class='comment'>-- test whether the root of a tree contains a parameter entity declaration.</span>
-<a name="line-283"></a>
-<a name="line-284"></a><a name="isParameterEntity"></a><span class='definition'>isParameterEntity</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-285"></a><span class='definition'>isParameterEntity</span>		<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>PENTITY</span><span class='layout'>)</span>
-<a name="line-286"></a>
-<a name="line-287"></a><span class='comment'>-- |</span>
-<a name="line-288"></a><span class='comment'>-- test whether the root of a tree contains a NOTATION DTD part.</span>
-<a name="line-289"></a>
-<a name="line-290"></a><a name="isNotation"></a><span class='definition'>isNotation</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-291"></a><span class='definition'>isNotation</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='layout'>(</span><span class='varid'>isDTDElemNode</span> <span class='conid'>NOTATION</span><span class='layout'>)</span>
-<a name="line-292"></a>
-<a name="line-293"></a><span class='comment'>-- ATTLIST predicates</span>
-<a name="line-294"></a>
-<a name="line-295"></a><a name="isDefaultAttrKind"></a><span class='definition'>isDefaultAttrKind</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-296"></a><span class='definition'>isDefaultAttrKind</span>		<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_kind</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_default</span><span class='layout'>)</span>
-<a name="line-297"></a>
-<a name="line-298"></a><a name="isEnumAttrType"></a><span class='definition'>isEnumAttrType</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-299"></a><span class='definition'>isEnumAttrType</span>			<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_type</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_enumeration</span><span class='layout'>)</span>
-<a name="line-300"></a>
-<a name="line-301"></a><a name="isFixedAttrKind"></a><span class='definition'>isFixedAttrKind</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-302"></a><span class='definition'>isFixedAttrKind</span>			<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_kind</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_fixed</span><span class='layout'>)</span>
-<a name="line-303"></a>
-<a name="line-304"></a><a name="isIdAttrType"></a><span class='definition'>isIdAttrType</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-305"></a><span class='definition'>isIdAttrType</span>			<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_type</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_id</span><span class='layout'>)</span>
-<a name="line-306"></a>
-<a name="line-307"></a><a name="isIdRefAttrType"></a><span class='definition'>isIdRefAttrType</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-308"></a><span class='definition'>isIdRefAttrType</span>			<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='varid'>k_idref</span><span class='layout'>,</span> <span class='varid'>k_idrefs</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_type</span><span class='layout'>)</span>
-<a name="line-309"></a>
-<a name="line-310"></a><a name="isNotationAttrType"></a><span class='definition'>isNotationAttrType</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-311"></a><span class='definition'>isNotationAttrType</span>		<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_type</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_notation</span><span class='layout'>)</span>
-<a name="line-312"></a>
-<a name="line-313"></a><a name="isRequiredAttrKind"></a><span class='definition'>isRequiredAttrKind</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-314"></a><span class='definition'>isRequiredAttrKind</span>		<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_kind</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_required</span><span class='layout'>)</span>
-<a name="line-315"></a>
-<a name="line-316"></a><a name="isAttlistParameterEntity"></a><span class='definition'>isAttlistParameterEntity</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-317"></a><span class='definition'>isAttlistParameterEntity</span>	<span class='keyglyph'>=</span> <span class='varid'>isAttlist</span> <span class='varop'>.&gt;</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_type</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_peref</span><span class='layout'>)</span>
-<a name="line-318"></a>
-<a name="line-319"></a><span class='comment'>-- ELEMENT predicates</span>
-<a name="line-320"></a>
-<a name="line-321"></a><a name="isEmptyElement"></a><span class='definition'>isEmptyElement</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-322"></a><span class='definition'>isEmptyElement</span>			<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_type</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_empty</span><span class='layout'>)</span>
-<a name="line-323"></a>
-<a name="line-324"></a><a name="isMixedContentElement"></a><span class='definition'>isMixedContentElement</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-325"></a><span class='definition'>isMixedContentElement</span>		<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_type</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>v_mixed</span><span class='layout'>)</span>
-<a name="line-326"></a>
-<a name="line-327"></a><a name="isElemWithContent"></a><span class='definition'>isElemWithContent</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-328"></a><span class='definition'>isElemWithContent</span>		<span class='keyglyph'>=</span> <span class='varid'>isElement</span>
-<a name="line-329"></a>				  <span class='varop'>.&gt;</span>
-<a name="line-330"></a>				  <span class='varid'>isOf</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='varid'>v_mixed</span><span class='layout'>,</span> <span class='varid'>v_children</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_type</span><span class='layout'>)</span>
-<a name="line-331"></a>
-<a name="line-332"></a><a name="isAttlistOfElement"></a><span class='definition'>isAttlistOfElement</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-333"></a><span class='definition'>isAttlistOfElement</span> <span class='varid'>el</span>		<span class='keyglyph'>=</span> <span class='varid'>isAttlist</span>
-<a name="line-334"></a>				  <span class='varop'>.&gt;</span>
-<a name="line-335"></a>				  <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_name</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>el</span><span class='layout'>)</span>
-<a name="line-336"></a>
-<a name="line-337"></a><a name="isElemContentParamEntity"></a><span class='definition'>isElemContentParamEntity</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-338"></a><span class='definition'>isElemContentParamEntity</span>	<span class='keyglyph'>=</span> <span class='varid'>isElement</span>
-<a name="line-339"></a>				  <span class='varop'>.&gt;</span>
-<a name="line-340"></a>				  <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>a_type</span> <span class='varop'>`ofDTDequals`</span> <span class='varid'>k_peref</span><span class='layout'>)</span>
-<a name="line-341"></a>
-<a name="line-342"></a><span class='comment'>-- ENTITY predicates</span>
-<a name="line-343"></a>
-<a name="line-344"></a><a name="isUnparsedEntity"></a><span class='definition'>isUnparsedEntity</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-345"></a><span class='definition'>isUnparsedEntity</span>		<span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>hasEntry</span> <span class='varid'>k_ndata</span> <span class='varop'>.</span> <span class='varid'>attrlOfDTD</span><span class='layout'>)</span>
-<a name="line-346"></a>
-<a name="line-347"></a><a name="isExternalParameterEntity"></a><span class='definition'>isExternalParameterEntity</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-348"></a><span class='definition'>isExternalParameterEntity</span>	<span class='keyglyph'>=</span> <span class='varid'>isParameterEntity</span>
-<a name="line-349"></a>				  <span class='varop'>.&gt;</span>
-<a name="line-350"></a>				  <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>hasEntry</span> <span class='varid'>k_system</span> <span class='varop'>.</span> <span class='varid'>attrlOfDTD</span><span class='layout'>)</span>
-<a name="line-351"></a>
-<a name="line-352"></a><a name="isInternalParameterEntity"></a><span class='definition'>isInternalParameterEntity</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-353"></a><span class='definition'>isInternalParameterEntity</span>	<span class='keyglyph'>=</span> <span class='varid'>isParameterEntity</span>
-<a name="line-354"></a>				  <span class='varop'>.&gt;</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>hasEntry</span> <span class='varid'>k_system</span> <span class='varop'>.</span> <span class='varid'>attrlOfDTD</span><span class='layout'>)</span>
-<a name="line-355"></a>
-<a name="line-356"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-357"></a>
-<a name="line-358"></a><span class='comment'>-- |</span>
-<a name="line-359"></a><span class='comment'>-- test whether the root of a tree contains an error node for a warning.</span>
-<a name="line-360"></a>
-<a name="line-361"></a><a name="isWarning"></a><span class='definition'>isWarning</span> 			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-362"></a><span class='definition'>isWarning</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varop'>$</span> <span class='varid'>isErrorNode</span> <span class='varid'>c_warn</span>
-<a name="line-363"></a>
-<a name="line-364"></a><span class='comment'>-- |</span>
-<a name="line-365"></a><span class='comment'>-- test whether the root of a tree contains an error node for an error.</span>
-<a name="line-366"></a>
-<a name="line-367"></a><a name="isError"></a><span class='definition'>isError</span> 			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-368"></a><span class='definition'>isError</span>				<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varop'>$</span> <span class='varid'>isErrorNode</span> <span class='varid'>c_err</span>
-<a name="line-369"></a>
-<a name="line-370"></a><span class='comment'>-- |</span>
-<a name="line-371"></a><span class='comment'>-- test whether the root of a tree contains an error node for a fatal error.</span>
-<a name="line-372"></a>
-<a name="line-373"></a><a name="isFatalError"></a><span class='definition'>isFatalError</span> 			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-374"></a><span class='definition'>isFatalError</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfNode</span> <span class='varop'>$</span> <span class='varid'>isErrorNode</span> <span class='varid'>c_fatal</span>
-<a name="line-375"></a>
-<a name="line-376"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-377"></a><span class='comment'>--</span>
-<a name="line-378"></a><span class='comment'>-- constructor filter</span>
-<a name="line-379"></a>
-<a name="line-380"></a><span class='comment'>-- |</span>
-<a name="line-381"></a><span class='comment'>-- constructor filter for a tag node.</span>
-<a name="line-382"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-383"></a><span class='comment'>-- the attributes and the children are computed by applying the aproprate filter to the input tree</span>
-<a name="line-384"></a><span class='comment'>--</span>
-<a name="line-385"></a><span class='comment'>--    * 1.parameter n :  the tag name</span>
-<a name="line-386"></a><span class='comment'>--</span>
-<a name="line-387"></a><span class='comment'>--    - 2.parameter af :  the filter for the attribute list</span>
-<a name="line-388"></a><span class='comment'>--</span>
-<a name="line-389"></a><span class='comment'>--    - 3.parameter cf :  the filter for the children</span>
-<a name="line-390"></a><span class='comment'>--</span>
-<a name="line-391"></a><span class='comment'>--    - returns : the constructor filter</span>
-<a name="line-392"></a>
-<a name="line-393"></a><a name="mkXTag"></a><span class='definition'>mkXTag</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-394"></a><span class='definition'>mkXTag</span> <span class='varid'>n</span> <span class='varid'>af</span> <span class='varid'>cf</span>
-<a name="line-395"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkXTagTree</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='varid'>af</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>cf</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-396"></a>
-<a name="line-397"></a><span class='comment'>-- | Version with qualified names of 'mkXTag'</span>
-<a name="line-398"></a>
-<a name="line-399"></a><a name="mkQTag"></a><span class='definition'>mkQTag</span>		<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-400"></a><span class='definition'>mkQTag</span> <span class='varid'>q</span> <span class='varid'>af</span> <span class='varid'>cf</span>
-<a name="line-401"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkQTagTree</span> <span class='varid'>q</span> <span class='layout'>(</span><span class='varid'>af</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>cf</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-402"></a>
-<a name="line-403"></a><span class='comment'>-- |</span>
-<a name="line-404"></a><span class='comment'>-- constructor filter for a tag node.</span>
-<a name="line-405"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-406"></a><span class='comment'>-- the attributes and the children are computed by applying the aproprate filter to the input tree</span>
-<a name="line-407"></a><span class='comment'>--</span>
-<a name="line-408"></a><span class='comment'>--    * 1.parameter n :  the tag name in form of prefix:localpart</span>
-<a name="line-409"></a><span class='comment'>--</span>
-<a name="line-410"></a><span class='comment'>--    - 2.parameter ns:   the namespace uri</span>
-<a name="line-411"></a><span class='comment'>--</span>
-<a name="line-412"></a><span class='comment'>--    - 3.parameter af :  the filter for the attribute list</span>
-<a name="line-413"></a><span class='comment'>--</span>
-<a name="line-414"></a><span class='comment'>--    - 4.parameter cf :  the filter for the children</span>
-<a name="line-415"></a><span class='comment'>--</span>
-<a name="line-416"></a><span class='comment'>--    - returns : the constructor filter</span>
-<a name="line-417"></a>
-<a name="line-418"></a><a name="mkXNsTag"></a><span class='definition'>mkXNsTag</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-419"></a><span class='definition'>mkXNsTag</span> <span class='varid'>n</span> <span class='varid'>ns</span> <span class='varid'>af</span> <span class='varid'>cf</span>
-<a name="line-420"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkXNsTagTree</span> <span class='varid'>n</span> <span class='varid'>ns</span> <span class='layout'>(</span><span class='varid'>af</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>cf</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-421"></a>
-<a name="line-422"></a><span class='comment'>-- |</span>
-<a name="line-423"></a><span class='comment'>-- filter for attribute construction.</span>
-<a name="line-424"></a><span class='comment'>-- a new tree with attribute name and a value computed by a filter</span>
-<a name="line-425"></a><span class='comment'>-- is build.</span>
-<a name="line-426"></a>
-<a name="line-427"></a><a name="mkXAttr"></a><span class='definition'>mkXAttr</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-428"></a><span class='definition'>mkXAttr</span> <span class='varid'>n</span> <span class='varid'>af</span>
-<a name="line-429"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkXAttrTree</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='varid'>af</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-430"></a>
-<a name="line-431"></a><span class='comment'>-- | Qualified version 'mkXAttr'</span>
-<a name="line-432"></a>
-<a name="line-433"></a><a name="mkQAttr"></a><span class='definition'>mkQAttr</span>		<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-434"></a><span class='definition'>mkQAttr</span> <span class='varid'>q</span> <span class='varid'>af</span>
-<a name="line-435"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkQAttrTree</span> <span class='varid'>q</span> <span class='layout'>(</span><span class='varid'>af</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-436"></a>
-<a name="line-437"></a><span class='comment'>-- |</span>
-<a name="line-438"></a><span class='comment'>-- filter for attribute construction.</span>
-<a name="line-439"></a><span class='comment'>-- a new tree with attribute name and namespace and a value computed by a filter</span>
-<a name="line-440"></a><span class='comment'>-- is build.</span>
-<a name="line-441"></a>
-<a name="line-442"></a><a name="mkXNsAttr"></a><span class='definition'>mkXNsAttr</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-443"></a><span class='definition'>mkXNsAttr</span> <span class='varid'>n</span> <span class='varid'>ns</span> <span class='varid'>af</span>
-<a name="line-444"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkXNsAttrTree</span> <span class='varid'>n</span> <span class='varid'>ns</span> <span class='layout'>(</span><span class='varid'>af</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-445"></a>
-<a name="line-446"></a><span class='comment'>-- |</span>
-<a name="line-447"></a><span class='comment'>-- constructor filter for a text node.</span>
-<a name="line-448"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-449"></a><span class='comment'>-- the input tree is ignored.</span>
-<a name="line-450"></a>
-<a name="line-451"></a><a name="mkXText"></a><span class='definition'>mkXText</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span>                          <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-452"></a><span class='definition'>mkXText</span>		<span class='keyglyph'>=</span> <span class='varid'>mkNTree</span> <span class='varop'>.</span> <span class='varid'>mkXTextTree</span>
-<a name="line-453"></a>
-<a name="line-454"></a><span class='comment'>-- |</span>
-<a name="line-455"></a><span class='comment'>-- constructor filter for a character reference node.</span>
-<a name="line-456"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-457"></a><span class='comment'>-- the input tree is ignored.</span>
-<a name="line-458"></a>
-<a name="line-459"></a><a name="mkXCharRef"></a><span class='definition'>mkXCharRef</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span>                             <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-460"></a><span class='definition'>mkXCharRef</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNTree</span> <span class='varop'>.</span> <span class='varid'>mkXCharRefTree</span>
-<a name="line-461"></a>
-<a name="line-462"></a><span class='comment'>-- |</span>
-<a name="line-463"></a><span class='comment'>-- constructor filter for an entity reference node.</span>
-<a name="line-464"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-465"></a><span class='comment'>-- the input tree is ignored.</span>
-<a name="line-466"></a>
-<a name="line-467"></a><a name="mkXEntityRef"></a><span class='definition'>mkXEntityRef</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span>                          <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-468"></a><span class='definition'>mkXEntityRef</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNTree</span> <span class='varop'>.</span> <span class='varid'>mkXEntityRefTree</span>
-<a name="line-469"></a>
-<a name="line-470"></a><span class='comment'>-- |</span>
-<a name="line-471"></a><span class='comment'>-- constructor filter for a comment node.</span>
-<a name="line-472"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-473"></a><span class='comment'>-- the xml string representation of the filter result</span>
-<a name="line-474"></a><span class='comment'>-- forms the comment</span>
-<a name="line-475"></a>
-<a name="line-476"></a><a name="mkXCmt"></a><span class='definition'>mkXCmt</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-477"></a><span class='definition'>mkXCmt</span> <span class='varid'>cf</span>
-<a name="line-478"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkXCmtTree</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>cf</span><span class='layout'>)</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-479"></a>
-<a name="line-480"></a><span class='comment'>-- |</span>
-<a name="line-481"></a><span class='comment'>-- constructor filter for a DTD part.</span>
-<a name="line-482"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-483"></a><span class='comment'>-- the input tree is ignored.</span>
-<a name="line-484"></a>
-<a name="line-485"></a><a name="mkXDTD"></a><span class='definition'>mkXDTD</span>		<span class='keyglyph'>::</span> <span class='conid'>DTDElem</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-486"></a><span class='definition'>mkXDTD</span> <span class='varid'>n</span> <span class='varid'>al</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNTree</span> <span class='varop'>.</span> <span class='varid'>mkXDTDTree</span> <span class='varid'>n</span> <span class='varid'>al</span>
-<a name="line-487"></a>
-<a name="line-488"></a><span class='comment'>-- |</span>
-<a name="line-489"></a><span class='comment'>-- constructor filter for a CDATA section node.</span>
-<a name="line-490"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-491"></a><span class='comment'>-- the input tree is ignored.</span>
-<a name="line-492"></a>
-<a name="line-493"></a><a name="mkXCdata"></a><span class='definition'>mkXCdata</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-494"></a><span class='definition'>mkXCdata</span> <span class='varid'>cf</span>
-<a name="line-495"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkXCdataTree</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>cf</span><span class='layout'>)</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-496"></a>
-<a name="line-497"></a><span class='comment'>-- |</span>
-<a name="line-498"></a><span class='comment'>-- constructor filter for a processing instruction</span>
-<a name="line-499"></a><span class='comment'>-- a new tree is constructed from the text representation</span>
-<a name="line-500"></a><span class='comment'>-- of the input tree</span>
-<a name="line-501"></a>
-<a name="line-502"></a><a name="mkXPi"></a><span class='definition'>mkXPi</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-503"></a><span class='definition'>mkXPi</span> <span class='varid'>piName</span> <span class='varid'>cf</span>
-<a name="line-504"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span> <span class='varid'>mkXPiTree</span> <span class='varid'>piName</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>cf</span><span class='layout'>)</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-505"></a>
-<a name="line-506"></a><span class='comment'>-- |</span>
-<a name="line-507"></a><span class='comment'>-- constructor filter for an error message node.</span>
-<a name="line-508"></a><span class='comment'>-- a new tree is constructed.</span>
-<a name="line-509"></a><span class='comment'>-- the input tree is ignored.</span>
-<a name="line-510"></a>
-<a name="line-511"></a><a name="mkXError"></a><span class='definition'>mkXError</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>                   <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-512"></a><span class='definition'>mkXError</span> <span class='varid'>l</span> <span class='varid'>s</span>	<span class='keyglyph'>=</span> <span class='varid'>this</span> <span class='varop'>.</span> <span class='varid'>mkXErrorTree</span> <span class='varid'>l</span> <span class='varid'>s</span> <span class='varop'>.</span> <span class='varid'>this</span>
-<a name="line-513"></a>
-<a name="line-514"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-515"></a><span class='comment'>--</span>
-<a name="line-516"></a><span class='comment'>-- selector filters</span>
-<a name="line-517"></a>
-<a name="line-518"></a><span class='comment'>-- |</span>
-<a name="line-519"></a><span class='comment'>-- filter for selecting the name of a tag node, an attribute node or a pi node.</span>
-<a name="line-520"></a><span class='comment'>-- Result of the filter is a single element list with a text node or the empty list</span>
-<a name="line-521"></a>
-<a name="line-522"></a><a name="getName"></a><span class='definition'>getName</span>	<span class='keyglyph'>::</span>             <span class='conid'>XmlFilter</span>
-<a name="line-523"></a><span class='definition'>getName</span> <span class='varid'>t</span>
-<a name="line-524"></a>    <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>s</span>    <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-525"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span> <span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varid'>s</span>
-<a name="line-526"></a>    <span class='keyword'>where</span>
-<a name="line-527"></a>    <span class='varid'>s</span> <span class='keyglyph'>=</span> <span class='varid'>nameOf</span> <span class='varid'>t</span>
-<a name="line-528"></a>
-<a name="line-529"></a><span class='comment'>-- |</span>
-<a name="line-530"></a><span class='comment'>-- filter for selecting the attibute list</span>
-<a name="line-531"></a>
-<a name="line-532"></a><a name="getAttrl"></a><span class='definition'>getAttrl</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-533"></a><span class='definition'>getAttrl</span>
-<a name="line-534"></a>    <span class='keyglyph'>=</span> <span class='varid'>selAttrl</span> <span class='varop'>.</span> <span class='varid'>getNode</span>
-<a name="line-535"></a>    <span class='keyword'>where</span>
-<a name="line-536"></a>    <span class='varid'>selAttrl</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='keyword'>_</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>al</span>
-<a name="line-537"></a>    <span class='varid'>selAttrl</span> <span class='layout'>(</span><span class='conid'>XPi</span>  <span class='keyword'>_</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>al</span>
-<a name="line-538"></a>    <span class='varid'>selAttrl</span> <span class='keyword'>_</span>           <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-539"></a>
-<a name="line-540"></a><span class='comment'>-- |</span>
-<a name="line-541"></a><span class='comment'>-- filter for selecting the value of an attribute in a tag node.</span>
-<a name="line-542"></a><span class='comment'>-- Result of the filter is a single element list with a text node or the empty list</span>
-<a name="line-543"></a><span class='comment'>--</span>
-<a name="line-544"></a><span class='comment'>-- see also : 'hasValue', 'getNsValue'</span>
-<a name="line-545"></a>
-<a name="line-546"></a><a name="getValue"></a><span class='definition'>getValue</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-547"></a><span class='definition'>getValue</span> <span class='varid'>a</span>		<span class='keyglyph'>=</span> <span class='varid'>xmlTreesToText</span> <span class='varop'>.</span> <span class='layout'>(</span><span class='varid'>getAttrl</span> <span class='varop'>.&gt;</span> <span class='varid'>isAttr</span> <span class='varid'>a</span> <span class='varop'>.&gt;</span> <span class='varid'>getChildren</span><span class='layout'>)</span>
-<a name="line-548"></a>
-<a name="line-549"></a><span class='comment'>-- |</span>
-<a name="line-550"></a><span class='comment'>-- filter for selecting the value of an attribute with namespace in a tag node.</span>
-<a name="line-551"></a><span class='comment'>-- Result of the filter is a single element list with a text node or the empty list</span>
-<a name="line-552"></a><span class='comment'>--</span>
-<a name="line-553"></a><span class='comment'>-- see also : 'getValue', 'isNsAttr'</span>
-<a name="line-554"></a>
-<a name="line-555"></a><a name="getNsValue"></a><span class='definition'>getNsValue</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-556"></a><span class='definition'>getNsValue</span> <span class='varid'>lp</span> <span class='varid'>ns</span>	<span class='keyglyph'>=</span> <span class='varid'>xmlTreesToText</span> <span class='varop'>.</span> <span class='layout'>(</span><span class='varid'>getAttrl</span> <span class='varop'>.&gt;</span> <span class='varid'>isNsAttr</span> <span class='varid'>lp</span> <span class='varid'>ns</span> <span class='varop'>.&gt;</span> <span class='varid'>getChildren</span><span class='layout'>)</span>
-<a name="line-557"></a>
-<a name="line-558"></a><span class='comment'>-- |</span>
-<a name="line-559"></a><span class='comment'>-- filter for selecting an attribute of a DTD node.</span>
-<a name="line-560"></a><span class='comment'>-- Result of the filter is a single element list with a text node or the empty list</span>
-<a name="line-561"></a>
-<a name="line-562"></a><a name="getDTDValue"></a><span class='definition'>getDTDValue</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-563"></a><span class='definition'>getDTDValue</span> <span class='varid'>a</span>		<span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varop'>.</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a</span>
-<a name="line-564"></a>
-<a name="line-565"></a><span class='comment'>-- |</span>
-<a name="line-566"></a><span class='comment'>-- filter for selecting content of a comment.</span>
-<a name="line-567"></a><span class='comment'>-- Result of the filter is a single element list with a text node or the empty list</span>
-<a name="line-568"></a>
-<a name="line-569"></a><a name="getXCmt"></a><span class='definition'>getXCmt</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-570"></a><span class='definition'>getXCmt</span>
-<a name="line-571"></a>    <span class='keyglyph'>=</span> <span class='varid'>selCmt</span> <span class='varop'>.</span> <span class='varid'>getNode</span>
-<a name="line-572"></a>      <span class='keyword'>where</span>
-<a name="line-573"></a>      <span class='varid'>selCmt</span> <span class='layout'>(</span><span class='conid'>XCmt</span> <span class='varid'>c</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varid'>c</span>
-<a name="line-574"></a>      <span class='varid'>selCmt</span> <span class='keyword'>_</span>          <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-575"></a>
-<a name="line-576"></a><span class='comment'>-- |</span>
-<a name="line-577"></a><span class='comment'>-- filter for selecting the CDATA content.</span>
-<a name="line-578"></a><span class='comment'>-- Result of the filter is a single element list with a text node or the empty list</span>
-<a name="line-579"></a>
-<a name="line-580"></a><a name="getXCdata"></a><span class='definition'>getXCdata</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-581"></a><span class='definition'>getXCdata</span>
-<a name="line-582"></a>    <span class='keyglyph'>=</span> <span class='varid'>selData</span> <span class='varop'>.</span> <span class='varid'>getNode</span>
-<a name="line-583"></a>      <span class='keyword'>where</span>
-<a name="line-584"></a>      <span class='varid'>selData</span> <span class='layout'>(</span><span class='conid'>XCdata</span> <span class='varid'>d</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varid'>d</span>
-<a name="line-585"></a>      <span class='varid'>selData</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-586"></a>
-<a name="line-587"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-588"></a><span class='comment'>--</span>
-<a name="line-589"></a><span class='comment'>-- edit filter</span>
-<a name="line-590"></a>
-<a name="line-591"></a><span class='comment'>-- |</span>
-<a name="line-592"></a><span class='comment'>-- edit filter for changing the name of a tag node, an attribute or a pi.</span>
-<a name="line-593"></a><span class='comment'>-- result of the filter is a single element list with a tag node or the empty list</span>
-<a name="line-594"></a>
-<a name="line-595"></a><a name="replaceQName"></a><span class='definition'>replaceQName</span>				<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-596"></a><span class='definition'>replaceQName</span> <span class='varid'>n</span>				<span class='keyglyph'>=</span> <span class='varid'>modifyQName</span> <span class='layout'>(</span><span class='varid'>const</span> <span class='layout'>(</span><span class='varid'>mkName</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-597"></a>
-<a name="line-598"></a><span class='comment'>-- |</span>
-<a name="line-599"></a><span class='comment'>-- edit filter for changing the text of a text node.</span>
-<a name="line-600"></a><span class='comment'>-- result of the filter is a single element list with a text node or the empty list</span>
-<a name="line-601"></a><span class='comment'>--</span>
-<a name="line-602"></a><span class='comment'>-- example for editing all text nodes of a tree with an edit function @f@:</span>
-<a name="line-603"></a><span class='comment'>--</span>
-<a name="line-604"></a><span class='comment'>-- @processBottomUp (modifyText f \`when\` isXText)@</span>
-<a name="line-605"></a>
-<a name="line-606"></a><a name="modifyText"></a><span class='definition'>modifyText</span>				<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-607"></a><span class='definition'>modifyText</span> <span class='varid'>f</span> <span class='varid'>t</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-608"></a>    <span class='keyglyph'>|</span> <span class='varid'>isXTextNode</span> <span class='varid'>n</span>			<span class='keyglyph'>=</span> <span class='varid'>replaceNode</span> <span class='layout'>(</span><span class='conid'>XText</span> <span class='layout'>(</span><span class='varid'>f</span> <span class='layout'>(</span><span class='varid'>textOfXNode</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-609"></a><span class='definition'>modifyText</span> <span class='keyword'>_</span> <span class='keyword'>_</span>				<span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-610"></a>
-<a name="line-611"></a><span class='comment'>-- |</span>
-<a name="line-612"></a><span class='comment'>-- edit filter for changing the name of a tag node.</span>
-<a name="line-613"></a><span class='comment'>-- result of the filter is a single element list with a text node or the empty list</span>
-<a name="line-614"></a>
-<a name="line-615"></a><a name="modifyQName"></a><span class='definition'>modifyQName</span>				<span class='keyglyph'>::</span>  <span class='layout'>(</span><span class='conid'>TagName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TagName</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-616"></a><span class='definition'>modifyQName</span> <span class='varid'>f</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='layout'>(</span><span class='varid'>f</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='keyglyph'>]</span>
-<a name="line-617"></a><span class='definition'>modifyQName</span> <span class='varid'>f</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XPi</span>  <span class='varid'>n</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XPi</span>  <span class='layout'>(</span><span class='varid'>f</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='keyglyph'>]</span>
-<a name="line-618"></a><span class='definition'>modifyQName</span> <span class='varid'>f</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>n</span><span class='layout'>)</span>   <span class='varid'>cs</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='layout'>(</span><span class='varid'>f</span> <span class='varid'>n</span><span class='layout'>)</span>  <span class='layout'>)</span> <span class='varid'>cs</span><span class='keyglyph'>]</span>
-<a name="line-619"></a><span class='definition'>modifyQName</span> <span class='keyword'>_</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-620"></a>
-<a name="line-621"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-622"></a>
-<a name="line-623"></a><span class='comment'>-- |</span>
-<a name="line-624"></a><span class='comment'>-- process the attribute list of a tag node with a tree list filter.</span>
-<a name="line-625"></a><span class='comment'>-- for other trees this filter acts like 'none'</span>
-<a name="line-626"></a>
-<a name="line-627"></a><a name="processAttrl"></a><span class='definition'>processAttrl</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlSFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-628"></a><span class='definition'>processAttrl</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-629"></a>    <span class='keyglyph'>=</span> <span class='varid'>replaceAttrl</span> <span class='layout'>(</span><span class='varid'>f</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-630"></a>      <span class='keyword'>where</span>
-<a name="line-631"></a>      <span class='varid'>al</span> <span class='keyglyph'>=</span> <span class='varid'>getAttrl</span> <span class='varid'>t</span>
-<a name="line-632"></a>
-<a name="line-633"></a><a name="processAttr"></a><span class='comment'>-- |</span>
-<a name="line-634"></a><span class='comment'>-- elementwise processing of the attributes of a tag.</span>
-<a name="line-635"></a><span class='comment'>-- for other trees this filter acts like 'none'</span>
-<a name="line-636"></a><span class='comment'>--</span>
-<a name="line-637"></a><span class='comment'>-- see also : 'processAttrl'</span>
-<a name="line-638"></a><span class='definition'>processAttr</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-639"></a><span class='definition'>processAttr</span> <span class='varid'>f</span>
-<a name="line-640"></a>    <span class='keyglyph'>=</span> <span class='varid'>processAttrl</span> <span class='layout'>(</span><span class='varid'>f</span> <span class='varop'>$$</span><span class='layout'>)</span>
-<a name="line-641"></a>
-<a name="line-642"></a><span class='comment'>-- |</span>
-<a name="line-643"></a><span class='comment'>-- replace an attribute list</span>
-<a name="line-644"></a><span class='comment'>-- to be renamed when replaceAttrl is eliminated</span>
-<a name="line-645"></a>
-<a name="line-646"></a><a name="replaceAttrl"></a><span class='definition'>replaceAttrl</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-647"></a><span class='definition'>replaceAttrl</span> <span class='varid'>al</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='sel'>_al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span> <span class='keyglyph'>]</span>
-<a name="line-648"></a><span class='definition'>replaceAttrl</span> <span class='varid'>al</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XPi</span>  <span class='varid'>n</span> <span class='sel'>_al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XPi</span>  <span class='varid'>n</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span> <span class='keyglyph'>]</span>
-<a name="line-649"></a><span class='definition'>replaceAttrl</span> <span class='keyword'>_</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-650"></a>
-<a name="line-651"></a><span class='comment'>-- |</span>
-<a name="line-652"></a><span class='comment'>-- delete an attribute from the attribute list of a tag tree</span>
-<a name="line-653"></a>
-<a name="line-654"></a><a name="del1Attr"></a><span class='definition'>del1Attr</span>				<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-655"></a><span class='definition'>del1Attr</span> <span class='varid'>an</span>				<span class='keyglyph'>=</span> <span class='varid'>processAttr</span> <span class='layout'>(</span><span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>isAttr</span> <span class='varid'>an</span><span class='layout'>)</span>
-<a name="line-656"></a>
-<a name="line-657"></a><span class='comment'>-- |</span>
-<a name="line-658"></a><span class='comment'>-- add an attribute to the attribute list of a tag.</span>
-<a name="line-659"></a><span class='comment'>-- If the attribute already exists, it\'s substituted,</span>
-<a name="line-660"></a><span class='comment'>--</span>
-<a name="line-661"></a><span class='comment'>-- see also: 'sattr', '+='</span>
-<a name="line-662"></a>
-<a name="line-663"></a><a name="add1Attr"></a><span class='definition'>add1Attr</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-664"></a><span class='definition'>add1Attr</span> <span class='varid'>a</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>an</span><span class='layout'>)</span> <span class='sel'>_av</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-665"></a>    <span class='keyglyph'>=</span> <span class='varid'>replaceAttrl</span> <span class='layout'>(</span><span class='varid'>replace</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-666"></a>      <span class='keyword'>where</span>
-<a name="line-667"></a>      <span class='varid'>al</span> <span class='keyglyph'>=</span> <span class='varid'>getAttrl</span> <span class='varid'>t</span>
-<a name="line-668"></a>      <span class='varid'>replace</span> <span class='conid'>[]</span> <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span>
-<a name="line-669"></a>      <span class='varid'>replace</span> <span class='layout'>(</span><span class='varid'>a1</span> <span class='conop'>:</span> <span class='keyword'>as</span><span class='layout'>)</span>
-<a name="line-670"></a>	  <span class='keyglyph'>|</span> <span class='varid'>satisfies</span> <span class='layout'>(</span><span class='varid'>isAttr</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>an</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>a1</span>
-<a name="line-671"></a>	      <span class='keyglyph'>=</span> <span class='varid'>a</span> <span class='conop'>:</span> <span class='keyword'>as</span>
-<a name="line-672"></a>	  <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-673"></a>	      <span class='keyglyph'>=</span> <span class='varid'>a1</span> <span class='conop'>:</span> <span class='varid'>replace</span> <span class='keyword'>as</span>
-<a name="line-674"></a>
-<a name="line-675"></a><span class='definition'>add1Attr</span> <span class='keyword'>_</span> <span class='varid'>t</span>
-<a name="line-676"></a>    <span class='keyglyph'>=</span> <span class='varid'>this</span> <span class='varid'>t</span>
-<a name="line-677"></a>
-<a name="line-678"></a><span class='comment'>-- |</span>
-<a name="line-679"></a><span class='comment'>-- adds an attribute list computed by a filter, uses 'add1Attr'.</span>
-<a name="line-680"></a><span class='comment'>--</span>
-<a name="line-681"></a><span class='comment'>-- see also: '+='</span>
-<a name="line-682"></a>
-<a name="line-683"></a><a name="addAttrl"></a><span class='definition'>addAttrl</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-684"></a><span class='definition'>addAttrl</span> <span class='varid'>attrFilter</span> <span class='varid'>t</span>
-<a name="line-685"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>foldl</span> <span class='layout'>(</span><span class='varop'>.&gt;</span><span class='layout'>)</span> <span class='varid'>this</span> <span class='varop'>.</span> <span class='varid'>map</span> <span class='varid'>add1Attr</span><span class='layout'>)</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-686"></a>      <span class='keyword'>where</span>
-<a name="line-687"></a>      <span class='varid'>al</span> <span class='keyglyph'>=</span> <span class='varid'>attrFilter</span> <span class='varid'>t</span>
-<a name="line-688"></a>
-<a name="line-689"></a><span class='comment'>-- |</span>
-<a name="line-690"></a><span class='comment'>-- add or change an attribute with a given string as value for a XTag or XPi tree,</span>
-<a name="line-691"></a><span class='comment'>-- uses 'add1Attr'.</span>
-<a name="line-692"></a>
-<a name="line-693"></a><a name="addAttr"></a><span class='definition'>addAttr</span>					<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-694"></a><span class='definition'>addAttr</span> <span class='varid'>an</span> <span class='varid'>av</span>
-<a name="line-695"></a>    <span class='keyglyph'>=</span> <span class='varid'>add1Attr</span> <span class='layout'>(</span><span class='varid'>mkXAttrTree</span> <span class='varid'>an</span> <span class='layout'>(</span><span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>av</span> <span class='keyword'>then</span> <span class='conid'>[]</span> <span class='keyword'>else</span> <span class='varid'>xtext</span> <span class='varid'>av</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-696"></a>
-<a name="line-697"></a><span class='comment'>-- |</span>
-<a name="line-698"></a><span class='comment'>-- add or change an attribute with an Int value.</span>
-<a name="line-699"></a><span class='comment'>-- uses 'addAttr'.</span>
-<a name="line-700"></a>
-<a name="line-701"></a><a name="addAttrInt"></a><span class='definition'>addAttrInt</span>				<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-702"></a><span class='definition'>addAttrInt</span> <span class='varid'>an</span> <span class='varid'>av</span>
-<a name="line-703"></a>    <span class='keyglyph'>=</span> <span class='varid'>addAttr</span> <span class='varid'>an</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varid'>av</span><span class='layout'>)</span>
-<a name="line-704"></a>
-<a name="line-705"></a><span class='comment'>-- |</span>
-<a name="line-706"></a><span class='comment'>-- edit filter for changing the value of an attribute in a tag node.</span>
-<a name="line-707"></a><span class='comment'>-- result of the filter is a single element list with the tag node or the empty list.</span>
-<a name="line-708"></a><span class='comment'>--</span>
-<a name="line-709"></a><span class='comment'>--    * 1.parameter n :  the name of the attribute</span>
-<a name="line-710"></a><span class='comment'>--</span>
-<a name="line-711"></a><span class='comment'>--    - 2.parameter f :  the edit function for the attribute value</span>
-<a name="line-712"></a><span class='comment'>--</span>
-<a name="line-713"></a><span class='comment'>--    - returns : the edit filter</span>
-<a name="line-714"></a>
-<a name="line-715"></a><a name="modifyAttr"></a><span class='definition'>modifyAttr</span>				<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-716"></a><span class='definition'>modifyAttr</span> <span class='varid'>an</span> <span class='varid'>f</span>
-<a name="line-717"></a>    <span class='keyglyph'>=</span> <span class='varid'>processAttr</span> <span class='layout'>(</span><span class='varid'>modifyValue</span> <span class='varop'>`when`</span> <span class='varid'>isAttr</span> <span class='varid'>an</span><span class='layout'>)</span>
-<a name="line-718"></a>      <span class='keyword'>where</span>
-<a name="line-719"></a>      <span class='varid'>modifyValue</span> <span class='keyglyph'>=</span> <span class='varid'>modifyChildren</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>modifyText</span> <span class='varid'>f</span> <span class='varop'>$$</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>xmlTreesToText</span><span class='layout'>)</span>
-<a name="line-720"></a>
-<a name="line-721"></a><span class='comment'>-- |</span>
-<a name="line-722"></a><span class='comment'>-- add or change an attribute of a DTD tree</span>
-<a name="line-723"></a>
-<a name="line-724"></a><a name="addDTDAttr"></a><span class='definition'>addDTDAttr</span>				<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-725"></a><span class='definition'>addDTDAttr</span> <span class='varid'>an</span> <span class='varid'>av</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='varid'>e</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-726"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='varid'>e</span> <span class='layout'>(</span><span class='varid'>addEntry</span> <span class='varid'>an</span> <span class='varid'>av</span> <span class='varid'>al</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='keyglyph'>]</span>
-<a name="line-727"></a>
-<a name="line-728"></a><span class='definition'>addDTDAttr</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='keyword'>_</span>
-<a name="line-729"></a>    <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-730"></a>
-<a name="line-731"></a>
-<a name="line-732"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-733"></a><span class='comment'>--</span>
-<a name="line-734"></a>
-<a name="line-735"></a><span class='comment'>-- |</span>
-<a name="line-736"></a><span class='comment'>-- convenient function for tag node tree construction</span>
-<a name="line-737"></a><span class='comment'>--</span>
-<a name="line-738"></a><span class='comment'>-- infixl 7</span>
-<a name="line-739"></a><span class='comment'>--</span>
-<a name="line-740"></a><span class='comment'>-- filter combinator for tag tree constrcution</span>
-<a name="line-741"></a><span class='comment'>-- take a 1. filter for computing a tag node tree (or a whole list of tag node trees)</span>
-<a name="line-742"></a><span class='comment'>-- then add all trees computed by the 2. filter to the attribute list when they represent attributes</span>
-<a name="line-743"></a><span class='comment'>-- else append them to the list of children.</span>
-<a name="line-744"></a><span class='comment'>--</span>
-<a name="line-745"></a><span class='comment'>-- if the 1. filter computes a list of tag nodes, the results of the 2. filter are added to all trees</span>
-<a name="line-746"></a><span class='comment'>--</span>
-<a name="line-747"></a><span class='comment'>-- example: @ etag \"a\" += sattr \"href\" \"\#42\" += txt \"the answer\" @</span>
-<a name="line-748"></a><span class='comment'>-- gives the tree @ \&lt;a href=\"\#42\"\&gt;the answer\&lt;\/a\&gt; @</span>
-<a name="line-749"></a><span class='comment'>--</span>
-<a name="line-750"></a><span class='comment'>-- example: @ ( etag \"a\" +++ etag \"b\" ) += sattr \"x\" \"42\" @</span>
-<a name="line-751"></a><span class='comment'>-- gives the tree @ \&lt;a x=\"42\"\/\&gt;\&lt;b x=\"42\"\/\&gt; @</span>
-<a name="line-752"></a><span class='comment'>--</span>
-<a name="line-753"></a><span class='comment'>-- see also : 'etag', 'tag', 'add1Attr', 'modifyChildren', '++='</span>
-<a name="line-754"></a>
-<a name="line-755"></a><a name="+="></a><span class='layout'>(</span><span class='varop'>+=</span><span class='layout'>)</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-756"></a><span class='layout'>(</span><span class='varop'>+=</span><span class='layout'>)</span> <span class='varid'>tf</span> <span class='varid'>cf</span> <span class='varid'>t</span>
-<a name="line-757"></a>    <span class='keyglyph'>=</span> <span class='varid'>concat</span>
-<a name="line-758"></a>      <span class='keyglyph'>[</span> <span class='layout'>(</span> <span class='varid'>isXTag</span> <span class='varop'>`guards`</span> <span class='layout'>(</span> <span class='varid'>addaf</span> <span class='varop'>.&gt;</span> <span class='varid'>addcf</span> <span class='layout'>)</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>t'</span>
-<a name="line-759"></a>	<span class='keyglyph'>|</span> <span class='varid'>t'</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>tf</span> <span class='varid'>t</span>
-<a name="line-760"></a>      <span class='keyglyph'>]</span>
-<a name="line-761"></a>    <span class='keyword'>where</span>
-<a name="line-762"></a>    <span class='layout'>(</span><span class='keyword'>as</span><span class='layout'>,</span> <span class='varid'>cs</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>partition</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='varid'>isXAttr</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>cf</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-763"></a>
-<a name="line-764"></a>    <span class='varid'>addaf</span> <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='keyword'>as</span>   <span class='keyglyph'>=</span> <span class='varid'>this</span>
-<a name="line-765"></a>          <span class='keyglyph'>|</span> <span class='varid'>otherwise</span> <span class='keyglyph'>=</span> <span class='varid'>addAttrl</span> <span class='layout'>(</span><span class='varid'>const</span> <span class='keyword'>as</span><span class='layout'>)</span>
-<a name="line-766"></a>
-<a name="line-767"></a>    <span class='varid'>addcf</span> <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>cs</span>   <span class='keyglyph'>=</span> <span class='varid'>this</span>
-<a name="line-768"></a>          <span class='keyglyph'>|</span> <span class='varid'>otherwise</span> <span class='keyglyph'>=</span> <span class='varid'>modifyChildren</span> <span class='layout'>(</span><span class='varop'>++</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-769"></a>
-<a name="line-770"></a><span class='comment'>-- |</span>
-<a name="line-771"></a><span class='comment'>-- convenient filter function adding a whole list of trees, just for not writing to many ( ... ).</span>
-<a name="line-772"></a><span class='comment'>--</span>
-<a name="line-773"></a><span class='comment'>-- infixl 7</span>
-<a name="line-774"></a><span class='comment'>--</span>
-<a name="line-775"></a><span class='comment'>-- @ f ++= gl  == f += cat gl @</span>
-<a name="line-776"></a><span class='comment'>--</span>
-<a name="line-777"></a><span class='comment'>-- see also : '+='</span>
-<a name="line-778"></a>
-<a name="line-779"></a><a name="++="></a><span class='layout'>(</span><span class='varop'>++=</span><span class='layout'>)</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-780"></a><a name="tf"></a><span class='definition'>tf</span> <span class='varop'>++=</span> <span class='varid'>cfs</span>
-<a name="line-781"></a>    <span class='keyglyph'>=</span> <span class='varid'>tf</span> <span class='varop'>+=</span> <span class='varid'>cat</span> <span class='varid'>cfs</span>
-<a name="line-782"></a>
-<a name="line-783"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-784"></a><span class='comment'>--</span>
-<a name="line-785"></a><span class='comment'>-- string access functions</span>
-<a name="line-786"></a>
-<a name="line-787"></a><span class='comment'>-- |</span>
-<a name="line-788"></a><span class='comment'>-- combination of 'getValue' and conversion into a String</span>
-<a name="line-789"></a>
-<a name="line-790"></a><a name="valueOf"></a><span class='definition'>valueOf</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-791"></a><span class='definition'>valueOf</span> <span class='varid'>a</span>		<span class='keyglyph'>=</span> <span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>getValue</span> <span class='varid'>a</span>
-<a name="line-792"></a>
-<a name="line-793"></a><span class='comment'>-- |</span>
-<a name="line-794"></a><span class='comment'>-- combination of 'getValue' and conversion to a Int</span>
-<a name="line-795"></a>
-<a name="line-796"></a><a name="intValueOf"></a><span class='definition'>intValueOf</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span>
-<a name="line-797"></a><span class='definition'>intValueOf</span> <span class='varid'>a</span>		<span class='keyglyph'>=</span> <span class='varid'>decimalStringToInt</span> <span class='varop'>.</span> <span class='varid'>valueOf</span> <span class='varid'>a</span>
-<a name="line-798"></a>
-<a name="line-799"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-800"></a><span class='comment'>--</span>
-<a name="line-801"></a><span class='comment'>-- convenient filter (short cuts)</span>
-<a name="line-802"></a>
-<a name="line-803"></a><span class='comment'>-- |</span>
-<a name="line-804"></a><span class='comment'>-- variant of mkXTag with a list of filters for the attributes and a list of filters for the children.</span>
-<a name="line-805"></a><span class='comment'>-- this variant leads to a more readable source for a complicated construction filter</span>
-<a name="line-806"></a><span class='comment'>-- than the simple solution with a combination of 'mkXTag' and 'cat'.</span>
-<a name="line-807"></a><span class='comment'>--</span>
-<a name="line-808"></a><span class='comment'>-- see also : 'mkXTag', 'stag', 'etag', 'cat', '+='</span>
-<a name="line-809"></a>
-<a name="line-810"></a><a name="tag"></a><span class='definition'>tag</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-811"></a><span class='definition'>tag</span> <span class='varid'>n</span> <span class='varid'>afs</span> <span class='varid'>cfs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkXTag</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='varid'>cat</span> <span class='varid'>afs</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>cat</span> <span class='varid'>cfs</span><span class='layout'>)</span>
-<a name="line-812"></a>
-<a name="line-813"></a><span class='comment'>-- |</span>
-<a name="line-814"></a><span class='comment'>-- variant of tag, useful for tags without attributes and with a list of filters for</span>
-<a name="line-815"></a><span class='comment'>-- constructing the children</span>
-<a name="line-816"></a><span class='comment'>--</span>
-<a name="line-817"></a><span class='comment'>-- see also : 'mkXTag', 'tag', 'etag', 'cat', '+='</span>
-<a name="line-818"></a>
-<a name="line-819"></a><a name="stag"></a><span class='definition'>stag</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-820"></a><span class='definition'>stag</span> <span class='varid'>n</span> <span class='varid'>cfs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkXTag</span> <span class='varid'>n</span> <span class='varid'>none</span> <span class='layout'>(</span><span class='varid'>cat</span> <span class='varid'>cfs</span><span class='layout'>)</span>
-<a name="line-821"></a>
-<a name="line-822"></a><span class='comment'>-- |</span>
-<a name="line-823"></a><span class='comment'>-- variant of tag, useful for tags with attributes but without children</span>
-<a name="line-824"></a><span class='comment'>--</span>
-<a name="line-825"></a><span class='comment'>-- see also : 'mkXTag', 'tag', 'stag', 'etag', 'cat'</span>
-<a name="line-826"></a>
-<a name="line-827"></a><a name="atag"></a><span class='definition'>atag</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-828"></a><span class='definition'>atag</span> <span class='varid'>n</span> <span class='varid'>cfs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkXTag</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='varid'>cat</span> <span class='varid'>cfs</span><span class='layout'>)</span> <span class='varid'>none</span>
-<a name="line-829"></a>
-<a name="line-830"></a><span class='comment'>-- |</span>
-<a name="line-831"></a><span class='comment'>-- Short cut for empty tags without attributes</span>
-<a name="line-832"></a><span class='comment'>--</span>
-<a name="line-833"></a><span class='comment'>-- see also : 'tag', 'atag', 'stag', 'mkXTag' and '+='</span>
-<a name="line-834"></a>
-<a name="line-835"></a><a name="etag"></a><span class='definition'>etag</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-836"></a><span class='definition'>etag</span> <span class='varid'>n</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXTag</span> <span class='varid'>n</span> <span class='varid'>none</span> <span class='varid'>none</span>
-<a name="line-837"></a>
-<a name="line-838"></a><span class='comment'>-- | Qualified version of etag</span>
-<a name="line-839"></a>
-<a name="line-840"></a><a name="qetag"></a><span class='definition'>qetag</span>		<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-841"></a><span class='definition'>qetag</span> <span class='varid'>q</span>		<span class='keyglyph'>=</span> <span class='varid'>mkQTag</span> <span class='varid'>q</span> <span class='varid'>none</span> <span class='varid'>none</span>
-<a name="line-842"></a>
-<a name="line-843"></a><span class='comment'>-- | Alias for mkQTag</span>
-<a name="line-844"></a>
-<a name="line-845"></a><a name="qtag"></a><span class='definition'>qtag</span>		<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-846"></a><span class='definition'>qtag</span> <span class='keyglyph'>=</span> <span class='varid'>mkQTag</span>
-<a name="line-847"></a>
-<a name="line-848"></a>
-<a name="line-849"></a><span class='comment'>-- |</span>
-<a name="line-850"></a><span class='comment'>-- filter for creating a document root node with a list of filters for the attributes and a list of filters for the document.</span>
-<a name="line-851"></a><span class='comment'>--</span>
-<a name="line-852"></a><span class='comment'>-- see also : 'tag'</span>
-<a name="line-853"></a>
-<a name="line-854"></a><a name="rootTag"></a><span class='definition'>rootTag</span>		<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-855"></a><span class='definition'>rootTag</span> <span class='varid'>afs</span> <span class='varid'>cfs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkXTag</span> <span class='varid'>t_root</span> <span class='layout'>(</span><span class='varid'>cat</span> <span class='varid'>afs</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>cat</span> <span class='varid'>cfs</span><span class='layout'>)</span>
-<a name="line-856"></a>
-<a name="line-857"></a><span class='comment'>-- |</span>
-<a name="line-858"></a><span class='comment'>-- Alias for 'mkXAttr'</span>
-<a name="line-859"></a>
-<a name="line-860"></a><a name="attr"></a><span class='definition'>attr</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-861"></a><span class='definition'>attr</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXAttr</span>
-<a name="line-862"></a>
-<a name="line-863"></a><a name="qattr"></a><span class='comment'>-- | Alias for mkQAttr</span>
-<a name="line-864"></a><span class='definition'>qattr</span>		<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-865"></a><span class='definition'>qattr</span> <span class='keyglyph'>=</span> <span class='varid'>mkQAttr</span>
-<a name="line-866"></a>
-<a name="line-867"></a><span class='comment'>-- |</span>
-<a name="line-868"></a><span class='comment'>-- short cut for attribute construction with string constants</span>
-<a name="line-869"></a><span class='comment'>--</span>
-<a name="line-870"></a><span class='comment'>-- set also : 'attr', 'mkXAttr' and 'mkXText'</span>
-<a name="line-871"></a>
-<a name="line-872"></a><a name="sattr"></a><span class='definition'>sattr</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-873"></a><span class='definition'>sattr</span> <span class='varid'>a</span> <span class='varid'>v</span>	<span class='keyglyph'>=</span> <span class='varid'>mkXAttr</span> <span class='varid'>a</span> <span class='layout'>(</span><span class='varid'>mkXText</span> <span class='varid'>v</span><span class='layout'>)</span>
-<a name="line-874"></a>
-<a name="line-875"></a><span class='comment'>-- |</span>
-<a name="line-876"></a><span class='comment'>-- short cut for 'mkXText'</span>
-<a name="line-877"></a>
-<a name="line-878"></a><a name="txt"></a><span class='definition'>txt</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span>  <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-879"></a><span class='definition'>txt</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXText</span>
-<a name="line-880"></a>
-<a name="line-881"></a><span class='comment'>-- |</span>
-<a name="line-882"></a><span class='comment'>-- short cut for simple comment</span>
-<a name="line-883"></a><span class='comment'>-- the input tree is ignored</span>
-<a name="line-884"></a><span class='comment'>--</span>
-<a name="line-885"></a><span class='comment'>-- see also : 'mkXCmt'</span>
-<a name="line-886"></a>
-<a name="line-887"></a><a name="cmt"></a><span class='definition'>cmt</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span>  <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-888"></a><span class='definition'>cmt</span> <span class='varid'>c</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXCmt</span> <span class='layout'>(</span><span class='varid'>txt</span> <span class='varid'>c</span><span class='layout'>)</span>
-<a name="line-889"></a>
-<a name="line-890"></a><span class='comment'>-- |</span>
-<a name="line-891"></a><span class='comment'>-- short cut for generating simple processing instructions (spi)</span>
-<a name="line-892"></a><span class='comment'>-- the input tree is ignored</span>
-<a name="line-893"></a><span class='comment'>--</span>
-<a name="line-894"></a><span class='comment'>-- @spi \"xyz\" \"abc\"@ is equal to @mkXPi \"xyz\" (txt \"abc\")@</span>
-<a name="line-895"></a><span class='comment'>-- (the name pi is already used in prelude)</span>
-<a name="line-896"></a>
-<a name="line-897"></a><a name="spi"></a><span class='definition'>spi</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-898"></a><span class='definition'>spi</span> <span class='varid'>n</span> <span class='varid'>c</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXPi</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='varid'>txt</span> <span class='varid'>c</span><span class='layout'>)</span>
-<a name="line-899"></a>
-<a name="line-900"></a><span class='comment'>-- |</span>
-<a name="line-901"></a><span class='comment'>-- short cut for generating simple cdata sections,</span>
-<a name="line-902"></a><span class='comment'>-- the input tree is ignored</span>
-<a name="line-903"></a>
-<a name="line-904"></a><a name="cdata"></a><span class='definition'>cdata</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-905"></a><span class='definition'>cdata</span> <span class='varid'>s</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXCdata</span> <span class='layout'>(</span><span class='varid'>txt</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-906"></a>
-<a name="line-907"></a><span class='comment'>-- |</span>
-<a name="line-908"></a><span class='comment'>-- DTD part generation with filter for attributes and children</span>
-<a name="line-909"></a><span class='comment'>-- see also: 'mkXDTDTree'</span>
-<a name="line-910"></a>
-<a name="line-911"></a><a name="dtd"></a><span class='definition'>dtd</span>		<span class='keyglyph'>::</span> <span class='conid'>DTDElem</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>XmlFilter</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-912"></a><span class='definition'>dtd</span> <span class='varid'>dtdpart</span> <span class='varid'>afs</span> <span class='varid'>cfs</span> <span class='varid'>t</span>
-<a name="line-913"></a>    <span class='keyglyph'>=</span> <span class='varid'>mkXDTD</span> <span class='varid'>dtdpart</span> <span class='layout'>(</span><span class='varid'>toAttrl</span> <span class='varop'>.</span> <span class='varid'>cat</span> <span class='varid'>afs</span> <span class='varop'>$</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>cat</span> <span class='varid'>cfs</span> <span class='varid'>t</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-914"></a>
-<a name="line-915"></a><span class='comment'>-- |</span>
-<a name="line-916"></a><span class='comment'>-- short cut for mkXError c_warn.</span>
-<a name="line-917"></a><span class='comment'>--</span>
-<a name="line-918"></a><span class='comment'>-- see also : 'mkXError'</span>
-<a name="line-919"></a>
-<a name="line-920"></a><a name="warn"></a><span class='definition'>warn</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-921"></a><span class='definition'>warn</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXError</span> <span class='varid'>c_warn</span>
-<a name="line-922"></a>
-<a name="line-923"></a><span class='comment'>-- |</span>
-<a name="line-924"></a><span class='comment'>-- short cut for mkXError c_fatal.</span>
-<a name="line-925"></a><span class='comment'>--</span>
-<a name="line-926"></a><span class='comment'>-- see also : 'mkXError'</span>
-<a name="line-927"></a>
-<a name="line-928"></a><a name="err"></a><span class='definition'>err</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-929"></a><span class='definition'>err</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXError</span> <span class='varid'>c_err</span>
-<a name="line-930"></a>
-<a name="line-931"></a><span class='comment'>-- |</span>
-<a name="line-932"></a><span class='comment'>-- short cut for mkXError c_fatal.</span>
-<a name="line-933"></a><span class='comment'>--</span>
-<a name="line-934"></a><span class='comment'>-- see also : 'mkXError'</span>
-<a name="line-935"></a>
-<a name="line-936"></a><a name="fatal"></a><span class='definition'>fatal</span>		<span class='keyglyph'>::</span>  <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-937"></a><span class='definition'>fatal</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXError</span> <span class='varid'>c_fatal</span>
-<a name="line-938"></a>
-<a name="line-939"></a><span class='comment'>-- |</span>
-<a name="line-940"></a><span class='comment'>-- check whether an option is set</span>
-<a name="line-941"></a><span class='comment'>--</span>
-<a name="line-942"></a><span class='comment'>-- reads the value of an attribute, usually applied to a document root node,</span>
-<a name="line-943"></a><span class='comment'>-- and checks if the value represents True. The following strings are interpreted</span>
-<a name="line-944"></a><span class='comment'>-- as true: \"1\", \"True\", \"true\", \"yes\", \"Yes\".</span>
-<a name="line-945"></a>
-<a name="line-946"></a><a name="hasOption"></a><span class='definition'>hasOption</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-947"></a><span class='definition'>hasOption</span> <span class='varid'>opt</span>
-<a name="line-948"></a>    <span class='keyglyph'>=</span> <span class='varid'>getValue</span> <span class='varid'>opt</span> <span class='varop'>.&gt;</span> <span class='varid'>isOfText</span> <span class='varid'>isSet</span>
-<a name="line-949"></a>      <span class='keyword'>where</span>
-<a name="line-950"></a>      <span class='varid'>isSet</span> <span class='varid'>x</span>
-<a name="line-951"></a>	  <span class='keyglyph'>=</span> <span class='varid'>x</span> <span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='str'>"1"</span><span class='layout'>,</span> <span class='str'>"True"</span><span class='layout'>,</span> <span class='str'>"true"</span><span class='layout'>,</span> <span class='str'>"yes"</span><span class='layout'>,</span> <span class='str'>"Yes"</span><span class='keyglyph'>]</span>
-<a name="line-952"></a>
-<a name="line-953"></a>
-<a name="line-954"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-955"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeFunctions.html b/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeFunctions.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeFunctions.html
+++ /dev/null
@@ -1,561 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a>
-<a name="line-3"></a><span class='comment'>{- |
-<a name="line-4"></a>   Module     : Text.XML.HXT.DOM.XmlTreeFunctions
-<a name="line-5"></a>   Copyright  : Copyright (C) 2008 Uwe Schmidt
-<a name="line-6"></a>   License    : MIT
-<a name="line-7"></a>
-<a name="line-8"></a>   Maintainer : Uwe Schmidt (uwe@fh-wedel.de)
-<a name="line-9"></a>   Stability  : stable
-<a name="line-10"></a>   Portability: portable
-<a name="line-11"></a>
-<a name="line-12"></a>   Basic XmlTree functions
-<a name="line-13"></a>
-<a name="line-14"></a>-}</span>
-<a name="line-15"></a>
-<a name="line-16"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-17"></a>
-<a name="line-18"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFunctions</span>
-<a name="line-19"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeFunctions</span>
-<a name="line-20"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>ShowXml</span>
-<a name="line-21"></a>    <span class='layout'>)</span>
-<a name="line-22"></a><span class='keyword'>where</span>
-<a name="line-23"></a>
-<a name="line-24"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeTypes</span>
-<a name="line-25"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlKeywords</span>
-<a name="line-26"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>ShowXml</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Maybe</span>
-<a name="line-29"></a>
-<a name="line-30"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-31"></a><span class='comment'>--</span>
-<a name="line-32"></a><span class='comment'>-- XNode Predicates</span>
-<a name="line-33"></a><span class='comment'>--</span>
-<a name="line-34"></a>
-<a name="line-35"></a><a name="isXCdataNode"></a><span class='definition'>isXCdataNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-36"></a><span class='definition'>isXCdataNode</span> <span class='layout'>(</span><span class='conid'>XCdata</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-37"></a><span class='definition'>isXCdataNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-38"></a>
-<a name="line-39"></a><a name="isXCharRefNode"></a><span class='definition'>isXCharRefNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-40"></a><span class='definition'>isXCharRefNode</span> <span class='layout'>(</span><span class='conid'>XCharRef</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-41"></a><span class='definition'>isXCharRefNode</span> <span class='keyword'>_</span>		<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-42"></a>
-<a name="line-43"></a><a name="isXCmtNode"></a><span class='definition'>isXCmtNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-44"></a><span class='definition'>isXCmtNode</span> <span class='layout'>(</span><span class='conid'>XCmt</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-45"></a><span class='definition'>isXCmtNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-46"></a>
-<a name="line-47"></a><a name="isXDTDNode"></a><span class='definition'>isXDTDNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-48"></a><span class='definition'>isXDTDNode</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-49"></a><span class='definition'>isXDTDNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-50"></a>
-<a name="line-51"></a><a name="isXAttrNode"></a><span class='definition'>isXAttrNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-52"></a><span class='definition'>isXAttrNode</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-53"></a><span class='definition'>isXAttrNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-54"></a>
-<a name="line-55"></a><a name="isXEntityRefNode"></a><span class='definition'>isXEntityRefNode</span>		<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-56"></a><span class='definition'>isXEntityRefNode</span> <span class='layout'>(</span><span class='conid'>XEntityRef</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-57"></a><span class='definition'>isXEntityRefNode</span> <span class='keyword'>_</span>		<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-58"></a>
-<a name="line-59"></a><a name="isXErrorNode"></a><span class='definition'>isXErrorNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-60"></a><span class='definition'>isXErrorNode</span> <span class='layout'>(</span><span class='conid'>XError</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-61"></a><span class='definition'>isXErrorNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-62"></a>
-<a name="line-63"></a><a name="isXPiNode"></a><span class='definition'>isXPiNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-64"></a><span class='definition'>isXPiNode</span> <span class='layout'>(</span><span class='conid'>XPi</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-65"></a><span class='definition'>isXPiNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-66"></a>
-<a name="line-67"></a><a name="isXTagNode"></a><span class='definition'>isXTagNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-68"></a><span class='definition'>isXTagNode</span>  <span class='layout'>(</span><span class='conid'>XTag</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-69"></a><span class='definition'>isXTagNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-70"></a>
-<a name="line-71"></a><a name="isXTextNode"></a><span class='definition'>isXTextNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-72"></a><span class='definition'>isXTextNode</span> <span class='layout'>(</span><span class='conid'>XText</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-73"></a><span class='definition'>isXTextNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-74"></a>
-<a name="line-75"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-76"></a>
-<a name="line-77"></a><a name="isRootNode"></a><span class='definition'>isRootNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-78"></a><span class='definition'>isRootNode</span>			<span class='keyglyph'>=</span> <span class='varid'>isTagNode</span> <span class='varid'>t_root</span>
-<a name="line-79"></a>
-<a name="line-80"></a><a name="isTagNode"></a><span class='definition'>isTagNode</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-81"></a><span class='definition'>isTagNode</span> <span class='varid'>n</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfTagNode</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varop'>==</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>qualifiedName</span><span class='layout'>)</span>
-<a name="line-82"></a>
-<a name="line-83"></a><a name="isOfTagNode"></a><span class='definition'>isOfTagNode</span>			<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>TagName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-84"></a><span class='definition'>isOfTagNode</span> <span class='varid'>p</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>p</span> <span class='varid'>n</span>
-<a name="line-85"></a><span class='definition'>isOfTagNode</span> <span class='keyword'>_</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-86"></a>
-<a name="line-87"></a><a name="isAttrNode"></a><span class='definition'>isAttrNode</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-88"></a><span class='definition'>isAttrNode</span> <span class='varid'>n</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfAttrNode</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varop'>==</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>qualifiedName</span><span class='layout'>)</span>
-<a name="line-89"></a>
-<a name="line-90"></a><a name="isOfAttrNode"></a><span class='definition'>isOfAttrNode</span>			<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>AttrName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-91"></a><span class='definition'>isOfAttrNode</span> <span class='varid'>p</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>n</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>p</span> <span class='varid'>n</span>
-<a name="line-92"></a><span class='definition'>isOfAttrNode</span> <span class='keyword'>_</span> <span class='keyword'>_</span>		<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-93"></a>
-<a name="line-94"></a><a name="isTextNode"></a><span class='definition'>isTextNode</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-95"></a><span class='definition'>isTextNode</span> <span class='varid'>t</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfTextNode</span> <span class='layout'>(</span><span class='varop'>==</span> <span class='varid'>t</span><span class='layout'>)</span>
-<a name="line-96"></a>
-<a name="line-97"></a><a name="isOfTextNode"></a><span class='definition'>isOfTextNode</span>			<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-98"></a><span class='definition'>isOfTextNode</span> <span class='varid'>p</span> <span class='layout'>(</span><span class='conid'>XText</span> <span class='varid'>t</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>p</span> <span class='varid'>t</span>
-<a name="line-99"></a><span class='definition'>isOfTextNode</span> <span class='keyword'>_</span> <span class='keyword'>_</span>		<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-100"></a>
-<a name="line-101"></a><a name="isPiNode"></a><span class='definition'>isPiNode</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-102"></a><span class='definition'>isPiNode</span> <span class='varid'>n</span>			<span class='keyglyph'>=</span> <span class='varid'>isOfPiNode</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varop'>==</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>qualifiedName</span><span class='layout'>)</span>
-<a name="line-103"></a>
-<a name="line-104"></a><a name="isOfPiNode"></a><span class='definition'>isOfPiNode</span>			<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>TagName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-105"></a><span class='definition'>isOfPiNode</span> <span class='varid'>p</span> <span class='layout'>(</span><span class='conid'>XPi</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='varid'>p</span> <span class='varid'>n</span>
-<a name="line-106"></a><span class='definition'>isOfPiNode</span> <span class='keyword'>_</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-107"></a>
-<a name="line-108"></a><a name="isDTDElemNode"></a><span class='definition'>isDTDElemNode</span> 			<span class='keyglyph'>::</span> <span class='conid'>DTDElem</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-109"></a><span class='definition'>isDTDElemNode</span> <span class='varid'>e</span>	<span class='layout'>(</span><span class='conid'>XDTD</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>n</span> <span class='varop'>==</span> <span class='varid'>e</span>
-<a name="line-110"></a><span class='definition'>isDTDElemNode</span> <span class='keyword'>_</span> <span class='keyword'>_</span>		<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-111"></a>
-<a name="line-112"></a><a name="isErrorNode"></a><span class='definition'>isErrorNode</span> 			<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-113"></a><span class='definition'>isErrorNode</span> <span class='varid'>l</span> <span class='layout'>(</span><span class='conid'>XError</span> <span class='varid'>l'</span>  <span class='keyword'>_</span><span class='layout'>)</span>    <span class='keyglyph'>=</span> <span class='varid'>l</span> <span class='varop'>==</span> <span class='varid'>l'</span>
-<a name="line-114"></a><span class='definition'>isErrorNode</span> <span class='keyword'>_</span> <span class='keyword'>_</span>  <span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-115"></a>
-<a name="line-116"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-117"></a>
-<a name="line-118"></a><a name="textOfXNode"></a><span class='definition'>textOfXNode</span>			<span class='keyglyph'>::</span> <span class='conid'>XNode</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-119"></a><span class='definition'>textOfXNode</span> <span class='layout'>(</span><span class='conid'>XText</span> <span class='varid'>t</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='varid'>t</span>
-<a name="line-120"></a><span class='definition'>textOfXNode</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-121"></a>
-<a name="line-122"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-123"></a><span class='comment'>--</span>
-<a name="line-124"></a><span class='comment'>-- XmlTree constructors</span>
-<a name="line-125"></a>
-<a name="line-126"></a><span class='comment'>-- |</span>
-<a name="line-127"></a><span class='comment'>-- Create a tree with a tag node.</span>
-<a name="line-128"></a><span class='comment'>--</span>
-<a name="line-129"></a><span class='comment'>--    * 1.parameter n :  the name of the tag</span>
-<a name="line-130"></a><span class='comment'>--</span>
-<a name="line-131"></a><span class='comment'>--    - 2.parameter al :  the tag attribte list</span>
-<a name="line-132"></a><span class='comment'>--</span>
-<a name="line-133"></a><span class='comment'>--    - 3.parameter cs :  the list of children</span>
-<a name="line-134"></a><span class='comment'>--</span>
-<a name="line-135"></a><span class='comment'>--    - returns : the new tree</span>
-<a name="line-136"></a>
-<a name="line-137"></a><a name="mkXTagTree"></a><span class='definition'>mkXTagTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-138"></a><span class='definition'>mkXTagTree</span> <span class='varid'>n</span> <span class='varid'>al</span> <span class='varid'>cs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNode</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='layout'>(</span><span class='varid'>mkName</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span>
-<a name="line-139"></a>
-<a name="line-140"></a><span class='comment'>-- | Version with qualified name of 'mkXTagTree'</span>
-<a name="line-141"></a>
-<a name="line-142"></a><a name="mkQTagTree"></a><span class='definition'>mkQTagTree</span>		<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-143"></a><span class='definition'>mkQTagTree</span> <span class='varid'>q</span> <span class='varid'>al</span> <span class='varid'>cs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNode</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>q</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span>
-<a name="line-144"></a>
-<a name="line-145"></a><span class='comment'>-- |</span>
-<a name="line-146"></a><span class='comment'>-- create a tree with a namespace aware tag node.</span>
-<a name="line-147"></a><span class='comment'>--</span>
-<a name="line-148"></a><span class='comment'>--    * 1.parameter n :  the prefix:localpart of the tag</span>
-<a name="line-149"></a><span class='comment'>--</span>
-<a name="line-150"></a><span class='comment'>--    - 2.parameter ns:  the namespace uri</span>
-<a name="line-151"></a><span class='comment'>--</span>
-<a name="line-152"></a><span class='comment'>--    - 3.parameter al :  the tag attribte list</span>
-<a name="line-153"></a><span class='comment'>--</span>
-<a name="line-154"></a><span class='comment'>--    - 4.parameter cs :  the list of children</span>
-<a name="line-155"></a><span class='comment'>--</span>
-<a name="line-156"></a><span class='comment'>--    - returns : the new tree</span>
-<a name="line-157"></a><span class='comment'>--</span>
-<a name="line-158"></a><span class='comment'>-- see also: 'mkXTagTree'</span>
-<a name="line-159"></a>
-<a name="line-160"></a><a name="mkXNsTagTree"></a><span class='definition'>mkXNsTagTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-161"></a><span class='definition'>mkXNsTagTree</span> <span class='varid'>n</span> <span class='varid'>ns</span> <span class='varid'>al</span> <span class='varid'>cs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNode</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='layout'>(</span><span class='varid'>mkNsName</span> <span class='varid'>n</span> <span class='varid'>ns</span><span class='layout'>)</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span>
-<a name="line-162"></a>
-<a name="line-163"></a><span class='comment'>-- |</span>
-<a name="line-164"></a><span class='comment'>-- creates a new document tree with empty contents.</span>
-<a name="line-165"></a><span class='comment'>--</span>
-<a name="line-166"></a><span class='comment'>--   * 1.parameter al : the attribute list for the root node</span>
-<a name="line-167"></a><span class='comment'>--</span>
-<a name="line-168"></a><span class='comment'>-- returns a single node tree with tag name \"\/\" indicating a root and</span>
-<a name="line-169"></a><span class='comment'>-- with empty list of children</span>
-<a name="line-170"></a><span class='comment'>--</span>
-<a name="line-171"></a><span class='comment'>-- see also : 'emptyRoot'</span>
-<a name="line-172"></a>
-<a name="line-173"></a><a name="newRoot"></a><span class='definition'>newRoot</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-174"></a><span class='definition'>newRoot</span> <span class='varid'>al</span>		<span class='keyglyph'>=</span> <span class='varid'>mkXTagTree</span> <span class='varid'>t_root</span> <span class='varid'>al</span> <span class='conid'>[]</span>
-<a name="line-175"></a>
-<a name="line-176"></a><span class='comment'>-- | the empty document tree</span>
-<a name="line-177"></a><span class='comment'>--</span>
-<a name="line-178"></a><span class='comment'>-- see also : 'newRoot'</span>
-<a name="line-179"></a>
-<a name="line-180"></a><a name="emptyRoot"></a><span class='definition'>emptyRoot</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span>
-<a name="line-181"></a><span class='definition'>emptyRoot</span>		<span class='keyglyph'>=</span> <span class='varid'>newRoot</span> <span class='conid'>[]</span>
-<a name="line-182"></a>
-<a name="line-183"></a><span class='comment'>-- |</span>
-<a name="line-184"></a><span class='comment'>-- create a new empty document with source name as parameter</span>
-<a name="line-185"></a>
-<a name="line-186"></a><a name="newDocument"></a><span class='definition'>newDocument</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-187"></a><span class='definition'>newDocument</span> <span class='varid'>n</span>
-<a name="line-188"></a>    <span class='keyglyph'>=</span> <span class='varid'>newDocument'</span> <span class='keyglyph'>[</span><span class='layout'>(</span><span class='varid'>a_source</span><span class='layout'>,</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>,</span> <span class='layout'>(</span><span class='varid'>a_status</span><span class='layout'>,</span> <span class='varid'>show</span> <span class='varid'>c_ok</span><span class='layout'>)</span><span class='keyglyph'>]</span>
-<a name="line-189"></a>
-<a name="line-190"></a><span class='comment'>-- |</span>
-<a name="line-191"></a><span class='comment'>-- create a new empty document with a list of attributes for source location and options</span>
-<a name="line-192"></a><span class='comment'>--</span>
-<a name="line-193"></a><span class='comment'>-- see also : 'newDocument'</span>
-<a name="line-194"></a>
-<a name="line-195"></a><a name="newDocument'"></a><span class='definition'>newDocument'</span>		<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-196"></a><span class='definition'>newDocument'</span> <span class='varid'>al</span>
-<a name="line-197"></a>    <span class='keyglyph'>=</span> <span class='varid'>newRoot</span> <span class='layout'>(</span><span class='varid'>fromAttrl</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-198"></a>
-<a name="line-199"></a><span class='comment'>-- |</span>
-<a name="line-200"></a><span class='comment'>-- create a document root tree.</span>
-<a name="line-201"></a><span class='comment'>--</span>
-<a name="line-202"></a><span class='comment'>--    * 1.parameter al :  the attribute list for the root. This list must contain at</span>
-<a name="line-203"></a><span class='comment'>--		  least an attribute \"source\" that contains the URI of the document to be processed</span>
-<a name="line-204"></a><span class='comment'>--</span>
-<a name="line-205"></a><span class='comment'>--    - 2.parameter cs :  the list for the document content</span>
-<a name="line-206"></a><span class='comment'>--</span>
-<a name="line-207"></a><span class='comment'>--    - returns : the document root</span>
-<a name="line-208"></a>
-<a name="line-209"></a><a name="mkRootTree"></a><span class='definition'>mkRootTree</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-210"></a><span class='definition'>mkRootTree</span> <span class='varid'>al</span> <span class='varid'>cs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkXTagTree</span> <span class='varid'>t_root</span> <span class='varid'>al</span> <span class='varid'>cs</span>
-<a name="line-211"></a>
-<a name="line-212"></a><span class='comment'>-- |</span>
-<a name="line-213"></a><span class='comment'>-- create a leaf for a text element.</span>
-<a name="line-214"></a><span class='comment'>--</span>
-<a name="line-215"></a><span class='comment'>--    * 1.parameter txt :  the text</span>
-<a name="line-216"></a><span class='comment'>--</span>
-<a name="line-217"></a><span class='comment'>--    - returns : the tree with the single node containing the text</span>
-<a name="line-218"></a>
-<a name="line-219"></a><a name="mkXTextTree"></a><span class='definition'>mkXTextTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-220"></a><span class='definition'>mkXTextTree</span> <span class='varid'>s</span>		<span class='keyglyph'>=</span> <span class='varid'>mkLeaf</span> <span class='layout'>(</span><span class='conid'>XText</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-221"></a>
-<a name="line-222"></a><span class='comment'>-- |</span>
-<a name="line-223"></a><span class='comment'>-- create a leaf for a char reference.</span>
-<a name="line-224"></a><span class='comment'>--</span>
-<a name="line-225"></a><span class='comment'>--    * 1.parameter i :  the integer representing the Unicode char</span>
-<a name="line-226"></a><span class='comment'>--</span>
-<a name="line-227"></a><span class='comment'>--    - returns : the tree with the single node containing the char reference</span>
-<a name="line-228"></a>
-<a name="line-229"></a><a name="mkXCharRefTree"></a><span class='definition'>mkXCharRefTree</span>		<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-230"></a><span class='definition'>mkXCharRefTree</span> <span class='varid'>s</span>	<span class='keyglyph'>=</span> <span class='varid'>mkLeaf</span> <span class='layout'>(</span><span class='conid'>XCharRef</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-231"></a>
-<a name="line-232"></a><span class='comment'>-- |</span>
-<a name="line-233"></a><span class='comment'>-- create a leaf for an entity reference.</span>
-<a name="line-234"></a><span class='comment'>--</span>
-<a name="line-235"></a><span class='comment'>--    * 1.parameter n :  the name of the entity reference</span>
-<a name="line-236"></a><span class='comment'>--</span>
-<a name="line-237"></a><span class='comment'>--    - returns : the tree with the single node containing the entity reference</span>
-<a name="line-238"></a>
-<a name="line-239"></a><a name="mkXEntityRefTree"></a><span class='definition'>mkXEntityRefTree</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-240"></a><span class='definition'>mkXEntityRefTree</span> <span class='varid'>s</span>	<span class='keyglyph'>=</span> <span class='varid'>mkLeaf</span> <span class='layout'>(</span><span class='conid'>XEntityRef</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-241"></a>
-<a name="line-242"></a><span class='comment'>-- |</span>
-<a name="line-243"></a><span class='comment'>-- create a leaf for a comment,</span>
-<a name="line-244"></a><span class='comment'>--</span>
-<a name="line-245"></a><span class='comment'>--    * 1.parameter c :  the comment text</span>
-<a name="line-246"></a><span class='comment'>--</span>
-<a name="line-247"></a><span class='comment'>--    - returns : the tree with the single node containing the comment</span>
-<a name="line-248"></a>
-<a name="line-249"></a><a name="mkXCmtTree"></a><span class='definition'>mkXCmtTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-250"></a><span class='definition'>mkXCmtTree</span> <span class='varid'>c</span>		<span class='keyglyph'>=</span> <span class='varid'>mkLeaf</span> <span class='layout'>(</span><span class='conid'>XCmt</span> <span class='varid'>c</span><span class='layout'>)</span>
-<a name="line-251"></a>
-<a name="line-252"></a><span class='comment'>-- |</span>
-<a name="line-253"></a><span class='comment'>-- create a tree for a part of a DTD</span>
-<a name="line-254"></a><span class='comment'>--</span>
-<a name="line-255"></a><span class='comment'>--    * 1.parameter d :  the type of the DTD part</span>
-<a name="line-256"></a><span class='comment'>--</span>
-<a name="line-257"></a><span class='comment'>--    - 2.parameter al :  the attribute list for the DTD part</span>
-<a name="line-258"></a><span class='comment'>--</span>
-<a name="line-259"></a><span class='comment'>--    - 3.parameter ds :  the possibly empty list of components for the DTD part</span>
-<a name="line-260"></a><span class='comment'>--</span>
-<a name="line-261"></a><span class='comment'>--    - returns : the tree with the composed DTD part</span>
-<a name="line-262"></a>
-<a name="line-263"></a><a name="mkXDTDTree"></a><span class='definition'>mkXDTDTree</span>		<span class='keyglyph'>::</span> <span class='conid'>DTDElem</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-264"></a><span class='definition'>mkXDTDTree</span> <span class='varid'>d</span> <span class='varid'>al</span>	<span class='varid'>ds</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNode</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='varid'>d</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>ds</span>
-<a name="line-265"></a>
-<a name="line-266"></a>
-<a name="line-267"></a><span class='comment'>-- |</span>
-<a name="line-268"></a><span class='comment'>-- create an attribute tree as part of a tag attribute list of tag nodes</span>
-<a name="line-269"></a><span class='comment'>--</span>
-<a name="line-270"></a><span class='comment'>--    * 1.parameter al : the attribute name</span>
-<a name="line-271"></a><span class='comment'>--</span>
-<a name="line-272"></a><span class='comment'>--    - 2.parameter av : the attribute value as tree list, usually containing a single text node</span>
-<a name="line-273"></a>
-<a name="line-274"></a><a name="mkXAttrTree"></a><span class='definition'>mkXAttrTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-275"></a><span class='definition'>mkXAttrTree</span> <span class='varid'>an</span> <span class='varid'>av</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNode</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='layout'>(</span><span class='varid'>mkName</span> <span class='varid'>an</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>av</span>
-<a name="line-276"></a>
-<a name="line-277"></a><span class='comment'>-- | Qualified version of 'mkXAttrTree'</span>
-<a name="line-278"></a>
-<a name="line-279"></a><a name="mkQAttrTree"></a><span class='definition'>mkQAttrTree</span>		<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-280"></a><span class='definition'>mkQAttrTree</span> <span class='varid'>aq</span> <span class='varid'>av</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNode</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>aq</span><span class='layout'>)</span> <span class='varid'>av</span>
-<a name="line-281"></a>
-<a name="line-282"></a>
-<a name="line-283"></a><span class='comment'>-- |</span>
-<a name="line-284"></a><span class='comment'>-- create an attribute tree with a namespace</span>
-<a name="line-285"></a><span class='comment'>--</span>
-<a name="line-286"></a><span class='comment'>--    * 1.parameter al : the attribute name</span>
-<a name="line-287"></a><span class='comment'>--</span>
-<a name="line-288"></a><span class='comment'>--    - 2.parameter ns : namespace uri</span>
-<a name="line-289"></a><span class='comment'>--</span>
-<a name="line-290"></a><span class='comment'>--    - 3.parameter av : the attribute value as tree list, usually containing a single text node</span>
-<a name="line-291"></a><span class='comment'>--</span>
-<a name="line-292"></a><span class='comment'>-- see also: 'mkXAttrTree', 'mkXNsTagTree'</span>
-<a name="line-293"></a>
-<a name="line-294"></a><a name="mkXNsAttrTree"></a><span class='definition'>mkXNsAttrTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-295"></a><span class='definition'>mkXNsAttrTree</span> <span class='varid'>an</span> <span class='varid'>ns</span> <span class='varid'>av</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNode</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='layout'>(</span><span class='varid'>mkNsName</span> <span class='varid'>an</span> <span class='varid'>ns</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>av</span>
-<a name="line-296"></a>
-<a name="line-297"></a><span class='comment'>-- |</span>
-<a name="line-298"></a><span class='comment'>-- create a parameter entity reference DTD part.</span>
-<a name="line-299"></a><span class='comment'>--</span>
-<a name="line-300"></a><span class='comment'>--    * 1.parameter ref :  the name of the reference</span>
-<a name="line-301"></a><span class='comment'>--</span>
-<a name="line-302"></a><span class='comment'>--    - returns : the DTD part for a PERef</span>
-<a name="line-303"></a>
-<a name="line-304"></a><a name="mkXPERefTree"></a><span class='definition'>mkXPERefTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-305"></a><span class='definition'>mkXPERefTree</span> <span class='varid'>ref</span>	<span class='keyglyph'>=</span> <span class='varid'>mkLeaf</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PEREF</span> <span class='keyglyph'>[</span><span class='layout'>(</span><span class='varid'>a_peref</span><span class='layout'>,</span> <span class='varid'>ref</span><span class='layout'>)</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-306"></a>
-<a name="line-307"></a><span class='comment'>-- |</span>
-<a name="line-308"></a><span class='comment'>-- create a processing instruction tree.</span>
-<a name="line-309"></a><span class='comment'>--</span>
-<a name="line-310"></a><span class='comment'>--    * 1.parameter n :  the name of the PI</span>
-<a name="line-311"></a><span class='comment'>--</span>
-<a name="line-312"></a><span class='comment'>--    - 2.parameter str :  the content of a PI</span>
-<a name="line-313"></a><span class='comment'>--</span>
-<a name="line-314"></a><span class='comment'>--    - returns : the processing instruction tree with a single attribute \"value\"</span>
-<a name="line-315"></a><span class='comment'>--      with the str parameter as attribute value, with @valueOf a_value@ applied to the result tree</span>
-<a name="line-316"></a><span class='comment'>--      the content of the PI can be selected</span>
-<a name="line-317"></a>
-<a name="line-318"></a><a name="mkXPiTree"></a><span class='definition'>mkXPiTree</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-319"></a><span class='definition'>mkXPiTree</span> <span class='varid'>n</span> <span class='varid'>str</span>	<span class='keyglyph'>=</span> <span class='varid'>mkLeaf</span> <span class='layout'>(</span><span class='conid'>XPi</span> <span class='layout'>(</span><span class='varid'>mkName</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>xattr</span> <span class='varid'>a_value</span> <span class='varid'>str</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-320"></a>
-<a name="line-321"></a><span class='comment'>-- |</span>
-<a name="line-322"></a><span class='comment'>-- create xml declaration</span>
-<a name="line-323"></a>
-<a name="line-324"></a><a name="mkXmlDeclTree"></a><span class='definition'>mkXmlDeclTree</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-325"></a><span class='definition'>mkXmlDeclTree</span> <span class='varid'>al</span> <span class='keyglyph'>=</span> <span class='varid'>mkLeaf</span> <span class='layout'>(</span><span class='conid'>XPi</span> <span class='layout'>(</span><span class='varid'>mkName</span> <span class='varid'>t_xml</span><span class='layout'>)</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-326"></a>
-<a name="line-327"></a><span class='comment'>-- |</span>
-<a name="line-328"></a><span class='comment'>-- create a CDATA section tree.</span>
-<a name="line-329"></a><span class='comment'>--</span>
-<a name="line-330"></a><span class='comment'>--    * 1.parameter s :  the content of the CDATA section</span>
-<a name="line-331"></a><span class='comment'>--</span>
-<a name="line-332"></a><span class='comment'>--    - returns : the tree for the CDATA section</span>
-<a name="line-333"></a>
-<a name="line-334"></a><a name="mkXCdataTree"></a><span class='definition'>mkXCdataTree</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-335"></a><span class='definition'>mkXCdataTree</span> <span class='varid'>s</span>		<span class='keyglyph'>=</span> <span class='varid'>mkLeaf</span> <span class='layout'>(</span><span class='conid'>XCdata</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-336"></a>
-<a name="line-337"></a><span class='comment'>-- |</span>
-<a name="line-338"></a><span class='comment'>-- create an error tree.</span>
-<a name="line-339"></a><span class='comment'>--</span>
-<a name="line-340"></a><span class='comment'>--    * 1.parameter l :  the level of the error (warning, error fatal)</span>
-<a name="line-341"></a><span class='comment'>--</span>
-<a name="line-342"></a><span class='comment'>--    - 2.parameter msg :  the error message</span>
-<a name="line-343"></a><span class='comment'>--</span>
-<a name="line-344"></a><span class='comment'>--    - 3.parameter cs :  the context, where the error was detected</span>
-<a name="line-345"></a>
-<a name="line-346"></a><a name="mkXErrorTree"></a><span class='definition'>mkXErrorTree</span>		<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span>
-<a name="line-347"></a><span class='definition'>mkXErrorTree</span> <span class='varid'>l</span> <span class='varid'>s</span> <span class='varid'>cs</span>	<span class='keyglyph'>=</span> <span class='varid'>mkNode</span> <span class='layout'>(</span><span class='conid'>XError</span> <span class='varid'>l</span> <span class='varid'>s</span><span class='layout'>)</span> <span class='varid'>cs</span>
-<a name="line-348"></a>
-<a name="line-349"></a><a name="maybeString2XText"></a><span class='definition'>maybeString2XText</span>	<span class='keyglyph'>::</span> <span class='conid'>Maybe</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-350"></a><span class='definition'>maybeString2XText</span>	<span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='varid'>mkXTextTree</span> <span class='varop'>.</span> <span class='varid'>maybeToList</span>
-<a name="line-351"></a>
-<a name="line-352"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-353"></a><span class='comment'>--</span>
-<a name="line-354"></a><span class='comment'>-- text selection</span>
-<a name="line-355"></a>
-<a name="line-356"></a><a name="showXText"></a><span class='definition'>showXText</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-357"></a><span class='definition'>showXText</span>
-<a name="line-358"></a>    <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>showT</span>
-<a name="line-359"></a>      <span class='keyword'>where</span>
-<a name="line-360"></a>      <span class='varid'>showT</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XText</span>      <span class='varid'>t</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>t</span>
-<a name="line-361"></a>      <span class='varid'>showT</span> <span class='keyword'>_</span>                        <span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-362"></a>
-<a name="line-363"></a><a name="showXCharRef"></a><span class='definition'>showXCharRef</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-364"></a><span class='definition'>showXCharRef</span>
-<a name="line-365"></a>    <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>showT</span>
-<a name="line-366"></a>      <span class='keyword'>where</span>
-<a name="line-367"></a>      <span class='varid'>showT</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XCharRef</span>   <span class='varid'>r</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='str'>"&amp;#"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>r</span> <span class='varop'>++</span> <span class='str'>";"</span>
-<a name="line-368"></a>      <span class='varid'>showT</span> <span class='keyword'>_</span>                        <span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-369"></a>
-<a name="line-370"></a><a name="showXEntityRef"></a><span class='definition'>showXEntityRef</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-371"></a><span class='definition'>showXEntityRef</span>
-<a name="line-372"></a>    <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>showT</span>
-<a name="line-373"></a>      <span class='keyword'>where</span>
-<a name="line-374"></a>      <span class='varid'>showT</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XEntityRef</span> <span class='varid'>r</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='str'>"&amp;"</span> <span class='varop'>++</span> <span class='varid'>r</span> <span class='varop'>++</span> <span class='str'>";"</span>
-<a name="line-375"></a>      <span class='varid'>showT</span> <span class='keyword'>_</span>                        <span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-376"></a>
-<a name="line-377"></a><a name="showXErrors"></a><span class='definition'>showXErrors</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-378"></a><span class='definition'>showXErrors</span>
-<a name="line-379"></a>    <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>showE</span>
-<a name="line-380"></a>      <span class='keyword'>where</span>
-<a name="line-381"></a>      <span class='varid'>showE</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XError</span> <span class='varid'>level</span> <span class='varid'>str</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>msg</span> <span class='varid'>level</span> <span class='varop'>++</span> <span class='str'>": "</span> <span class='varop'>++</span> <span class='varid'>str</span> <span class='varop'>++</span> <span class='str'>"\n"</span>
-<a name="line-382"></a>      <span class='varid'>showE</span> <span class='keyword'>_</span>                            <span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-383"></a>
-<a name="line-384"></a>      <span class='varid'>msg</span> <span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-385"></a>      <span class='varid'>msg</span> <span class='varid'>l</span>
-<a name="line-386"></a>          <span class='keyglyph'>|</span> <span class='varid'>l</span> <span class='varop'>==</span> <span class='varid'>c_warn</span> <span class='keyglyph'>=</span> <span class='str'>"Warning"</span>
-<a name="line-387"></a>          <span class='keyglyph'>|</span> <span class='varid'>l</span> <span class='varop'>==</span> <span class='varid'>c_err</span>  <span class='keyglyph'>=</span> <span class='str'>"Error"</span>
-<a name="line-388"></a>          <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>   <span class='keyglyph'>=</span> <span class='str'>"Fatal error"</span>
-<a name="line-389"></a>
-<a name="line-390"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-391"></a><span class='comment'>--</span>
-<a name="line-392"></a><span class='comment'>-- the toString conversion functions</span>
-<a name="line-393"></a>
-<a name="line-394"></a><span class='comment'>-- |</span>
-<a name="line-395"></a><span class='comment'>-- old name for 'xshow' (deprecated)</span>
-<a name="line-396"></a>
-<a name="line-397"></a><a name="xmlTreesToString"></a><span class='definition'>xmlTreesToString</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-398"></a><span class='definition'>xmlTreesToString</span>	<span class='keyglyph'>=</span> <span class='varid'>xshow</span>
-<a name="line-399"></a>
-<a name="line-400"></a><span class='comment'>-- |</span>
-<a name="line-401"></a><span class='comment'>-- conversion of a filter result into a text node</span>
-<a name="line-402"></a><span class='comment'>--</span>
-<a name="line-403"></a><span class='comment'>-- see also : 'xshow'</span>
-<a name="line-404"></a>
-<a name="line-405"></a><a name="xmlTreesToText"></a><span class='definition'>xmlTreesToText</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlSFilter</span>
-<a name="line-406"></a><span class='definition'>xmlTreesToText</span> <span class='varid'>ts</span><span class='keyglyph'>@</span><span class='keyglyph'>[</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XText</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='keyglyph'>]</span>	<span class='keyglyph'>=</span> <span class='varid'>ts</span>		<span class='comment'>-- special case optimisation</span>
-<a name="line-407"></a><span class='definition'>xmlTreesToText</span> <span class='varid'>ts</span><span class='keyglyph'>@</span><span class='conid'>[]</span>			<span class='keyglyph'>=</span> <span class='varid'>ts</span>
-<a name="line-408"></a><span class='definition'>xmlTreesToText</span> <span class='varid'>ts</span>			<span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='varop'>.</span> <span class='varid'>xshow</span> <span class='varop'>$</span> <span class='varid'>ts</span>
-<a name="line-409"></a>
-<a name="line-410"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-411"></a>
-<a name="line-412"></a><a name="xmlContentModelToString"></a><span class='definition'>xmlContentModelToString</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-413"></a><span class='definition'>xmlContentModelToString</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-414"></a>    <span class='keyglyph'>=</span> <span class='varid'>showElemType</span> <span class='layout'>(</span><span class='varid'>lookup1</span> <span class='varid'>a_type</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span> <span class='str'>""</span>
-<a name="line-415"></a>
-<a name="line-416"></a><span class='definition'>xmlContentModelToString</span> <span class='keyword'>_</span>
-<a name="line-417"></a>    <span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-418"></a>
-<a name="line-419"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-420"></a><span class='comment'>--</span>
-<a name="line-421"></a><span class='comment'>-- string access functions</span>
-<a name="line-422"></a>
-<a name="line-423"></a><span class='comment'>-- |</span>
-<a name="line-424"></a><span class='comment'>-- select the name of a node. For tags, attributes and pi\'s the name string</span>
-<a name="line-425"></a><span class='comment'>-- is returned, else the empty string.</span>
-<a name="line-426"></a>
-<a name="line-427"></a><a name="nameOf"></a><span class='definition'>nameOf</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-428"></a><span class='definition'>nameOf</span>
-<a name="line-429"></a>    <span class='keyglyph'>=</span> <span class='varid'>selName</span> <span class='varop'>.</span> <span class='varid'>getNode</span>
-<a name="line-430"></a>      <span class='keyword'>where</span>
-<a name="line-431"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XTag</span>  <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>qualifiedName</span> <span class='varid'>n</span>
-<a name="line-432"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>n</span>  <span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>qualifiedName</span> <span class='varid'>n</span>
-<a name="line-433"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XPi</span>   <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>qualifiedName</span> <span class='varid'>n</span>
-<a name="line-434"></a>      <span class='varid'>selName</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-435"></a>
-<a name="line-436"></a><span class='comment'>-- |</span>
-<a name="line-437"></a><span class='comment'>-- select the local part of a name of a node. For tags, attributes the name string</span>
-<a name="line-438"></a><span class='comment'>-- is returned, for pi's the whole name, else the empty string.</span>
-<a name="line-439"></a>
-<a name="line-440"></a><a name="localPartOf"></a><span class='definition'>localPartOf</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-441"></a><span class='definition'>localPartOf</span>
-<a name="line-442"></a>    <span class='keyglyph'>=</span> <span class='varid'>selName</span> <span class='varop'>.</span> <span class='varid'>getNode</span>
-<a name="line-443"></a>      <span class='keyword'>where</span>
-<a name="line-444"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XTag</span>  <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>localPart</span> <span class='varid'>n</span>
-<a name="line-445"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>n</span>  <span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>localPart</span> <span class='varid'>n</span>
-<a name="line-446"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XPi</span>   <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>qualifiedName</span> <span class='varid'>n</span>
-<a name="line-447"></a>      <span class='varid'>selName</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-448"></a>
-<a name="line-449"></a><span class='comment'>-- |</span>
-<a name="line-450"></a><span class='comment'>-- select the namespace URI of a tag or an attribute tree, else the empty string is returned</span>
-<a name="line-451"></a><span class='comment'>-- see also : 'nameOf'</span>
-<a name="line-452"></a>
-<a name="line-453"></a><a name="namespaceOf"></a><span class='definition'>namespaceOf</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-454"></a><span class='definition'>namespaceOf</span>
-<a name="line-455"></a>    <span class='keyglyph'>=</span> <span class='varid'>selName</span> <span class='varop'>.</span> <span class='varid'>getNode</span>
-<a name="line-456"></a>      <span class='keyword'>where</span>
-<a name="line-457"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>namespaceUri</span> <span class='varid'>n</span>
-<a name="line-458"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>n</span> <span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>namespaceUri</span> <span class='varid'>n</span>
-<a name="line-459"></a>      <span class='varid'>selName</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-460"></a>
-<a name="line-461"></a><span class='comment'>-- |</span>
-<a name="line-462"></a><span class='comment'>-- select the namespace prefix of a tag or an attribute tree, else the empty string is returned</span>
-<a name="line-463"></a><span class='comment'>-- see also : 'nameOf', 'localPartOf'</span>
-<a name="line-464"></a>
-<a name="line-465"></a><a name="prefixOf"></a><span class='definition'>prefixOf</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-466"></a><span class='definition'>prefixOf</span>
-<a name="line-467"></a>    <span class='keyglyph'>=</span> <span class='varid'>selName</span> <span class='varop'>.</span> <span class='varid'>getNode</span>
-<a name="line-468"></a>      <span class='keyword'>where</span>
-<a name="line-469"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>namePrefix</span> <span class='varid'>n</span>
-<a name="line-470"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>n</span> <span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>namePrefix</span> <span class='varid'>n</span>
-<a name="line-471"></a>      <span class='varid'>selName</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-472"></a>
-<a name="line-473"></a><span class='comment'>-- |</span>
-<a name="line-474"></a><span class='comment'>-- select the universal name (namespace uri ++ localPart) of a tag or an attribute tree, else the empty string is returned</span>
-<a name="line-475"></a><span class='comment'>-- see also : 'nameOf', 'namespaceOf'</span>
-<a name="line-476"></a>
-<a name="line-477"></a><a name="universalNameOf"></a><span class='definition'>universalNameOf</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-478"></a><span class='definition'>universalNameOf</span>
-<a name="line-479"></a>    <span class='keyglyph'>=</span> <span class='varid'>selName</span> <span class='varop'>.</span> <span class='varid'>getNode</span>
-<a name="line-480"></a>      <span class='keyword'>where</span>
-<a name="line-481"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>universalName</span> <span class='varid'>n</span>
-<a name="line-482"></a>      <span class='varid'>selName</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>n</span> <span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>universalName</span> <span class='varid'>n</span>
-<a name="line-483"></a>      <span class='varid'>selName</span> <span class='keyword'>_</span>			<span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-484"></a>
-<a name="line-485"></a><span class='comment'>-- |</span>
-<a name="line-486"></a><span class='comment'>-- select the attributes of a dtd tree</span>
-<a name="line-487"></a>
-<a name="line-488"></a><a name="attrlOfDTD"></a><span class='definition'>attrlOfDTD</span>				<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Attributes</span>
-<a name="line-489"></a><span class='definition'>attrlOfDTD</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='keyword'>_</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>al</span>
-<a name="line-490"></a><span class='definition'>attrlOfDTD</span> <span class='keyword'>_</span>				<span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-491"></a>
-<a name="line-492"></a>
-<a name="line-493"></a><span class='comment'>-- |</span>
-<a name="line-494"></a><span class='comment'>-- select a special attribute of a DTD part</span>
-<a name="line-495"></a>
-<a name="line-496"></a><a name="valueOfDTD"></a><span class='definition'>valueOfDTD</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-497"></a><span class='definition'>valueOfDTD</span> <span class='varid'>n</span>		<span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>n</span> <span class='varop'>.</span> <span class='varid'>attrlOfDTD</span>
-<a name="line-498"></a>
-<a name="line-499"></a><span class='comment'>-- |</span>
-<a name="line-500"></a><span class='comment'>-- test an attribute of a DTD part</span>
-<a name="line-501"></a>
-<a name="line-502"></a><a name="ofDTDequals"></a><span class='definition'>ofDTDequals</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-503"></a><span class='definition'>ofDTDequals</span> <span class='varid'>n</span> <span class='varid'>v</span>	<span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varop'>==</span> <span class='varid'>v</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>valueOfDTD</span> <span class='varid'>n</span>
-<a name="line-504"></a>
-<a name="line-505"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-506"></a><span class='comment'>--</span>
-<a name="line-507"></a><span class='comment'>-- convenient functions</span>
-<a name="line-508"></a>
-<a name="line-509"></a><a name="xcmt"></a><span class='definition'>xcmt</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-510"></a><span class='definition'>xcmt</span> <span class='varid'>cmt</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='varid'>mkXCmtTree</span> <span class='varid'>cmt</span> <span class='keyglyph'>]</span>
-<a name="line-511"></a>
-<a name="line-512"></a><a name="xerr"></a><span class='definition'>xerr</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-513"></a><span class='definition'>xerr</span> <span class='varid'>msg</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='varid'>mkXErrorTree</span> <span class='varid'>c_err</span> <span class='varid'>msg</span> <span class='conid'>[]</span><span class='keyglyph'>]</span>
-<a name="line-514"></a>
-<a name="line-515"></a><a name="xwarn"></a><span class='definition'>xwarn</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-516"></a><span class='definition'>xwarn</span> <span class='varid'>msg</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='varid'>mkXErrorTree</span> <span class='varid'>c_warn</span> <span class='varid'>msg</span> <span class='conid'>[]</span><span class='keyglyph'>]</span>
-<a name="line-517"></a>
-<a name="line-518"></a><a name="xtext"></a><span class='definition'>xtext</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-519"></a><span class='definition'>xtext</span> <span class='varid'>t</span>		<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='varid'>mkXTextTree</span> <span class='varid'>t</span><span class='keyglyph'>]</span>
-<a name="line-520"></a>
-<a name="line-521"></a><a name="xtag"></a><span class='definition'>xtag</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-522"></a><span class='definition'>xtag</span> <span class='varid'>t</span> <span class='varid'>al</span> <span class='varid'>cl</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='varid'>mkXTagTree</span> <span class='varid'>t</span> <span class='varid'>al</span> <span class='varid'>cl</span> <span class='keyglyph'>]</span>
-<a name="line-523"></a>
-<a name="line-524"></a><a name="xattr"></a><span class='definition'>xattr</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-525"></a><span class='definition'>xattr</span> <span class='varid'>n</span> <span class='varid'>v</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='varid'>mkXAttrTree</span> <span class='varid'>n</span> <span class='layout'>(</span><span class='varid'>xtext</span> <span class='varid'>v</span><span class='layout'>)</span> <span class='keyglyph'>]</span>
-<a name="line-526"></a>
-<a name="line-527"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-528"></a><span class='comment'>--</span>
-<a name="line-529"></a><span class='comment'>-- conversion functions: XmlTrees &lt;-&gt; Attributes</span>
-<a name="line-530"></a>
-<a name="line-531"></a><a name="toTreel"></a><span class='definition'>toTreel</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>AssocList</span> <span class='conid'>String</span> <span class='conid'>XmlTrees</span>
-<a name="line-532"></a><span class='definition'>toTreel</span>
-<a name="line-533"></a>    <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>toTree</span>
-<a name="line-534"></a>      <span class='keyword'>where</span>
-<a name="line-535"></a>      <span class='varid'>toTree</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>n</span><span class='layout'>,</span> <span class='varid'>cs</span><span class='layout'>)</span><span class='keyglyph'>]</span>
-<a name="line-536"></a>      <span class='varid'>toTree</span> <span class='keyword'>_</span>			  <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-537"></a>
-<a name="line-538"></a><a name="toAttrl"></a><span class='definition'>toAttrl</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Attributes</span>
-<a name="line-539"></a><span class='definition'>toAttrl</span>
-<a name="line-540"></a>    <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>k</span><span class='layout'>,</span><span class='varid'>tl</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>k</span><span class='layout'>,</span> <span class='varid'>xshow</span> <span class='varid'>tl</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>toTreel</span>
-<a name="line-541"></a>
-<a name="line-542"></a>
-<a name="line-543"></a><a name="fromTreel"></a><span class='definition'>fromTreel</span>	<span class='keyglyph'>::</span> <span class='conid'>AssocList</span> <span class='conid'>String</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-544"></a><span class='definition'>fromTreel</span>
-<a name="line-545"></a>    <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>k</span><span class='layout'>,</span><span class='varid'>tl</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>mkXAttrTree</span> <span class='varid'>k</span> <span class='varid'>tl</span><span class='layout'>)</span>
-<a name="line-546"></a>
-<a name="line-547"></a><a name="fromAttrl"></a><span class='definition'>fromAttrl</span>	<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-548"></a><span class='definition'>fromAttrl</span>
-<a name="line-549"></a>    <span class='keyglyph'>=</span> <span class='varid'>fromTreel</span> <span class='varop'>.</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>k</span><span class='layout'>,</span><span class='varid'>v</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>k</span><span class='layout'>,</span> <span class='varid'>xtext</span> <span class='varid'>v</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-550"></a>
-<a name="line-551"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeTypes.html b/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeTypes.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM-XmlTreeTypes.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- exports the core data types</span>
-<a name="line-3"></a><span class='comment'>-- and some additional types and functions</span>
-<a name="line-4"></a><span class='comment'>-- for compatibility with none arrow modules</span>
-<a name="line-5"></a><span class='comment'>--</span>
-<a name="line-6"></a><span class='comment'>-- Version : $Id: XmlTreeTypes.hs,v 1.6 2006/05/09 15:30:43 hxml Exp $</span>
-<a name="line-7"></a>
-<a name="line-8"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeTypes</span>
-<a name="line-9"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Tree</span><span class='varop'>.</span><span class='conid'>NTree</span><span class='varop'>.</span><span class='conid'>Filter</span>
-<a name="line-10"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>TypeDefs</span>
-<a name="line-11"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTreeTypes</span>
-<a name="line-12"></a>    <span class='layout'>)</span>
-<a name="line-13"></a>
-<a name="line-14"></a><span class='keyword'>where</span>
-<a name="line-15"></a>
-<a name="line-16"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Tree</span><span class='varop'>.</span><span class='conid'>NTree</span><span class='varop'>.</span><span class='conid'>Filter</span>
-<a name="line-17"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>TypeDefs</span>
-<a name="line-18"></a>
-<a name="line-19"></a><span class='comment'>-- aliases for compatiblility reasons</span>
-<a name="line-20"></a>
-<a name="line-21"></a><a name="mkNode"></a><span class='definition'>mkNode</span>		<span class='keyglyph'>::</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>NTrees</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>NTree</span> <span class='varid'>node</span>
-<a name="line-22"></a><span class='definition'>mkNode</span>		<span class='keyglyph'>=</span> <span class='varid'>mkTree</span>
-<a name="line-23"></a>
-<a name="line-24"></a><a name="formatNTree"></a><span class='definition'>formatNTree</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>NTree</span> <span class='varid'>node</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-25"></a><span class='definition'>formatNTree</span>	<span class='keyglyph'>=</span> <span class='varid'>formatTree</span>
-<a name="line-26"></a>
-<a name="line-27"></a><a name="foldNTree"></a><span class='definition'>foldNTree</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>b</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>b</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>NTree</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>b</span>
-<a name="line-28"></a><span class='definition'>foldNTree</span> 	<span class='keyglyph'>=</span> <span class='varid'>foldTree</span>
-<a name="line-29"></a>
-<a name="line-30"></a><a name="mapNTree"></a><span class='definition'>mapNTree</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>b</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>NTree</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>NTree</span> <span class='varid'>b</span>
-<a name="line-31"></a><span class='definition'>mapNTree</span> 	<span class='keyglyph'>=</span> <span class='varid'>fmap</span>
-<a name="line-32"></a>
-<a name="line-33"></a><a name="nTreeToList"></a><span class='definition'>nTreeToList</span>	<span class='keyglyph'>::</span> <span class='conid'>NTree</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span>
-<a name="line-34"></a><span class='definition'>nTreeToList</span>	<span class='keyglyph'>=</span> <span class='varid'>nodesTree</span>
-<a name="line-35"></a>
-<a name="line-36"></a><a name="depthNTree"></a><span class='definition'>depthNTree</span>	<span class='keyglyph'>::</span> <span class='conid'>NTree</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span>
-<a name="line-37"></a><span class='definition'>depthNTree</span>	<span class='keyglyph'>=</span> <span class='varid'>depthTree</span>
-<a name="line-38"></a>
-<a name="line-39"></a><a name="cardNTree"></a><span class='definition'>cardNTree</span>	<span class='keyglyph'>::</span> <span class='conid'>NTree</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span>
-<a name="line-40"></a><span class='definition'>cardNTree</span>	<span class='keyglyph'>=</span> <span class='varid'>cardNTree</span>
-<a name="line-41"></a>
-<a name="line-42"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-43"></a><span class='comment'>--</span>
-<a name="line-44"></a><span class='comment'>-- Basic types for filters</span>
-<a name="line-45"></a>
-<a name="line-46"></a><span class='comment'>-- | A functions that takes a node and returns a list of nodes</span>
-<a name="line-47"></a>
-<a name="line-48"></a><a name="XmlFilter"></a><span class='keyword'>type</span> <span class='conid'>XmlFilter</span>	<span class='keyglyph'>=</span> <span class='conid'>TFilter</span>  <span class='conid'>XNode</span>
-<a name="line-49"></a>
-<a name="line-50"></a><span class='comment'>-- | A function that takes a list of nodes and returns a list of nodes</span>
-<a name="line-51"></a>
-<a name="line-52"></a><a name="XmlSFilter"></a><span class='keyword'>type</span> <span class='conid'>XmlSFilter</span>	<span class='keyglyph'>=</span> <span class='conid'>TSFilter</span> <span class='conid'>XNode</span>
-<a name="line-53"></a>
-<a name="line-54"></a>
-<a name="line-55"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-56"></a><span class='comment'>--</span>
-<a name="line-57"></a>
-<a name="line-58"></a><a name="TagName"></a><span class='comment'>-- | Tag name</span>
-<a name="line-59"></a><a name="TagName"></a><span class='keyword'>type</span> <span class='conid'>TagName</span>	<span class='keyglyph'>=</span> <span class='conid'>QName</span>
-<a name="line-60"></a>
-<a name="line-61"></a><a name="AttrName"></a><span class='comment'>-- | Attribute name</span>
-<a name="line-62"></a><a name="AttrName"></a><span class='keyword'>type</span> <span class='conid'>AttrName</span>	<span class='keyglyph'>=</span> <span class='conid'>QName</span>
-<a name="line-63"></a>
-<a name="line-64"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-65"></a>
-<a name="line-66"></a><span class='comment'>-- | shortcut for 'qualifiedName'</span>
-<a name="line-67"></a>
-<a name="line-68"></a><a name="tName"></a><span class='definition'>tName</span>	<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-69"></a><span class='definition'>tName</span>	<span class='keyglyph'>=</span> <span class='varid'>qualifiedName</span>
-<a name="line-70"></a>
-<a name="line-71"></a><span class='comment'>-- | shortcut for 'qualifiedName'</span>
-<a name="line-72"></a>
-<a name="line-73"></a><a name="aName"></a><span class='definition'>aName</span>	<span class='keyglyph'>::</span> <span class='conid'>QName</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-74"></a><span class='definition'>aName</span>	<span class='keyglyph'>=</span> <span class='varid'>qualifiedName</span>
-<a name="line-75"></a>
-<a name="line-76"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-77"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-DOM.html b/doc/hxt-filter/src/Text-XML-HXT-DOM.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-DOM.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- DOM data types and functions</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- export of all basic datatypes and functions of the toolbox DOM.</span>
-<a name="line-5"></a>
-<a name="line-6"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span>
-<a name="line-7"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-8"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-9"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>EditFilters</span>
-<a name="line-10"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>FormatXmlTree</span>
-<a name="line-11"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Namespace</span>
-<a name="line-12"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlOptions</span>
-<a name="line-13"></a>    <span class='layout'>)</span>
-<a name="line-14"></a><span class='keyword'>where</span>
-<a name="line-15"></a>
-<a name="line-16"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-17"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-18"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>EditFilters</span>
-<a name="line-19"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>FormatXmlTree</span>
-<a name="line-20"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Namespace</span>
-<a name="line-21"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlOptions</span>
-<a name="line-22"></a>
-<a name="line-23"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-24"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-DTDProcessing.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-DTDProcessing.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-DTDProcessing.html
+++ /dev/null
@@ -1,941 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a>
-<a name="line-3"></a><span class='comment'>{- |
-<a name="line-4"></a>   Module     : Text.XML.HXT.Parser.DTDProcessing
-<a name="line-5"></a>   Copyright  : Copyright (C) 2005 Uwe Schmidt
-<a name="line-6"></a>   License    : MIT
-<a name="line-7"></a>
-<a name="line-8"></a>   Maintainer : Uwe Schmidt (uwe@fh-wedel.de)
-<a name="line-9"></a>   Stability  : experimental
-<a name="line-10"></a>   Portability: portable
-<a name="line-11"></a>
-<a name="line-12"></a>   DTD processing function for
-<a name="line-13"></a>   including external parts of a DTD
-<a name="line-14"></a>   parameter entity substitution and general entity substitution
-<a name="line-15"></a>
-<a name="line-16"></a>-}</span>
-<a name="line-17"></a>
-<a name="line-18"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-19"></a>
-<a name="line-20"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>DTDProcessing</span>
-<a name="line-21"></a>    <span class='layout'>(</span> <span class='varid'>getWellformedDoc</span>
-<a name="line-22"></a>    <span class='layout'>,</span> <span class='varid'>checkWellformedDoc</span>
-<a name="line-23"></a>    <span class='layout'>,</span> <span class='varid'>processDTD</span>
-<a name="line-24"></a>    <span class='layout'>,</span> <span class='varid'>processGeneralEntities</span>
-<a name="line-25"></a>    <span class='layout'>)</span>
-<a name="line-26"></a><span class='keyword'>where</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-29"></a>
-<a name="line-30"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-31"></a>    <span class='layout'>(</span> <span class='varid'>traceTree</span>
-<a name="line-32"></a>    <span class='layout'>,</span> <span class='varid'>traceSource</span>
-<a name="line-33"></a>    <span class='layout'>,</span> <span class='varid'>traceMsg</span>
-<a name="line-34"></a>    <span class='layout'>)</span>
-<a name="line-35"></a>
-<a name="line-36"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlParser</span>
-<a name="line-37"></a>    <span class='layout'>(</span> <span class='varid'>parseXmlDoc</span>
-<a name="line-38"></a>    <span class='layout'>,</span> <span class='varid'>parseXmlDTDPart</span>
-<a name="line-39"></a>    <span class='layout'>,</span> <span class='varid'>parseXmlAttrValue</span>
-<a name="line-40"></a>    <span class='layout'>,</span> <span class='varid'>parseXmlGeneralEntityValue</span>
-<a name="line-41"></a>    <span class='layout'>)</span>
-<a name="line-42"></a>
-<a name="line-43"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlDTDParser</span>
-<a name="line-44"></a>    <span class='layout'>(</span> <span class='varid'>parseXmlDTDdecl</span>
-<a name="line-45"></a>    <span class='layout'>,</span> <span class='varid'>parseXmlDTDdeclPart</span>
-<a name="line-46"></a>    <span class='layout'>,</span> <span class='varid'>parseXmlDTDEntityValue</span>
-<a name="line-47"></a>    <span class='layout'>)</span>
-<a name="line-48"></a>
-<a name="line-49"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlInput</span>
-<a name="line-50"></a>    <span class='layout'>(</span> <span class='varid'>getXmlContents</span>
-<a name="line-51"></a>    <span class='layout'>,</span> <span class='varid'>getXmlEntityContents</span>
-<a name="line-52"></a>    <span class='layout'>,</span> <span class='varid'>runInLocalURIContext</span>
-<a name="line-53"></a>    <span class='layout'>,</span> <span class='varid'>runInNewURIContext</span>
-<a name="line-54"></a>    <span class='layout'>,</span> <span class='varid'>getBaseURI</span>
-<a name="line-55"></a>    <span class='layout'>,</span> <span class='varid'>setBaseURI</span>
-<a name="line-56"></a>    <span class='layout'>,</span> <span class='varid'>getAbsolutURI</span>
-<a name="line-57"></a>    <span class='layout'>,</span> <span class='varid'>isStandaloneDocument</span>
-<a name="line-58"></a>    <span class='layout'>)</span>
-<a name="line-59"></a>
-<a name="line-60"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>EditFilters</span>
-<a name="line-61"></a>    <span class='layout'>(</span> <span class='varid'>transfCharRef</span>
-<a name="line-62"></a>    <span class='layout'>,</span> <span class='varid'>transfAllCharRef</span>
-<a name="line-63"></a>    <span class='layout'>)</span>
-<a name="line-64"></a>
-<a name="line-65"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-66"></a>
-<a name="line-67"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Maybe</span>
-<a name="line-68"></a>
-<a name="line-69"></a><span class='keyword'>import</span> <span class='keyword'>qualified</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Map</span> <span class='keyword'>as</span> <span class='conid'>M</span>
-<a name="line-70"></a>    <span class='layout'>(</span> <span class='conid'>Map</span>
-<a name="line-71"></a>    <span class='layout'>,</span> <span class='varid'>empty</span>
-<a name="line-72"></a>    <span class='layout'>,</span> <span class='varid'>lookup</span>
-<a name="line-73"></a>    <span class='layout'>,</span> <span class='varid'>insert</span>
-<a name="line-74"></a>    <span class='comment'>-- , foldWithKey</span>
-<a name="line-75"></a>    <span class='layout'>)</span>
-<a name="line-76"></a>
-<a name="line-77"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-78"></a><span class='comment'>--</span>
-<a name="line-79"></a><span class='comment'>-- the "main" building blocks</span>
-<a name="line-80"></a>
-<a name="line-81"></a><span class='comment'>-- |</span>
-<a name="line-82"></a><span class='comment'>-- monadic filter for reading, parsing and checking a wellformed document.</span>
-<a name="line-83"></a><span class='comment'>-- the input tree must consist of a root node with a source attribute</span>
-<a name="line-84"></a><span class='comment'>-- in its attribute list.</span>
-<a name="line-85"></a><span class='comment'>--</span>
-<a name="line-86"></a><span class='comment'>-- All attributes from the document root are copied into the system state,</span>
-<a name="line-87"></a><span class='comment'>-- and may be queried by the monadic filters, e.g. trace options.</span>
-<a name="line-88"></a><span class='comment'>--</span>
-<a name="line-89"></a><span class='comment'>-- Result is the single element list containing the well-formed document tree</span>
-<a name="line-90"></a><span class='comment'>-- or, in case of errors, the document root with an empty list as children</span>
-<a name="line-91"></a><span class='comment'>-- and attributes 'a_status' and 'a_module' for error level and the module,</span>
-<a name="line-92"></a><span class='comment'>-- where the error occured.</span>
-<a name="line-93"></a><span class='comment'>--</span>
-<a name="line-94"></a><span class='comment'>-- this is a shortcut for 'getXmlContents' .\&gt;\&gt; 'checkWellformedDoc'</span>
-<a name="line-95"></a><span class='comment'>--</span>
-<a name="line-96"></a><span class='comment'>-- example for a main program:</span>
-<a name="line-97"></a><span class='comment'>--</span>
-<a name="line-98"></a><span class='comment'>-- @</span>
-<a name="line-99"></a><span class='comment'>-- main =</span>
-<a name="line-100"></a><span class='comment'>--   run\' \$</span>
-<a name="line-101"></a><span class='comment'>--   do</span>
-<a name="line-102"></a><span class='comment'>--   res  \&lt;- getWellformedDoc \$ newDocument \"myfile.xml\"</span>
-<a name="line-103"></a><span class='comment'>--   ...</span>
-<a name="line-104"></a><span class='comment'>-- @</span>
-<a name="line-105"></a>
-<a name="line-106"></a><a name="getWellformedDoc"></a><span class='definition'>getWellformedDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-107"></a><span class='definition'>getWellformedDoc</span>
-<a name="line-108"></a>    <span class='keyglyph'>=</span> <span class='varid'>setSystemParams</span>
-<a name="line-109"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-110"></a>      <span class='varid'>getXmlContents</span>
-<a name="line-111"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-112"></a>      <span class='varid'>checkWellformedDoc</span>
-<a name="line-113"></a>
-<a name="line-114"></a><span class='comment'>-- |</span>
-<a name="line-115"></a><span class='comment'>-- parses a text node with 'parseXmlDoc', processes the DTD and general entities</span>
-<a name="line-116"></a><span class='comment'>-- and transforms all char references into characters</span>
-<a name="line-117"></a>
-<a name="line-118"></a><a name="checkWellformedDoc"></a><span class='definition'>checkWellformedDoc</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-119"></a><span class='definition'>checkWellformedDoc</span>
-<a name="line-120"></a>    <span class='keyglyph'>=</span> <span class='varid'>parseXmlDoc</span>
-<a name="line-121"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-122"></a>      <span class='varid'>processDTD</span>
-<a name="line-123"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-124"></a>      <span class='varid'>processGeneralEntities</span>
-<a name="line-125"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-126"></a>      <span class='varid'>liftMf</span> <span class='varid'>transfAllCharRef</span>
-<a name="line-127"></a>
-<a name="line-128"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-129"></a><span class='comment'>--</span>
-<a name="line-130"></a>
-<a name="line-131"></a><a name="RecList"></a><span class='keyword'>type</span> <span class='conid'>RecList</span>		<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span>
-<a name="line-132"></a>
-<a name="line-133"></a><a name="DTDState"></a><span class='keyword'>type</span> <span class='conid'>DTDState</span> <span class='varid'>res</span>	<span class='keyglyph'>=</span> <span class='conid'>XState</span> <span class='conid'>PeEnv</span> <span class='varid'>res</span>
-<a name="line-134"></a>
-<a name="line-135"></a><a name="DTDStateFilter"></a><span class='keyword'>type</span> <span class='conid'>DTDStateFilter</span>	<span class='keyglyph'>=</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDState</span> <span class='conid'>XmlTrees</span>
-<a name="line-136"></a>
-<a name="line-137"></a><a name="DTDPart"></a><span class='keyword'>data</span> <span class='conid'>DTDPart</span>		<span class='keyglyph'>=</span> <span class='conid'>Internal</span>
-<a name="line-138"></a>			<span class='keyglyph'>|</span> <span class='conid'>External</span>
-<a name="line-139"></a>			  <span class='keyword'>deriving</span> <span class='layout'>(</span><span class='conid'>Eq</span><span class='layout'>)</span>
-<a name="line-140"></a>
-<a name="line-141"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-142"></a>
-<a name="line-143"></a><a name="PeEnv"></a><span class='keyword'>type</span> <span class='conid'>PeEnv</span>		<span class='keyglyph'>=</span> <span class='conid'>M</span><span class='varop'>.</span><span class='conid'>Map</span> <span class='conid'>String</span> <span class='conid'>XmlTree</span>
-<a name="line-144"></a>
-<a name="line-145"></a><a name="emptyPeEnv"></a><span class='definition'>emptyPeEnv</span>	<span class='keyglyph'>::</span> <span class='conid'>PeEnv</span>
-<a name="line-146"></a><span class='definition'>emptyPeEnv</span>	<span class='keyglyph'>=</span> <span class='conid'>M</span><span class='varop'>.</span><span class='varid'>empty</span>
-<a name="line-147"></a>
-<a name="line-148"></a><a name="lookupPeEnv"></a><span class='definition'>lookupPeEnv</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>PeEnv</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Maybe</span> <span class='conid'>XmlTree</span>
-<a name="line-149"></a><span class='definition'>lookupPeEnv</span>	<span class='keyglyph'>=</span> <span class='conid'>M</span><span class='varop'>.</span><span class='varid'>lookup</span>
-<a name="line-150"></a>
-<a name="line-151"></a><a name="addPeEntry"></a><span class='definition'>addPeEntry</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>PeEnv</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>PeEnv</span>
-<a name="line-152"></a><span class='definition'>addPeEntry</span>	<span class='keyglyph'>=</span> <span class='conid'>M</span><span class='varop'>.</span><span class='varid'>insert</span>
-<a name="line-153"></a>
-<a name="line-154"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-155"></a>
-<a name="line-156"></a><span class='comment'>-- |</span>
-<a name="line-157"></a><span class='comment'>-- a filter for DTD processing</span>
-<a name="line-158"></a><span class='comment'>--</span>
-<a name="line-159"></a><span class='comment'>-- inclusion of external parts of DTD,</span>
-<a name="line-160"></a><span class='comment'>-- parameter entity substitution</span>
-<a name="line-161"></a><span class='comment'>-- conditional section evaluation</span>
-<a name="line-162"></a><span class='comment'>--</span>
-<a name="line-163"></a><span class='comment'>-- input tree must represent a complete document including root node</span>
-<a name="line-164"></a>
-<a name="line-165"></a><a name="processDTD"></a><span class='definition'>processDTD</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-166"></a><span class='definition'>processDTD</span>
-<a name="line-167"></a>    <span class='keyglyph'>=</span> <span class='varid'>runInLocalURIContext</span>
-<a name="line-168"></a>         <span class='layout'>(</span> <span class='varid'>processRoot</span>
-<a name="line-169"></a>	   <span class='varop'>.&gt;&gt;</span>
-<a name="line-170"></a>	   <span class='varid'>traceTree</span>
-<a name="line-171"></a>	   <span class='varop'>.&gt;&gt;</span>
-<a name="line-172"></a>	   <span class='varid'>traceSource</span>
-<a name="line-173"></a>	 <span class='layout'>)</span>
-<a name="line-174"></a>      <span class='varop'>`whenM`</span> <span class='layout'>(</span> <span class='varid'>isRoot</span> <span class='varop'>.&gt;</span> <span class='varid'>getChildren</span> <span class='layout'>)</span>
-<a name="line-175"></a>      <span class='keyword'>where</span>
-<a name="line-176"></a>
-<a name="line-177"></a>      <span class='varid'>processRoot</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-178"></a>      <span class='varid'>processRoot</span> <span class='varid'>t</span>
-<a name="line-179"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-180"></a>	    <span class='varid'>sequence_</span> <span class='varop'>.</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>a</span><span class='layout'>,</span> <span class='varid'>ts</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>setSysParamTree</span> <span class='varid'>a</span> <span class='varid'>ts</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>toTreel</span> <span class='varop'>.</span> <span class='varid'>getAttrl</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-181"></a>	    <span class='varid'>setSysParam</span> <span class='varid'>a_standalone</span> <span class='str'>""</span>
-<a name="line-182"></a>	    <span class='layout'>(</span> <span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='layout'>(</span><span class='str'>"processDTD: process parameter entities"</span><span class='layout'>)</span>
-<a name="line-183"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-184"></a>	      <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>modifyChildren</span> <span class='varid'>addDoctype</span><span class='layout'>)</span>
-<a name="line-185"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-186"></a>	      <span class='varid'>processChildrenM</span> <span class='varid'>substParamEntities</span>
-<a name="line-187"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-188"></a>	      <span class='varid'>checkResult</span> <span class='str'>"in XML DTD processing"</span>
-<a name="line-189"></a>	      <span class='layout'>)</span> <span class='varop'>`whenM`</span> <span class='varid'>statusOk</span>
-<a name="line-190"></a>	      <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-191"></a>
-<a name="line-192"></a>      <span class='comment'>-- Adds an empty DOCTYPE node to document. Needed for documents without a DTD.</span>
-<a name="line-193"></a>      <span class='comment'>-- Otherwise processor can not substitute predefined entities. If an xml declaration</span>
-<a name="line-194"></a>      <span class='comment'>-- is present, the node is inserted after this node.</span>
-<a name="line-195"></a>      <span class='varid'>addDoctype</span> <span class='keyglyph'>::</span> <span class='conid'>XmlSFilter</span>
-<a name="line-196"></a>      <span class='varid'>addDoctype</span> <span class='varid'>docChilds</span>
-<a name="line-197"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>doctype</span>
-<a name="line-198"></a>            <span class='keyword'>then</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>xmlDecl</span>
-<a name="line-199"></a>                 <span class='keyword'>then</span> <span class='keyglyph'>[</span><span class='varid'>mkXDTDTree</span> <span class='conid'>DOCTYPE</span> <span class='conid'>[]</span> <span class='conid'>[]</span><span class='keyglyph'>]</span> <span class='varop'>++</span> <span class='varid'>docChilds</span>
-<a name="line-200"></a>                 <span class='keyword'>else</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='varid'>docChilds</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='keyglyph'>[</span><span class='varid'>mkXDTDTree</span> <span class='conid'>DOCTYPE</span> <span class='conid'>[]</span> <span class='conid'>[]</span><span class='keyglyph'>]</span> <span class='varop'>++</span> <span class='layout'>(</span><span class='varid'>tail</span> <span class='varid'>docChilds</span><span class='layout'>)</span>
-<a name="line-201"></a>            <span class='keyword'>else</span> <span class='varid'>docChilds</span>
-<a name="line-202"></a>            <span class='keyword'>where</span>
-<a name="line-203"></a>            <span class='varid'>doctype</span> <span class='keyglyph'>=</span> <span class='varid'>isDoctype</span> <span class='varop'>$$</span> <span class='varid'>docChilds</span>
-<a name="line-204"></a>            <span class='varid'>xmlDecl</span> <span class='keyglyph'>=</span> <span class='varid'>isPi</span> <span class='varid'>t_xml</span> <span class='varop'>$$</span> <span class='varid'>isXPi</span> <span class='varop'>$$</span> <span class='varid'>docChilds</span>
-<a name="line-205"></a>
-<a name="line-206"></a>
-<a name="line-207"></a><a name="substParamEntities"></a><span class='definition'>substParamEntities</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-208"></a><span class='definition'>substParamEntities</span>
-<a name="line-209"></a>    <span class='keyglyph'>=</span> <span class='varid'>processParamEntities</span>
-<a name="line-210"></a>      <span class='varop'>`whenM`</span>
-<a name="line-211"></a>      <span class='varid'>isDoctype</span>
-<a name="line-212"></a>      <span class='keyword'>where</span>
-<a name="line-213"></a>
-<a name="line-214"></a>      <span class='varid'>processParamEntities</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-215"></a>      <span class='varid'>processParamEntities</span> <span class='varid'>t'</span>
-<a name="line-216"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-217"></a>	    <span class='layout'>(</span><span class='varid'>dtdPre</span><span class='layout'>,</span> <span class='varid'>envPre</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>processPredef</span>
-<a name="line-218"></a>
-<a name="line-219"></a>	    <span class='comment'>-- process internal part of DTD with initial empty env for parameter entities</span>
-<a name="line-220"></a>	    <span class='layout'>(</span><span class='varid'>dtdInt</span><span class='layout'>,</span> <span class='varid'>envInt</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>processInt</span> <span class='varid'>envPre</span> <span class='varid'>t'</span>
-<a name="line-221"></a>
-<a name="line-222"></a>	    <span class='comment'>-- process external part of DTD with resulting env from internal DTD</span>
-<a name="line-223"></a>	    <span class='varid'>dtdExt</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>runInLocalURIContext</span> <span class='layout'>(</span><span class='varid'>processExt</span> <span class='varid'>envInt</span><span class='layout'>)</span> <span class='varid'>t'</span>
-<a name="line-224"></a>
-<a name="line-225"></a>	    <span class='comment'>-- merge predefined, internal and external part</span>
-<a name="line-226"></a>	    <span class='varid'>trace</span> <span class='num'>2</span> <span class='str'>"substParamEntities: merge internal and external DTD parts"</span>
-<a name="line-227"></a>	    <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>foldl1</span> <span class='varid'>mergeDTDs</span> <span class='keyglyph'>[</span><span class='varid'>dtdPre</span><span class='layout'>,</span> <span class='varid'>dtdInt</span><span class='layout'>,</span> <span class='varid'>dtdExt</span><span class='keyglyph'>]</span><span class='layout'>)</span> <span class='varid'>t'</span><span class='layout'>)</span>
-<a name="line-228"></a>
-<a name="line-229"></a>      <span class='varid'>processPredef</span>
-<a name="line-230"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-231"></a>	    <span class='varid'>trace</span> <span class='num'>2</span> <span class='str'>"substParamEntities: substitute predefined entities"</span>
-<a name="line-232"></a>	    <span class='varid'>chain'</span> <span class='varid'>emptyPeEnv</span> <span class='layout'>(</span><span class='varid'>substParamEntity</span> <span class='conid'>Internal</span> <span class='varop'>$$&lt;</span> <span class='varid'>predefDTDPart</span><span class='layout'>)</span>
-<a name="line-233"></a>
-<a name="line-234"></a>      <span class='varid'>processInt</span> <span class='varid'>env'</span> <span class='varid'>n'</span>
-<a name="line-235"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-236"></a>	    <span class='varid'>trace</span> <span class='num'>2</span> <span class='str'>"substParamEntities: substitute parameter entities in internal DTD part"</span>
-<a name="line-237"></a>	    <span class='varid'>chain'</span> <span class='varid'>env'</span> <span class='layout'>(</span><span class='varid'>substParamEntity</span> <span class='conid'>Internal</span> <span class='varop'>$$&lt;</span> <span class='varid'>getChildren</span> <span class='varid'>n'</span><span class='layout'>)</span>
-<a name="line-238"></a>
-<a name="line-239"></a>      <span class='varid'>processExt</span> <span class='varid'>env'</span> <span class='varid'>n'</span>
-<a name="line-240"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-241"></a>	    <span class='varid'>trace</span> <span class='num'>2</span> <span class='str'>"substParamEntities: process external part of DTD"</span>
-<a name="line-242"></a>            <span class='varid'>extDtd</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>processExternalDTD</span> <span class='varid'>n'</span>
-<a name="line-243"></a>	    <span class='varid'>trace</span> <span class='num'>2</span> <span class='str'>"substParamEntities: substitute parameter entities in external DTD part"</span>
-<a name="line-244"></a>	    <span class='varid'>chain</span> <span class='varid'>env'</span> <span class='layout'>(</span> <span class='layout'>(</span><span class='varid'>substParamEntity</span> <span class='conid'>External</span><span class='layout'>)</span> <span class='varop'>$$&lt;</span> <span class='varid'>extDtd</span><span class='layout'>)</span>
-<a name="line-245"></a>
-<a name="line-246"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-247"></a><span class='comment'>-- |</span>
-<a name="line-248"></a><span class='comment'>-- substitute parameter entities</span>
-<a name="line-249"></a><span class='comment'>-- result is the input tree with the list of text nodes as children or an error message</span>
-<a name="line-250"></a>
-<a name="line-251"></a><a name="substPEref'"></a><span class='definition'>substPEref'</span>	<span class='keyglyph'>::</span> <span class='conid'>DTDPart</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>PeEnv</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-252"></a>
-<a name="line-253"></a><span class='definition'>substPEref'</span> <span class='varid'>loc</span> <span class='varid'>env</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PEREF</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-254"></a>    <span class='keyglyph'>|</span> <span class='varid'>isInternalRef</span>	<span class='keyglyph'>=</span> <span class='varid'>xerr</span> <span class='layout'>(</span><span class='str'>"a parameter entity reference of "</span> <span class='varop'>++</span> <span class='varid'>peName'</span> <span class='varop'>++</span> <span class='str'>" occurs in the internal subset of the DTD"</span><span class='layout'>)</span>
-<a name="line-255"></a>
-<a name="line-256"></a>    <span class='keyglyph'>|</span> <span class='varid'>isUndefinedRef</span>	<span class='keyglyph'>=</span> <span class='varid'>xerr</span> <span class='layout'>(</span><span class='str'>"parameter entity "</span> <span class='varop'>++</span> <span class='varid'>peName'</span> <span class='varop'>++</span> <span class='str'>" not found (forward reference?)"</span><span class='layout'>)</span>
-<a name="line-257"></a>
-<a name="line-258"></a>    <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>baseUri</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>setChildren</span> <span class='varid'>peContent</span> <span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-259"></a>
-<a name="line-260"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>		<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PEREF</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>a_url</span><span class='layout'>,</span><span class='varid'>baseUri</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>al</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>peContent</span><span class='layout'>)</span><span class='keyglyph'>]</span>
-<a name="line-261"></a>    <span class='keyword'>where</span>
-<a name="line-262"></a>    <span class='varid'>peName</span>		<span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_peref</span> <span class='varid'>al</span>
-<a name="line-263"></a>    <span class='varid'>peName'</span>		<span class='keyglyph'>=</span> <span class='varid'>show</span> <span class='varid'>peName</span>
-<a name="line-264"></a>    <span class='varid'>peVal</span>		<span class='keyglyph'>=</span> <span class='varid'>lookupPeEnv</span> <span class='varid'>peName</span> <span class='varid'>env</span>
-<a name="line-265"></a>    <span class='varid'>isInternalRef</span>	<span class='keyglyph'>=</span> <span class='varid'>loc</span> <span class='varop'>==</span> <span class='conid'>Internal</span>
-<a name="line-266"></a>    <span class='varid'>isUndefinedRef</span>	<span class='keyglyph'>=</span> <span class='varid'>isNothing</span> <span class='varid'>peVal</span>
-<a name="line-267"></a>
-<a name="line-268"></a>    <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PENTITY</span> <span class='varid'>peAl</span><span class='layout'>)</span> <span class='varid'>peContent</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>fromJust</span> <span class='varid'>peVal</span>
-<a name="line-269"></a>    <span class='varid'>baseUri</span>		<span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_url</span> <span class='varid'>peAl</span>
-<a name="line-270"></a>
-<a name="line-271"></a>    <span class='comment'>-- peContent		= getChildren $ fromJust peVal</span>
-<a name="line-272"></a>
-<a name="line-273"></a><span class='definition'>substPEref'</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='varid'>n</span>
-<a name="line-274"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-275"></a>
-<a name="line-276"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-277"></a>
-<a name="line-278"></a><span class='comment'>{-
-<a name="line-279"></a>dumpPE	:: DTDStateFilter
-<a name="line-280"></a>dumpPE t
-<a name="line-281"></a>    = do
-<a name="line-282"></a>      env &lt;- getState
-<a name="line-283"></a>      ( traceMsg 2 ("dumpPE: parameter entity environment\n" ++ M.foldWithKey showPE "" env)
-<a name="line-284"></a>	.&gt;&gt;
-<a name="line-285"></a>	thisM ) t
-<a name="line-286"></a>    where
-<a name="line-287"></a>    showPE k v b = k ++ "\t" ++ show v ++ "\n" ++ b
-<a name="line-288"></a>-}</span>
-<a name="line-289"></a>
-<a name="line-290"></a><a name="traceDTD"></a><span class='definition'>traceDTD</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-291"></a><span class='definition'>traceDTD</span> <span class='varid'>msg</span>	<span class='keyglyph'>=</span> <span class='varid'>traceMsg</span> <span class='num'>4</span> <span class='varid'>msg</span> <span class='varop'>.&gt;&gt;</span> <span class='varid'>traceTree</span>
-<a name="line-292"></a>
-<a name="line-293"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-294"></a>
-<a name="line-295"></a><a name="getExternalParamEntityValue"></a><span class='definition'>getExternalParamEntityValue</span>	<span class='keyglyph'>::</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-296"></a><span class='definition'>getExternalParamEntityValue</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PENTITY</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='sel'>_cl</span><span class='layout'>)</span>
-<a name="line-297"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-298"></a>      <span class='varid'>rl</span> <span class='keyglyph'>&lt;-</span> <span class='layout'>(</span> <span class='varid'>getXmlEntityContents</span>
-<a name="line-299"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-300"></a>	      <span class='varid'>liftMf</span> <span class='varid'>getChildren</span>
-<a name="line-301"></a>	    <span class='layout'>)</span>
-<a name="line-302"></a>	    <span class='varop'>$</span> <span class='varid'>newDocument'</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>a_source</span><span class='layout'>,</span> <span class='varid'>sysVal</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-303"></a>      <span class='varid'>base</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getBaseURI</span>
-<a name="line-304"></a>      <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>rl</span>
-<a name="line-305"></a>	 <span class='keyword'>then</span> <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"illegal external parameter entity value for entity %"</span> <span class='varop'>++</span> <span class='varid'>peName</span> <span class='varop'>++</span><span class='str'>";"</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-306"></a>	 <span class='keyword'>else</span> <span class='varid'>thisM</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PENTITY</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>a_url</span><span class='layout'>,</span> <span class='varid'>base</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='varid'>al</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>rl</span><span class='layout'>)</span>
-<a name="line-307"></a>    <span class='keyword'>where</span>
-<a name="line-308"></a>    <span class='varid'>sysVal</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>k_system</span> <span class='varid'>al</span>
-<a name="line-309"></a>    <span class='varid'>peName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span>   <span class='varid'>al</span>
-<a name="line-310"></a>
-<a name="line-311"></a><span class='definition'>getExternalParamEntityValue</span> <span class='varid'>n</span>
-<a name="line-312"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"getExternalParamEntityValue: illegal argument: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-313"></a>
-<a name="line-314"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-315"></a>
-<a name="line-316"></a><span class='comment'>-- |</span>
-<a name="line-317"></a><span class='comment'>-- the dtd parameter entity substitution filter</span>
-<a name="line-318"></a>
-<a name="line-319"></a><a name="substParamEntity"></a><span class='definition'>substParamEntity</span>	<span class='keyglyph'>::</span> <span class='conid'>DTDPart</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-320"></a>
-<a name="line-321"></a><span class='definition'>substParamEntity</span> <span class='varid'>loc</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>xn</span> <span class='sel'>_cs</span><span class='layout'>)</span>
-<a name="line-322"></a>    <span class='keyglyph'>|</span> <span class='varid'>isDTDElemNode</span> <span class='conid'>ENTITY</span> <span class='varid'>xn</span>					<span class='comment'>-- ENITITY and parameter ENTITY decl</span>
-<a name="line-323"></a>	<span class='keyglyph'>=</span> <span class='varid'>traceDTD</span> <span class='layout'>(</span><span class='str'>"ENTITY declaration before DTD declaration parsing"</span><span class='layout'>)</span>
-<a name="line-324"></a>	  <span class='varop'>.&gt;&gt;</span>
-<a name="line-325"></a>	  <span class='varid'>processChildrenM</span> <span class='layout'>(</span><span class='varid'>substPeRefsInDTDdecl</span> <span class='conid'>[]</span><span class='layout'>)</span>
-<a name="line-326"></a>          <span class='varop'>.&gt;&gt;</span>
-<a name="line-327"></a>	  <span class='varid'>liftF</span> <span class='varid'>parseXmlDTDdecl</span>
-<a name="line-328"></a>          <span class='varop'>.&gt;&gt;</span>
-<a name="line-329"></a>	  <span class='varid'>substRefsInEntityValue</span>
-<a name="line-330"></a>          <span class='varop'>.&gt;&gt;</span>
-<a name="line-331"></a>	  <span class='varid'>processEntityDecl</span>
-<a name="line-332"></a>          <span class='varop'>.&gt;&gt;</span>
-<a name="line-333"></a>          <span class='varid'>traceDTD</span> <span class='layout'>(</span><span class='str'>"ENTITY declaration after DTD declaration parsing"</span><span class='layout'>)</span>
-<a name="line-334"></a>          <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-335"></a>
-<a name="line-336"></a>    <span class='keyglyph'>|</span> <span class='varid'>isDTDElemNode</span> <span class='conid'>PEREF</span> <span class='varid'>xn</span>					<span class='comment'>-- parameter entity ref in DTD</span>
-<a name="line-337"></a>	<span class='keyglyph'>=</span> <span class='varid'>substPeRefsInDTDpart</span> <span class='conid'>[]</span> <span class='varid'>n</span>
-<a name="line-338"></a>
-<a name="line-339"></a>    <span class='keyglyph'>|</span> <span class='varid'>isDTDElemNode</span> <span class='conid'>ELEMENT</span> <span class='varid'>xn</span>					<span class='comment'>-- ELEMENT, ATTLIST, NOTATION</span>
-<a name="line-340"></a>      <span class='varop'>||</span>
-<a name="line-341"></a>      <span class='varid'>isDTDElemNode</span> <span class='conid'>ATTLIST</span> <span class='varid'>xn</span>
-<a name="line-342"></a>      <span class='varop'>||</span>
-<a name="line-343"></a>      <span class='varid'>isDTDElemNode</span> <span class='conid'>NOTATION</span> <span class='varid'>xn</span>
-<a name="line-344"></a>	<span class='keyglyph'>=</span> <span class='varid'>traceDTD</span>  <span class='str'>"DTD declaration before PE substitution"</span>
-<a name="line-345"></a>	  <span class='varop'>.&gt;&gt;</span>
-<a name="line-346"></a>	  <span class='varid'>processChildrenM</span> <span class='layout'>(</span><span class='varid'>substPeRefsInDTDdecl</span> <span class='conid'>[]</span><span class='layout'>)</span>
-<a name="line-347"></a>          <span class='varop'>.&gt;&gt;</span>
-<a name="line-348"></a>	  <span class='varid'>liftF</span> <span class='varid'>parseXmlDTDdecl</span>
-<a name="line-349"></a>          <span class='varop'>.&gt;&gt;</span>
-<a name="line-350"></a>	  <span class='varid'>traceDTD</span> <span class='str'>"DTD declaration after DTD declaration parsing"</span>
-<a name="line-351"></a>	  <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-352"></a>
-<a name="line-353"></a>    <span class='keyglyph'>|</span> <span class='varid'>isDTDElemNode</span> <span class='conid'>CONDSECT</span> <span class='varid'>xn</span>					<span class='comment'>-- conditional section</span>
-<a name="line-354"></a>      <span class='varop'>&amp;&amp;</span>
-<a name="line-355"></a>      <span class='varid'>loc</span> <span class='varop'>==</span> <span class='conid'>Internal</span>
-<a name="line-356"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-357"></a>	    <span class='varid'>issueErr</span> <span class='str'>"conditional sections in internal part of the DTD is not allowed"</span> <span class='varid'>n</span>
-<a name="line-358"></a>            <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-359"></a>
-<a name="line-360"></a>    <span class='keyglyph'>|</span> <span class='varid'>isDTDElemNode</span> <span class='conid'>CONDSECT</span> <span class='varid'>xn</span>					<span class='comment'>-- conditional section</span>
-<a name="line-361"></a>      <span class='varop'>&amp;&amp;</span>
-<a name="line-362"></a>      <span class='varid'>loc</span> <span class='varop'>==</span> <span class='conid'>External</span>
-<a name="line-363"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>let</span>
-<a name="line-364"></a>	    <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='keyword'>_</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>xn</span>
-<a name="line-365"></a>	    <span class='varid'>content</span>	<span class='keyglyph'>=</span> <span class='varid'>mkXTextTree</span> <span class='layout'>(</span><span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-366"></a>	    <span class='keyword'>in</span>
-<a name="line-367"></a>	    <span class='varid'>traceDTD</span> <span class='str'>"substParamEntity: process conditional section"</span>
-<a name="line-368"></a>	    <span class='varop'>.&gt;&gt;</span>
-<a name="line-369"></a>	    <span class='varid'>processChildrenM</span> <span class='layout'>(</span><span class='varid'>substPeRefsInCondSect</span> <span class='conid'>[]</span><span class='layout'>)</span>
-<a name="line-370"></a>            <span class='varop'>.&gt;&gt;</span>
-<a name="line-371"></a>	    <span class='varid'>liftF</span> <span class='varid'>parseXmlDTDdecl</span>
-<a name="line-372"></a>	    <span class='varop'>.&gt;&gt;</span>
-<a name="line-373"></a>            <span class='varid'>evalCond</span> <span class='varid'>content</span>
-<a name="line-374"></a>	    <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-375"></a>
-<a name="line-376"></a>    <span class='keyglyph'>|</span> <span class='varid'>isXCmtNode</span> <span class='varid'>xn</span>						<span class='comment'>-- remove comments</span>
-<a name="line-377"></a>	<span class='keyglyph'>=</span> <span class='varid'>noneM</span> <span class='varid'>n</span>
-<a name="line-378"></a>
-<a name="line-379"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>							<span class='comment'>-- default: keep things unchanged (should not occur)</span>
-<a name="line-380"></a>	<span class='keyglyph'>=</span> <span class='varid'>thisM</span> <span class='varid'>n</span>
-<a name="line-381"></a>    <span class='keyword'>where</span>
-<a name="line-382"></a>
-<a name="line-383"></a>    <span class='varid'>processEntityDecl</span>	<span class='keyglyph'>::</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-384"></a>    <span class='varid'>processEntityDecl</span> <span class='varid'>n'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ENTITY</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>isExtern</span>
-<a name="line-385"></a>	  <span class='keyword'>then</span> <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-386"></a>		 <span class='varid'>url</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getAbsolutURI</span> <span class='varid'>sysVal</span>			<span class='comment'>-- add the absolute URI</span>
-<a name="line-387"></a>		 <span class='varid'>return</span> <span class='keyglyph'>[</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ENTITY</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>a_url</span><span class='layout'>,</span> <span class='varid'>url</span><span class='layout'>)</span> <span class='conop'>:</span> <span class='varid'>al</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='keyglyph'>]</span>
-<a name="line-388"></a>	       <span class='layout'>)</span>
-<a name="line-389"></a>	  <span class='keyword'>else</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>substChildren</span> <span class='layout'>(</span><span class='varid'>xmlTreesToText</span> <span class='varop'>.</span> <span class='varid'>getChildren</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>n'</span>
-<a name="line-390"></a>	<span class='keyword'>where</span>
-<a name="line-391"></a>	<span class='varid'>isExtern</span> <span class='keyglyph'>=</span> <span class='varid'>hasEntry</span> <span class='varid'>k_system</span> <span class='varid'>al</span>
-<a name="line-392"></a>	<span class='varid'>sysVal</span>   <span class='keyglyph'>=</span> <span class='varid'>lookup1</span>  <span class='varid'>k_system</span> <span class='varid'>al</span>
-<a name="line-393"></a>      
-<a name="line-394"></a>    <span class='varid'>processEntityDecl</span> <span class='varid'>n'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PENTITY</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-395"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-396"></a>	  <span class='varid'>env</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getState</span>
-<a name="line-397"></a>	  <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>isJust</span> <span class='varop'>.</span> <span class='varid'>lookupPeEnv</span> <span class='varid'>peName</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>env</span>
-<a name="line-398"></a>	     <span class='keyword'>then</span>
-<a name="line-399"></a>	     <span class='varid'>issueWarn</span> <span class='layout'>(</span><span class='str'>"parameter entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>peName</span> <span class='varop'>++</span> <span class='str'>" already defined"</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-400"></a>	     <span class='keyword'>else</span>
-<a name="line-401"></a>	     <span class='layout'>(</span> <span class='varid'>ifM</span> <span class='varid'>isExternalParameterEntity</span>
-<a name="line-402"></a>	           <span class='layout'>(</span> <span class='varid'>runInLocalURIContext</span> <span class='varid'>getExternalParamEntityValue</span> <span class='layout'>)</span>
-<a name="line-403"></a>                   <span class='layout'>(</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>substChildren</span> <span class='layout'>(</span><span class='varid'>xmlTreesToText</span> <span class='varop'>.</span> <span class='varid'>getChildren</span><span class='layout'>)</span><span class='layout'>)</span> <span class='layout'>)</span>
-<a name="line-404"></a>	       <span class='varop'>.&gt;&gt;</span>
-<a name="line-405"></a>	       <span class='varid'>addPE</span> <span class='varid'>peName</span>
-<a name="line-406"></a>	     <span class='layout'>)</span> <span class='varid'>n'</span>
-<a name="line-407"></a>	  <span class='keyword'>where</span>
-<a name="line-408"></a>	  <span class='varid'>peName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-409"></a>
-<a name="line-410"></a>    <span class='varid'>processEntityDecl</span> <span class='varid'>n'</span>
-<a name="line-411"></a>	<span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"processEntityDecl called with wrong argument"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n'</span><span class='layout'>)</span>
-<a name="line-412"></a>
-<a name="line-413"></a>    <span class='varid'>addPE</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-414"></a>    <span class='varid'>addPE</span> <span class='varid'>name</span> <span class='varid'>t</span>
-<a name="line-415"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-416"></a>	  <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"substParamEntity: add entity to env: "</span> <span class='varop'>++</span> <span class='varid'>xshow</span> <span class='keyglyph'>[</span><span class='varid'>t</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-417"></a>	  <span class='varid'>changeState</span> <span class='varop'>$</span> <span class='varid'>addPeEntry</span> <span class='varid'>name</span> <span class='varid'>t</span>
-<a name="line-418"></a>	  <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-419"></a>
-<a name="line-420"></a>    <span class='varid'>substPEref</span>	<span class='keyglyph'>::</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-421"></a>    <span class='varid'>substPEref</span> <span class='varid'>n'</span>
-<a name="line-422"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-423"></a>	  <span class='varid'>env</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getState</span>
-<a name="line-424"></a>	  <span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>substPEref'</span> <span class='varid'>loc</span> <span class='varid'>env</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>n'</span>
-<a name="line-425"></a>
-<a name="line-426"></a>    <span class='varid'>substPeRefsInValue</span>	<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-427"></a>    <span class='varid'>substPeRefsInValue</span> <span class='varid'>recList</span> <span class='varid'>n'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PEREF</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='sel'>_cl</span><span class='layout'>)</span>
-<a name="line-428"></a>	<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>peName</span> <span class='varop'>`elem`</span> <span class='varid'>recList</span>
-<a name="line-429"></a>	    <span class='keyword'>then</span> <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"recursive call of parameter entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>peName</span> <span class='varop'>++</span> <span class='str'>" in entity value"</span><span class='layout'>)</span>
-<a name="line-430"></a>	    <span class='keyword'>else</span> <span class='layout'>(</span> <span class='varid'>substPEref</span>
-<a name="line-431"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-432"></a>		   <span class='varid'>liftF</span> <span class='varid'>parseXmlDTDEntityValue</span>
-<a name="line-433"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-434"></a>		   <span class='varid'>liftF</span> <span class='varid'>transfCharRef</span>
-<a name="line-435"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-436"></a>		   <span class='layout'>(</span> <span class='varid'>substPeRefsInValue</span> <span class='layout'>(</span><span class='varid'>peName</span> <span class='conop'>:</span> <span class='varid'>recList</span><span class='layout'>)</span>
-<a name="line-437"></a>		     <span class='varop'>`whenM`</span>
-<a name="line-438"></a>		     <span class='varid'>isPeRef</span>
-<a name="line-439"></a>		   <span class='layout'>)</span>
-<a name="line-440"></a>		 <span class='layout'>)</span>
-<a name="line-441"></a>	  <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>n'</span>
-<a name="line-442"></a>	<span class='keyword'>where</span>
-<a name="line-443"></a>	<span class='varid'>peName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_peref</span> <span class='varid'>al</span>
-<a name="line-444"></a>
-<a name="line-445"></a>    <span class='varid'>substPeRefsInValue</span> <span class='keyword'>_</span> <span class='varid'>n'</span>
-<a name="line-446"></a>	<span class='keyglyph'>=</span> <span class='varid'>thisM</span> <span class='varid'>n'</span>
-<a name="line-447"></a>
-<a name="line-448"></a>    <span class='varid'>substRefsInEntityValue</span>	<span class='keyglyph'>::</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-449"></a>    <span class='varid'>substRefsInEntityValue</span> <span class='varid'>n'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='varid'>decl</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='sel'>_cl</span><span class='layout'>)</span>
-<a name="line-450"></a>	<span class='keyglyph'>|</span> <span class='varid'>decl</span> <span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='conid'>ENTITY</span><span class='layout'>,</span> <span class='conid'>PENTITY</span><span class='keyglyph'>]</span>
-<a name="line-451"></a>	    <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>hasEntry</span> <span class='varid'>k_system</span> <span class='varid'>al</span>
-<a name="line-452"></a>		<span class='keyword'>then</span> <span class='varid'>thisM</span>							<span class='comment'>-- externals not yet handled ??? really</span>
-<a name="line-453"></a>		<span class='keyword'>else</span> <span class='varid'>processChildrenM</span> <span class='layout'>(</span> <span class='varid'>liftF</span> <span class='varid'>transfCharRef</span>
-<a name="line-454"></a>					<span class='varop'>.&gt;&gt;</span>
-<a name="line-455"></a>					<span class='varid'>substPeRefsInValue</span> <span class='conid'>[]</span>
-<a name="line-456"></a>				      <span class='layout'>)</span>
-<a name="line-457"></a>	      <span class='layout'>)</span> <span class='varid'>n'</span>
-<a name="line-458"></a>    <span class='varid'>substRefsInEntityValue</span>  <span class='varid'>n'</span>
-<a name="line-459"></a>	<span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"substRefsInEntityValue called with wrong argument"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n'</span><span class='layout'>)</span>
-<a name="line-460"></a>
-<a name="line-461"></a>    <span class='varid'>runInPeContext</span>	<span class='keyglyph'>::</span> <span class='conid'>DTDStateFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-462"></a>    <span class='varid'>runInPeContext</span> <span class='varid'>f</span> <span class='varid'>n'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PEREF</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-463"></a>	<span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>base</span>
-<a name="line-464"></a>	    <span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varid'>n'</span>
-<a name="line-465"></a>	<span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-466"></a>	    <span class='keyglyph'>=</span> <span class='varid'>runInNewURIContext</span> <span class='varid'>base</span> <span class='varid'>f</span> <span class='varid'>n'</span>
-<a name="line-467"></a>	<span class='keyword'>where</span>
-<a name="line-468"></a>	<span class='varid'>base</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_url</span> <span class='varid'>al</span>
-<a name="line-469"></a>
-<a name="line-470"></a>    <span class='varid'>runInPeContext</span> <span class='varid'>f</span> <span class='varid'>n'</span>
-<a name="line-471"></a>	<span class='keyglyph'>=</span> <span class='varid'>f</span> <span class='varid'>n'</span>
-<a name="line-472"></a>
-<a name="line-473"></a>    <span class='varid'>substPeRefsInDTDdecl</span>	<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-474"></a>    <span class='varid'>substPeRefsInDTDdecl</span> <span class='varid'>recList</span> <span class='varid'>n'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PEREF</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='sel'>_cl</span><span class='layout'>)</span>
-<a name="line-475"></a>	<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>peName</span> <span class='varop'>`elem`</span> <span class='varid'>recList</span>
-<a name="line-476"></a>	    <span class='keyword'>then</span> <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"recursive call of parameter entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>peName</span> <span class='varop'>++</span> <span class='str'>" in DTD declaration"</span><span class='layout'>)</span>
-<a name="line-477"></a>	    <span class='keyword'>else</span> <span class='layout'>(</span> <span class='varid'>substPEref</span>
-<a name="line-478"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-479"></a>		   <span class='varid'>traceDTD</span> <span class='str'>"substPeRefsInDTDdecl: parseXmlDTDdeclPart"</span>
-<a name="line-480"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-481"></a>		   <span class='layout'>(</span> <span class='varid'>runInPeContext</span>
-<a name="line-482"></a>		     <span class='layout'>(</span> <span class='varid'>liftF</span> <span class='layout'>(</span> <span class='varid'>parseXmlDTDdeclPart</span> <span class='layout'>)</span>
-<a name="line-483"></a>		       <span class='varop'>.&gt;&gt;</span>
-<a name="line-484"></a>		       <span class='varid'>traceDTD</span> <span class='str'>"substPeRefsInDTDdecl: after parseXmlDTDdeclPart"</span>
-<a name="line-485"></a>		       <span class='varop'>.&gt;&gt;</span>
-<a name="line-486"></a>		       <span class='varid'>processChildrenM</span> <span class='layout'>(</span> <span class='varid'>substPeRefsInDTDdecl</span> <span class='layout'>(</span><span class='varid'>peName</span> <span class='conop'>:</span> <span class='varid'>recList</span><span class='layout'>)</span> <span class='layout'>)</span>
-<a name="line-487"></a>		     <span class='layout'>)</span>
-<a name="line-488"></a>		     <span class='varop'>`whenM`</span>
-<a name="line-489"></a>		     <span class='varid'>isPeRef</span>
-<a name="line-490"></a>		   <span class='layout'>)</span>
-<a name="line-491"></a>		 <span class='layout'>)</span>
-<a name="line-492"></a>	  <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>n'</span>
-<a name="line-493"></a>	<span class='keyword'>where</span>
-<a name="line-494"></a>	<span class='varid'>peName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_peref</span> <span class='varid'>al</span>
-<a name="line-495"></a>
-<a name="line-496"></a>    <span class='varid'>substPeRefsInDTDdecl</span> <span class='keyword'>_</span> <span class='varid'>n'</span>
-<a name="line-497"></a>	<span class='keyglyph'>=</span> <span class='varid'>thisM</span> <span class='varid'>n'</span>
-<a name="line-498"></a>
-<a name="line-499"></a>    <span class='varid'>substPeRefsInDTDpart</span>	<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-500"></a>    <span class='varid'>substPeRefsInDTDpart</span> <span class='varid'>recList</span> <span class='varid'>n'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PEREF</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='sel'>_cl</span><span class='layout'>)</span>
-<a name="line-501"></a>	<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>peName</span> <span class='varop'>`elem`</span> <span class='varid'>recList</span>
-<a name="line-502"></a>	    <span class='keyword'>then</span> <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"recursive call of parameter entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>peName</span> <span class='varop'>++</span> <span class='str'>" in DTD part"</span><span class='layout'>)</span>
-<a name="line-503"></a>	    <span class='keyword'>else</span> <span class='layout'>(</span> <span class='varid'>substPEref</span>
-<a name="line-504"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-505"></a>		   <span class='varid'>traceDTD</span> <span class='str'>"substPeRefsInDTDpart: parseXmlDTDPart"</span>
-<a name="line-506"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-507"></a>		   <span class='varid'>runInPeContext</span>
-<a name="line-508"></a>		   <span class='layout'>(</span> <span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>parseXmlDTDPart</span> <span class='layout'>(</span><span class='str'>"parameter entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>peName</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-509"></a>		     <span class='varop'>.&gt;&gt;</span>
-<a name="line-510"></a>		     <span class='varid'>traceDTD</span> <span class='str'>"substPeRefsInDTDdecl: after parseXmlDTDPart"</span>
-<a name="line-511"></a>		     <span class='varop'>.&gt;&gt;</span>
-<a name="line-512"></a>		     <span class='varid'>substParamEntity</span> <span class='varid'>loc</span> <span class='comment'>-- cyclic check not yet done (peName : recList)</span>
-<a name="line-513"></a>		   <span class='layout'>)</span>
-<a name="line-514"></a>		 <span class='layout'>)</span>
-<a name="line-515"></a>	  <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>n'</span>
-<a name="line-516"></a>	<span class='keyword'>where</span>
-<a name="line-517"></a>	<span class='varid'>peName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_peref</span> <span class='varid'>al</span>
-<a name="line-518"></a>
-<a name="line-519"></a>    <span class='varid'>substPeRefsInDTDpart</span> <span class='keyword'>_</span> <span class='varid'>n'</span>
-<a name="line-520"></a>	<span class='keyglyph'>=</span> <span class='varid'>thisM</span> <span class='varid'>n'</span>
-<a name="line-521"></a>
-<a name="line-522"></a>    <span class='varid'>substPeRefsInCondSect</span>	<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-523"></a>    <span class='varid'>substPeRefsInCondSect</span> <span class='varid'>recList</span> <span class='varid'>n'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>PEREF</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='sel'>_cl</span><span class='layout'>)</span>
-<a name="line-524"></a>	<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>peName</span> <span class='varop'>`elem`</span> <span class='varid'>recList</span>
-<a name="line-525"></a>	    <span class='keyword'>then</span> <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"recursive call of parameter entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>peName</span> <span class='varop'>++</span> <span class='str'>" in conditional section"</span><span class='layout'>)</span>
-<a name="line-526"></a>	    <span class='keyword'>else</span> <span class='layout'>(</span> <span class='varid'>substPEref</span>
-<a name="line-527"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-528"></a>		   <span class='varid'>traceDTD</span> <span class='str'>"substPeRefsInCondSect: parseXmlDTDdeclPart"</span>
-<a name="line-529"></a>		   <span class='varop'>.&gt;&gt;</span>
-<a name="line-530"></a>		   <span class='layout'>(</span> <span class='varid'>runInPeContext</span>
-<a name="line-531"></a>		     <span class='layout'>(</span> <span class='varid'>liftF</span> <span class='layout'>(</span> <span class='varid'>parseXmlDTDdeclPart</span> <span class='layout'>)</span>
-<a name="line-532"></a>		       <span class='varop'>.&gt;&gt;</span>
-<a name="line-533"></a>		       <span class='varid'>traceDTD</span> <span class='str'>"substPeRefsInCondSect: after parseXmlDTDdeclPart"</span>
-<a name="line-534"></a>		       <span class='varop'>.&gt;&gt;</span>
-<a name="line-535"></a>		       <span class='varid'>processChildrenM</span> <span class='layout'>(</span> <span class='varid'>substPeRefsInCondSect</span> <span class='layout'>(</span><span class='varid'>peName</span> <span class='conop'>:</span> <span class='varid'>recList</span><span class='layout'>)</span> <span class='layout'>)</span>
-<a name="line-536"></a>		     <span class='layout'>)</span>
-<a name="line-537"></a>		     <span class='varop'>`whenM`</span>
-<a name="line-538"></a>		     <span class='varid'>isPeRef</span>
-<a name="line-539"></a>		   <span class='layout'>)</span>
-<a name="line-540"></a>		 <span class='layout'>)</span>
-<a name="line-541"></a>	  <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>n'</span>
-<a name="line-542"></a>	<span class='keyword'>where</span>
-<a name="line-543"></a>	<span class='varid'>peName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_peref</span> <span class='varid'>al</span>
-<a name="line-544"></a>
-<a name="line-545"></a>    <span class='varid'>substPeRefsInCondSect</span> <span class='keyword'>_</span> <span class='varid'>n'</span>
-<a name="line-546"></a>	<span class='keyglyph'>=</span> <span class='varid'>thisM</span> <span class='varid'>n'</span>
-<a name="line-547"></a>
-<a name="line-548"></a>
-<a name="line-549"></a><a name="evalCond"></a><span class='definition'>evalCond</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>DTDStateFilter</span>
-<a name="line-550"></a><span class='definition'>evalCond</span> <span class='varid'>content</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-551"></a>    <span class='keyglyph'>|</span> <span class='varid'>c</span> <span class='varop'>==</span> <span class='varid'>k_include</span>
-<a name="line-552"></a>	<span class='keyglyph'>=</span> <span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>parseXmlDTDPart</span> <span class='str'>"conditional section"</span><span class='layout'>)</span>
-<a name="line-553"></a>	  <span class='varop'>.&gt;&gt;</span>
-<a name="line-554"></a>	  <span class='varid'>traceDTD</span> <span class='str'>"evalCond: DTD part"</span>
-<a name="line-555"></a>	  <span class='varop'>.&gt;&gt;</span>
-<a name="line-556"></a>	  <span class='varid'>substParamEntity</span> <span class='conid'>External</span>
-<a name="line-557"></a>          <span class='varop'>$</span> <span class='varid'>content</span> 
-<a name="line-558"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-559"></a>	<span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-560"></a>    <span class='keyword'>where</span>
-<a name="line-561"></a>    <span class='varid'>c</span> <span class='keyglyph'>=</span> <span class='varid'>textOfXNode</span> <span class='varid'>n</span>
-<a name="line-562"></a>
-<a name="line-563"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-564"></a>
-<a name="line-565"></a><a name="processExternalDTD"></a><span class='definition'>processExternalDTD</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-566"></a><span class='definition'>processExternalDTD</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>DOCTYPE</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='sel'>_dtd</span><span class='layout'>)</span>
-<a name="line-567"></a>    <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>sysVal</span>
-<a name="line-568"></a>	<span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-569"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-570"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-571"></a>	  <span class='varid'>checkStandalone</span>
-<a name="line-572"></a>	  <span class='varid'>dtdContent</span> <span class='keyglyph'>&lt;-</span> <span class='layout'>(</span> <span class='varid'>getXmlEntityContents</span>
-<a name="line-573"></a>			  <span class='varop'>.&gt;&gt;</span>
-<a name="line-574"></a>			  <span class='varid'>traceMsg</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"processExternalDTD: parsing DTD part for "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>sysVal</span><span class='layout'>)</span>
-<a name="line-575"></a>			  <span class='varop'>.&gt;&gt;</span>
-<a name="line-576"></a>			  <span class='varid'>liftMf</span> <span class='varid'>getChildren</span>
-<a name="line-577"></a>			  <span class='varop'>.&gt;&gt;</span>
-<a name="line-578"></a>			  <span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>parseXmlDTDPart</span> <span class='varid'>sysVal</span><span class='layout'>)</span>
-<a name="line-579"></a>			<span class='layout'>)</span>
-<a name="line-580"></a>		       <span class='varop'>$</span> <span class='varid'>newDocument</span> <span class='varid'>sysVal</span>
-<a name="line-581"></a>	  <span class='varid'>trace</span> <span class='num'>2</span> <span class='str'>"processExternalDTD: parsing DTD part done"</span>
-<a name="line-582"></a>	  <span class='varid'>traceTree</span> <span class='varop'>$</span> <span class='varid'>mkRootTree</span> <span class='conid'>[]</span> <span class='varid'>dtdContent</span>
-<a name="line-583"></a>	  <span class='varid'>return</span> <span class='varid'>dtdContent</span>
-<a name="line-584"></a>    <span class='keyword'>where</span>
-<a name="line-585"></a>    <span class='varid'>sysVal</span>		<span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>k_system</span> <span class='varid'>al</span>
-<a name="line-586"></a>    <span class='varid'>checkStandalone</span>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-587"></a>			  <span class='sel'>_isAlone</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>isStandaloneDocument</span>
-<a name="line-588"></a>			  <span class='keyword'>if</span> <span class='conid'>False</span> <span class='comment'>-- isAlone</span>
-<a name="line-589"></a>			     <span class='keyword'>then</span> <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"external DTD "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>sysVal</span> <span class='varop'>++</span> <span class='str'>" specified for standalone document"</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-590"></a>			     <span class='keyword'>else</span> <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-591"></a>
-<a name="line-592"></a><span class='definition'>processExternalDTD</span>  <span class='keyword'>_</span>
-<a name="line-593"></a>    <span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-594"></a>
-<a name="line-595"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-596"></a><span class='comment'>-- |</span>
-<a name="line-597"></a><span class='comment'>-- merge the external and the internal part of a DTD into one internal part.</span>
-<a name="line-598"></a><span class='comment'>-- parameter entity substitution should be made before applying this filter</span>
-<a name="line-599"></a><span class='comment'>-- internal definitions shadow external ones</span>
-<a name="line-600"></a><span class='comment'>--</span>
-<a name="line-601"></a><span class='comment'>--</span>
-<a name="line-602"></a><span class='comment'>-- preliminary: no real merge is done</span>
-<a name="line-603"></a>
-<a name="line-604"></a><a name="mergeDTDs"></a><span class='definition'>mergeDTDs</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-605"></a><span class='definition'>mergeDTDs</span> <span class='varid'>dtdInt</span> <span class='varid'>dtdExt</span>
-<a name="line-606"></a>    <span class='keyglyph'>=</span> <span class='varid'>dtdInt</span> <span class='varop'>++</span> <span class='layout'>(</span><span class='varid'>mergeDTDentry</span> <span class='varid'>dtdInt</span> <span class='varop'>$$</span> <span class='varid'>dtdExt</span><span class='layout'>)</span>
-<a name="line-607"></a>
-<a name="line-608"></a><a name="mergeDTDentry"></a><span class='definition'>mergeDTDentry</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-609"></a><span class='definition'>mergeDTDentry</span> <span class='varid'>dtdPart</span>
-<a name="line-610"></a>    <span class='keyglyph'>=</span> <span class='varid'>none</span> <span class='varop'>`when`</span> <span class='varid'>found</span>
-<a name="line-611"></a>      <span class='keyword'>where</span>
-<a name="line-612"></a>      <span class='varid'>filterList</span> <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='varid'>filterDTDNode</span> <span class='varid'>dtdPart</span>	<span class='comment'>-- construct the list of filters</span>
-<a name="line-613"></a>      <span class='varid'>found</span>      <span class='keyglyph'>=</span> <span class='varid'>cat</span> <span class='varid'>filterList</span>		<span class='comment'>-- concatenate the filters (set union)</span>
-<a name="line-614"></a>
-<a name="line-615"></a>
-<a name="line-616"></a><a name="filterDTDNode"></a><span class='definition'>filterDTDNode</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-617"></a>
-<a name="line-618"></a><span class='definition'>filterDTDNode</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='varid'>dtdElem</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-619"></a>    <span class='keyglyph'>|</span> <span class='varid'>dtdElem</span> <span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='conid'>ELEMENT</span><span class='layout'>,</span> <span class='conid'>NOTATION</span><span class='layout'>,</span> <span class='conid'>ENTITY</span><span class='keyglyph'>]</span>
-<a name="line-620"></a>	<span class='keyglyph'>=</span> <span class='varid'>filterElement</span>
-<a name="line-621"></a>	  <span class='keyword'>where</span>
-<a name="line-622"></a>	  <span class='varid'>filterElement</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='varid'>dtdElem'</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='sel'>_cl'</span><span class='layout'>)</span>
-<a name="line-623"></a>	      <span class='keyglyph'>|</span> <span class='varid'>dtdElem</span> <span class='varop'>==</span> <span class='varid'>dtdElem'</span> <span class='varop'>&amp;&amp;</span>
-<a name="line-624"></a>		<span class='varid'>lookup</span> <span class='varid'>a_name</span> <span class='varid'>al'</span> <span class='varop'>==</span> <span class='varid'>lookup</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-625"></a>		  <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-626"></a>	      <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-627"></a>		  <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-628"></a>	  <span class='varid'>filterElement</span> <span class='keyword'>_</span>
-<a name="line-629"></a>	      <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-630"></a>
-<a name="line-631"></a><span class='definition'>filterDTDNode</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-632"></a>    <span class='keyglyph'>=</span> <span class='varid'>filterAttlist</span>
-<a name="line-633"></a>      <span class='keyword'>where</span>
-<a name="line-634"></a>      <span class='varid'>filterAttlist</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='sel'>_cl'</span><span class='layout'>)</span>
-<a name="line-635"></a>	  <span class='keyglyph'>|</span> <span class='varid'>lookup</span> <span class='varid'>a_name</span>  <span class='varid'>al'</span> <span class='varop'>==</span> <span class='varid'>lookup</span> <span class='varid'>a_name</span>  <span class='varid'>al</span> <span class='varop'>&amp;&amp;</span>
-<a name="line-636"></a>	    <span class='varid'>lookup</span> <span class='varid'>a_value</span> <span class='varid'>al'</span> <span class='varop'>==</span> <span class='varid'>lookup</span> <span class='varid'>a_value</span> <span class='varid'>al</span>
-<a name="line-637"></a>		<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-638"></a>      <span class='varid'>filterAttlist</span> <span class='keyword'>_</span>
-<a name="line-639"></a>	  <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-640"></a>
-<a name="line-641"></a><span class='definition'>filterDTDNode</span> <span class='keyword'>_</span>
-<a name="line-642"></a>    <span class='keyglyph'>=</span>  <span class='varid'>none</span>
-<a name="line-643"></a>
-<a name="line-644"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-645"></a>
-<a name="line-646"></a><a name="predefinedEntities"></a><span class='definition'>predefinedEntities</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span>
-<a name="line-647"></a><span class='definition'>predefinedEntities</span>
-<a name="line-648"></a>    <span class='keyglyph'>=</span> <span class='varid'>concat</span> <span class='keyglyph'>[</span> <span class='str'>"&lt;!ENTITY lt   '&amp;#38;#60;'&gt;"</span>
-<a name="line-649"></a>	     <span class='layout'>,</span> <span class='str'>"&lt;!ENTITY gt   '&amp;#62;'&gt;"</span>
-<a name="line-650"></a>	     <span class='layout'>,</span> <span class='str'>"&lt;!ENTITY amp  '&amp;#38;#38;'&gt;"</span>
-<a name="line-651"></a>	     <span class='layout'>,</span> <span class='str'>"&lt;!ENTITY apos '&amp;#39;'&gt;"</span>
-<a name="line-652"></a>	     <span class='layout'>,</span> <span class='str'>"&lt;!ENTITY quot '&amp;#34;'&gt;"</span>
-<a name="line-653"></a>	     <span class='keyglyph'>]</span>
-<a name="line-654"></a>
-<a name="line-655"></a><a name="predefDTDPart"></a><span class='definition'>predefDTDPart</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span>
-<a name="line-656"></a><span class='definition'>predefDTDPart</span>
-<a name="line-657"></a>    <span class='keyglyph'>=</span> <span class='varid'>parseXmlDTDPart</span> <span class='str'>"predefined entities"</span> <span class='varop'>$</span> <span class='varid'>mkXTextTree</span> <span class='varid'>predefinedEntities</span>
-<a name="line-658"></a>
-<a name="line-659"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-660"></a><span class='comment'>--</span>
-<a name="line-661"></a><span class='comment'>-- 4.4 XML Processor Treatment of General Entities and References</span>
-<a name="line-662"></a>
-<a name="line-663"></a><a name="GeContext"></a><span class='keyword'>data</span> <span class='conid'>GeContext</span>
-<a name="line-664"></a>    <span class='keyglyph'>=</span> <span class='conid'>ReferenceInContent</span>
-<a name="line-665"></a>    <span class='keyglyph'>|</span> <span class='conid'>ReferenceInAttributeValue</span>
-<a name="line-666"></a>    <span class='keyglyph'>|</span> <span class='conid'>ReferenceInEntityValue</span>
-<a name="line-667"></a>    <span class='comment'>-- or OccursInAttributeValue				-- not used during substitution but during validation</span>
-<a name="line-668"></a>    <span class='comment'>-- or ReferenceInDTD					-- not used: syntax check detects errors</span>
-<a name="line-669"></a>
-<a name="line-670"></a><a name="GeFct"></a><span class='keyword'>type</span> <span class='conid'>GeFct</span>		<span class='keyglyph'>=</span> <span class='conid'>GeContext</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RecList</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeStateFilter</span>
-<a name="line-671"></a>
-<a name="line-672"></a><a name="GeState"></a><span class='keyword'>type</span> <span class='conid'>GeState</span> <span class='varid'>res</span>	<span class='keyglyph'>=</span> <span class='conid'>XState</span> <span class='conid'>GeEnv</span> <span class='varid'>res</span>
-<a name="line-673"></a>
-<a name="line-674"></a><a name="GeStateFilter"></a><span class='keyword'>type</span> <span class='conid'>GeStateFilter</span>	<span class='keyglyph'>=</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeState</span> <span class='conid'>XmlTrees</span>
-<a name="line-675"></a>
-<a name="line-676"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-677"></a>
-<a name="line-678"></a><a name="GeEnv"></a><span class='keyword'>newtype</span> <span class='conid'>GeEnv</span>	<span class='keyglyph'>=</span> <span class='conid'>GeEnv</span> <span class='layout'>(</span><span class='conid'>M</span><span class='varop'>.</span><span class='conid'>Map</span> <span class='conid'>String</span> <span class='conid'>GeFct</span><span class='layout'>)</span>
-<a name="line-679"></a>
-<a name="line-680"></a><a name="emptyGeEnv"></a><span class='definition'>emptyGeEnv</span>	<span class='keyglyph'>::</span> <span class='conid'>GeEnv</span>
-<a name="line-681"></a><span class='definition'>emptyGeEnv</span>	<span class='keyglyph'>=</span> <span class='conid'>GeEnv</span> <span class='conid'>M</span><span class='varop'>.</span><span class='varid'>empty</span>
-<a name="line-682"></a>
-<a name="line-683"></a><a name="lookupGeEnv"></a><span class='definition'>lookupGeEnv</span>		<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeEnv</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Maybe</span> <span class='conid'>GeFct</span>
-<a name="line-684"></a><span class='definition'>lookupGeEnv</span> <span class='varid'>k</span> <span class='layout'>(</span><span class='conid'>GeEnv</span> <span class='varid'>env</span><span class='layout'>)</span>
-<a name="line-685"></a>    <span class='keyglyph'>=</span> <span class='conid'>M</span><span class='varop'>.</span><span class='varid'>lookup</span> <span class='varid'>k</span> <span class='varid'>env</span>
-<a name="line-686"></a>
-<a name="line-687"></a><a name="addGeEntry"></a><span class='definition'>addGeEntry</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeFct</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeEnv</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeEnv</span>
-<a name="line-688"></a><span class='definition'>addGeEntry</span> <span class='varid'>k</span> <span class='varid'>a</span> <span class='layout'>(</span><span class='conid'>GeEnv</span> <span class='varid'>env</span><span class='layout'>)</span>
-<a name="line-689"></a>    <span class='keyglyph'>=</span> <span class='conid'>GeEnv</span> <span class='varop'>$</span> <span class='conid'>M</span><span class='varop'>.</span><span class='varid'>insert</span> <span class='varid'>k</span> <span class='varid'>a</span> <span class='varid'>env</span>
-<a name="line-690"></a>
-<a name="line-691"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-692"></a>
-<a name="line-693"></a><span class='comment'>-- |</span>
-<a name="line-694"></a><span class='comment'>-- substitution of general entities</span>
-<a name="line-695"></a><span class='comment'>--</span>
-<a name="line-696"></a><span class='comment'>-- input: a complete document tree including root node</span>
-<a name="line-697"></a>
-<a name="line-698"></a><a name="processGeneralEntities"></a><span class='definition'>processGeneralEntities</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-699"></a><span class='definition'>processGeneralEntities</span>
-<a name="line-700"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='str'>"processGeneralEntities: collect and substitute general entities"</span>
-<a name="line-701"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-702"></a>	<span class='varid'>processEntities</span>
-<a name="line-703"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-704"></a>	<span class='varid'>checkResult</span> <span class='str'>"in general entity processing"</span>
-<a name="line-705"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-706"></a>	<span class='varid'>traceTree</span>
-<a name="line-707"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-708"></a>	<span class='varid'>traceSource</span>
-<a name="line-709"></a>      <span class='layout'>)</span>
-<a name="line-710"></a>      <span class='varop'>`whenM`</span> <span class='varid'>statusOk</span>
-<a name="line-711"></a>      <span class='keyword'>where</span>
-<a name="line-712"></a>      <span class='varid'>processEntities</span> <span class='varid'>t'</span>
-<a name="line-713"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-714"></a>	    <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>chain</span> <span class='varid'>initialEnv</span> <span class='layout'>(</span><span class='varid'>processGeneralEntity</span> <span class='conid'>ReferenceInContent</span> <span class='conid'>[]</span> <span class='varop'>$$&lt;</span> <span class='varid'>getChildren</span> <span class='varid'>t'</span><span class='layout'>)</span>
-<a name="line-715"></a>	    <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>replaceChildren</span> <span class='varid'>res</span> <span class='varid'>t'</span>
-<a name="line-716"></a>	    <span class='keyword'>where</span>
-<a name="line-717"></a>	    <span class='varid'>initialEnv</span> <span class='keyglyph'>=</span> <span class='varid'>emptyGeEnv</span>
-<a name="line-718"></a>
-<a name="line-719"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-720"></a>
-<a name="line-721"></a><a name="processGeneralEntity"></a><span class='definition'>processGeneralEntity</span>	<span class='keyglyph'>::</span> <span class='conid'>GeContext</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RecList</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeStateFilter</span>
-<a name="line-722"></a><span class='definition'>processGeneralEntity</span> <span class='varid'>cx</span> <span class='varid'>rl</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>DOCTYPE</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>dtdPart</span><span class='layout'>)</span>
-<a name="line-723"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-724"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>processGeneralEntity</span> <span class='varid'>cx</span> <span class='varid'>rl</span> <span class='varop'>$$&lt;</span> <span class='varid'>dtdPart</span>
-<a name="line-725"></a>      <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>replaceChildren</span> <span class='varid'>res</span> <span class='varid'>n</span>
-<a name="line-726"></a>
-<a name="line-727"></a><span class='definition'>processGeneralEntity</span> <span class='varid'>cx</span> <span class='varid'>rl</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ENTITY</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cl</span><span class='layout'>)</span>
-<a name="line-728"></a>    <span class='keyglyph'>|</span> <span class='varid'>isIntern</span>
-<a name="line-729"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-730"></a>	  <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"processGeneralEnity: general entity definition for "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span><span class='layout'>)</span>
-<a name="line-731"></a>	  <span class='varid'>value</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>parseXmlGeneralEntityValue</span> <span class='layout'>(</span><span class='str'>"general internal entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>mkXTextTree</span> <span class='layout'>(</span><span class='varid'>xshow</span> <span class='varid'>cl</span><span class='layout'>)</span>
-<a name="line-732"></a>	  <span class='varid'>res</span>   <span class='keyglyph'>&lt;-</span> <span class='varid'>processGeneralEntity</span> <span class='conid'>ReferenceInEntityValue</span> <span class='layout'>(</span><span class='varid'>name</span><span class='conop'>:</span><span class='varid'>rl</span><span class='layout'>)</span> <span class='varop'>$$&lt;</span> <span class='varid'>value</span>
-<a name="line-733"></a>	  <span class='varid'>insertEntity</span> <span class='varid'>name</span> <span class='layout'>(</span><span class='varid'>substInternal</span> <span class='varid'>res</span><span class='layout'>)</span>
-<a name="line-734"></a>    <span class='keyglyph'>|</span> <span class='varid'>isExtern</span>
-<a name="line-735"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-736"></a>	  <span class='varid'>baseUri</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getBaseURI</span>
-<a name="line-737"></a>	  <span class='varid'>insertEntity</span> <span class='varid'>name</span> <span class='layout'>(</span><span class='varid'>substExternalParsed1Time</span> <span class='varid'>baseUri</span><span class='layout'>)</span>
-<a name="line-738"></a>
-<a name="line-739"></a>    <span class='keyglyph'>|</span> <span class='varid'>isUnparsed</span>
-<a name="line-740"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-741"></a>	  <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"processGeneralEnity: unparsed entity definition for "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span><span class='layout'>)</span>
-<a name="line-742"></a>	  <span class='varid'>insertEntity</span> <span class='varid'>name</span> <span class='layout'>(</span><span class='varid'>substUnparsed</span> <span class='conid'>[]</span><span class='layout'>)</span>
-<a name="line-743"></a>    <span class='keyword'>where</span>
-<a name="line-744"></a>    <span class='varid'>isUnparsed</span>	<span class='keyglyph'>=</span> <span class='varid'>not</span> <span class='varid'>isIntern</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>not</span> <span class='varid'>isExtern</span>
-<a name="line-745"></a>    <span class='varid'>isExtern</span>	<span class='keyglyph'>=</span> <span class='varid'>not</span> <span class='varid'>isIntern</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>hasEntry</span> <span class='varid'>k_ndata</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-746"></a>    <span class='varid'>isIntern</span>	<span class='keyglyph'>=</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>hasEntry</span> <span class='varid'>k_system</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-747"></a>
-<a name="line-748"></a>    <span class='varid'>name</span>	<span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span>   <span class='varid'>al</span>
-<a name="line-749"></a>    <span class='comment'>-- sysVal	= lookup1 k_system al</span>
-<a name="line-750"></a>    <span class='varid'>url</span>		<span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_url</span>    <span class='varid'>al</span>		<span class='comment'>-- a_url contains absolut url for k_system</span>
-<a name="line-751"></a>    <span class='varid'>context</span>	<span class='keyglyph'>=</span> <span class='varid'>addEntry</span> <span class='varid'>a_source</span> <span class='varid'>url</span> <span class='varid'>al</span>
-<a name="line-752"></a>
-<a name="line-753"></a>    <span class='varid'>processExternalEntityContents</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeState</span> <span class='conid'>XmlTrees</span>
-<a name="line-754"></a>    <span class='varid'>processExternalEntityContents</span> <span class='varid'>cl'</span>
-<a name="line-755"></a>	<span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>cl'</span>						<span class='comment'>-- reading content did not succeed</span>
-<a name="line-756"></a>	    <span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-757"></a>	<span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>txt'</span>						<span class='comment'>-- something weird in entity content</span>
-<a name="line-758"></a>	    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-759"></a>	      <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"illegal external parsed entity value for entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-760"></a>	      <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-761"></a>	<span class='keyglyph'>|</span> <span class='varid'>otherwise</span>						<span class='comment'>-- o.k.: parse the contents</span>
-<a name="line-762"></a>	    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-763"></a>	      <span class='varid'>res'</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>parseXmlGeneralEntityValue</span> <span class='layout'>(</span><span class='str'>"external parsed entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varop'>$$&lt;</span> <span class='varid'>txt'</span>
-<a name="line-764"></a>	      <span class='layout'>(</span> <span class='varid'>traceSource</span>
-<a name="line-765"></a>		<span class='varop'>.&gt;&gt;</span>
-<a name="line-766"></a>		<span class='varid'>traceTree</span> <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>mkRootTree</span> <span class='layout'>(</span><span class='varid'>fromAttrl</span> <span class='varid'>context</span><span class='layout'>)</span> <span class='varid'>res'</span>
-<a name="line-767"></a>	      <span class='varid'>return</span> <span class='varid'>res'</span>
-<a name="line-768"></a>	<span class='keyword'>where</span>
-<a name="line-769"></a>	<span class='varid'>txt'</span> <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>isXText</span><span class='layout'>)</span> <span class='varop'>$$</span> <span class='varid'>cl'</span>
-<a name="line-770"></a>
-<a name="line-771"></a>    <span class='varid'>insertEntity</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeFct</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeState</span> <span class='conid'>XmlTrees</span>
-<a name="line-772"></a>    <span class='varid'>insertEntity</span> <span class='varid'>name'</span> <span class='varid'>fct'</span>
-<a name="line-773"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-774"></a>	  <span class='varid'>geEnv'</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getState</span>
-<a name="line-775"></a>	  <span class='keyword'>case</span> <span class='varid'>lookupGeEnv</span> <span class='varid'>name'</span> <span class='varid'>geEnv'</span> <span class='keyword'>of</span>
-<a name="line-776"></a>	    <span class='conid'>Just</span> <span class='sel'>_fct</span>
-<a name="line-777"></a>		<span class='keyglyph'>-&gt;</span> <span class='keyword'>do</span>
-<a name="line-778"></a>		   <span class='varid'>issueWarn</span> <span class='layout'>(</span><span class='str'>"entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span> <span class='varop'>++</span> <span class='str'>" already defined, repeated definition ignored"</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-779"></a>		   <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-780"></a>            <span class='conid'>Nothing</span>
-<a name="line-781"></a>		<span class='keyglyph'>-&gt;</span> <span class='keyword'>do</span>
-<a name="line-782"></a>		   <span class='varid'>changeState</span> <span class='varop'>$</span> <span class='varid'>addGeEntry</span> <span class='varid'>name'</span> <span class='varid'>fct'</span> 
-<a name="line-783"></a>		   <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>this</span> <span class='varid'>n</span>
-<a name="line-784"></a>
-<a name="line-785"></a>    <span class='comment'>-- --------</span>
-<a name="line-786"></a>    <span class='comment'>--</span>
-<a name="line-787"></a>    <span class='comment'>-- 4.4 XML Processor Treatment of Entities and References</span>
-<a name="line-788"></a>
-<a name="line-789"></a>    <span class='varid'>substInternal</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeContext</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RecList</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeStateFilter</span>
-<a name="line-790"></a>    <span class='varid'>substInternal</span> <span class='varid'>nl</span> <span class='conid'>ReferenceInContent</span> <span class='varid'>rl'</span> <span class='sel'>_n'</span>
-<a name="line-791"></a>	<span class='keyglyph'>=</span> <span class='varid'>included</span> <span class='varid'>nl</span> <span class='varid'>rl'</span>
-<a name="line-792"></a>
-<a name="line-793"></a>    <span class='varid'>substInternal</span> <span class='varid'>nl</span> <span class='conid'>ReferenceInAttributeValue</span> <span class='varid'>rl'</span> <span class='sel'>_n'</span>
-<a name="line-794"></a>	<span class='keyglyph'>=</span> <span class='varid'>includedInLiteral</span> <span class='varid'>nl</span> <span class='varid'>rl'</span>
-<a name="line-795"></a>
-<a name="line-796"></a>    <span class='varid'>substInternal</span> <span class='sel'>_nl</span> <span class='conid'>ReferenceInEntityValue</span> <span class='sel'>_rl</span> <span class='varid'>n'</span>
-<a name="line-797"></a>	<span class='keyglyph'>=</span> <span class='varid'>bypassed</span> <span class='varid'>n'</span>
-<a name="line-798"></a>
-<a name="line-799"></a>    <span class='comment'>-- --------</span>
-<a name="line-800"></a>
-<a name="line-801"></a>    <span class='varid'>substExternalParsed1Time</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeContext</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RecList</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeStateFilter</span>
-<a name="line-802"></a>    <span class='varid'>substExternalParsed1Time</span> <span class='varid'>baseUri'</span> <span class='varid'>cx'</span> <span class='varid'>rl'</span> <span class='varid'>n'</span>
-<a name="line-803"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-804"></a>	  <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"substExternalParsed1Time: read and parse external parsed entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span><span class='layout'>)</span>
-<a name="line-805"></a>	  <span class='varid'>res</span>  <span class='keyglyph'>&lt;-</span> <span class='varid'>runInLocalURIContext</span> <span class='varid'>getContents'</span> <span class='varop'>$</span> <span class='varid'>newDocument'</span> <span class='varid'>context</span>
-<a name="line-806"></a>	  <span class='varid'>changeState</span> <span class='varop'>$</span> <span class='varid'>addGeEntry</span> <span class='varid'>name</span> <span class='layout'>(</span><span class='varid'>substExternalParsed</span> <span class='varid'>res</span><span class='layout'>)</span>
-<a name="line-807"></a>	  <span class='varid'>substExternalParsed</span> <span class='varid'>res</span> <span class='varid'>cx'</span> <span class='varid'>rl'</span> <span class='varid'>n'</span> 
-<a name="line-808"></a>	  <span class='keyword'>where</span>
-<a name="line-809"></a>	  <span class='varid'>getContents'</span>	<span class='keyglyph'>::</span> <span class='conid'>GeStateFilter</span>
-<a name="line-810"></a>	  <span class='varid'>getContents'</span> <span class='varid'>t''</span>
-<a name="line-811"></a>	      <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-812"></a>		<span class='varid'>setBaseURI</span> <span class='varid'>baseUri'</span>
-<a name="line-813"></a>		<span class='varid'>rs'</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getXmlEntityContents</span> <span class='varid'>t''</span>
-<a name="line-814"></a>		<span class='varid'>processExternalEntityContents</span> <span class='varid'>rs'</span>
-<a name="line-815"></a>
-<a name="line-816"></a>
-<a name="line-817"></a>    <span class='varid'>substExternalParsed</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeContext</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RecList</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeStateFilter</span>
-<a name="line-818"></a>    <span class='varid'>substExternalParsed</span>  <span class='varid'>nl</span> <span class='conid'>ReferenceInContent</span> <span class='varid'>rl'</span> <span class='sel'>_n'</span>
-<a name="line-819"></a>	<span class='keyglyph'>=</span> <span class='varid'>includedIfValidating</span> <span class='varid'>nl</span> <span class='varid'>rl'</span>
-<a name="line-820"></a>
-<a name="line-821"></a>    <span class='varid'>substExternalParsed</span> <span class='sel'>_nl</span> <span class='conid'>ReferenceInAttributeValue</span> <span class='sel'>_rl</span> <span class='sel'>_n'</span>
-<a name="line-822"></a>	<span class='keyglyph'>=</span> <span class='varid'>forbidden</span> <span class='str'>"external parsed general"</span> <span class='str'>"in attribute value"</span>
-<a name="line-823"></a>
-<a name="line-824"></a>    <span class='varid'>substExternalParsed</span> <span class='sel'>_nl</span> <span class='conid'>ReferenceInEntityValue</span> <span class='sel'>_rl</span> <span class='varid'>n'</span>
-<a name="line-825"></a>	<span class='keyglyph'>=</span> <span class='varid'>bypassed</span> <span class='varid'>n'</span>
-<a name="line-826"></a>
-<a name="line-827"></a>    <span class='comment'>-- --------</span>
-<a name="line-828"></a>
-<a name="line-829"></a>    <span class='varid'>substUnparsed</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeContext</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RecList</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeStateFilter</span>
-<a name="line-830"></a>    <span class='varid'>substUnparsed</span> <span class='sel'>_nl</span> <span class='conid'>ReferenceInContent</span> <span class='sel'>_rl</span> <span class='sel'>_n'</span>
-<a name="line-831"></a>	<span class='keyglyph'>=</span> <span class='varid'>forbidden</span> <span class='str'>"unparsed"</span> <span class='str'>"content"</span>
-<a name="line-832"></a>    <span class='varid'>substUnparsed</span> <span class='sel'>_nl</span> <span class='conid'>ReferenceInAttributeValue</span> <span class='sel'>_rl</span> <span class='sel'>_n'</span>
-<a name="line-833"></a>	<span class='keyglyph'>=</span> <span class='varid'>forbidden</span> <span class='str'>"unparsed"</span> <span class='str'>"attribute value"</span>
-<a name="line-834"></a>    <span class='varid'>substUnparsed</span> <span class='sel'>_nl</span> <span class='conid'>ReferenceInEntityValue</span> <span class='sel'>_rl</span> <span class='sel'>_n'</span>
-<a name="line-835"></a>	<span class='keyglyph'>=</span> <span class='varid'>forbidden</span> <span class='str'>"unparsed"</span> <span class='str'>"entity value"</span>
-<a name="line-836"></a>
-<a name="line-837"></a>    <span class='comment'>-- --------</span>
-<a name="line-838"></a>							<span class='comment'>-- see XML 1.0 chapter:</span>
-<a name="line-839"></a>
-<a name="line-840"></a>    <span class='varid'>included</span> <span class='varid'>nl</span>	<span class='varid'>rl'</span>					<span class='comment'>-- 4.4.2</span>
-<a name="line-841"></a>	<span class='keyglyph'>=</span> <span class='varid'>processGeneralEntity</span> <span class='varid'>cx</span> <span class='layout'>(</span><span class='varid'>name</span><span class='conop'>:</span><span class='varid'>rl'</span><span class='layout'>)</span> <span class='varop'>$$&lt;</span> <span class='varid'>nl</span>
-<a name="line-842"></a>
-<a name="line-843"></a>    <span class='varid'>includedIfValidating</span>				<span class='comment'>-- 4.4.3</span>
-<a name="line-844"></a>	<span class='keyglyph'>=</span> <span class='varid'>included</span>
-<a name="line-845"></a>
-<a name="line-846"></a>    <span class='varid'>includedInLiteral</span>					<span class='comment'>-- 4.4.5</span>
-<a name="line-847"></a>	<span class='keyglyph'>=</span> <span class='varid'>included</span>
-<a name="line-848"></a>
-<a name="line-849"></a>    <span class='varid'>bypassed</span> <span class='varid'>n'</span>						<span class='comment'>-- 4.4.7</span>
-<a name="line-850"></a>	<span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>this</span> <span class='varid'>n'</span>
-<a name="line-851"></a>
-<a name="line-852"></a>    <span class='varid'>forbidden</span> <span class='varid'>msg'</span> <span class='varid'>cx'</span>					<span class='comment'>-- 4.4.4</span>
-<a name="line-853"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-854"></a>	  <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"reference of "</span> <span class='varop'>++</span> <span class='varid'>msg'</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span> <span class='varop'>++</span> <span class='str'>" forbidden in "</span> <span class='varop'>++</span> <span class='varid'>cx'</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-855"></a>          <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-856"></a>
-<a name="line-857"></a>							<span class='comment'>-- normalize default value in ATTLIST</span>
-<a name="line-858"></a><span class='definition'>processGeneralEntity</span> <span class='sel'>_cx</span> <span class='varid'>rl</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='sel'>_cl</span><span class='layout'>)</span>
-<a name="line-859"></a>    <span class='keyglyph'>|</span> <span class='varid'>hasDefaultValue</span>
-<a name="line-860"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-861"></a>	  <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='layout'>(</span> <span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>parseXmlAttrValue</span> <span class='str'>"default value of attribute "</span><span class='layout'>)</span>
-<a name="line-862"></a>                   <span class='varop'>.&gt;&gt;</span>
-<a name="line-863"></a>		   <span class='varid'>substGeneralEntityInAValue</span> <span class='varid'>rl</span>
-<a name="line-864"></a>		 <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>mkXTextTree</span> <span class='varid'>defaultValue</span>
-<a name="line-865"></a>	  <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>addDTDAttr</span> <span class='varid'>a_default</span> <span class='layout'>(</span><span class='varid'>xshow</span> <span class='varid'>res</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-866"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-867"></a>	<span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>this</span> <span class='varid'>n</span>
-<a name="line-868"></a>    <span class='keyword'>where</span>
-<a name="line-869"></a>    <span class='varid'>hasDefaultValue</span> <span class='keyglyph'>=</span> <span class='varid'>hasEntry</span>  <span class='varid'>a_default</span> <span class='varid'>al</span>
-<a name="line-870"></a>    <span class='varid'>defaultValue</span>    <span class='keyglyph'>=</span> <span class='varid'>lookup1</span>   <span class='varid'>a_default</span> <span class='varid'>al</span>
-<a name="line-871"></a>
-<a name="line-872"></a><span class='definition'>processGeneralEntity</span> <span class='varid'>cx</span> <span class='varid'>rl</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XEntityRef</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-873"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-874"></a>      <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"processGeneralEnity: entity reference for entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span><span class='layout'>)</span>
-<a name="line-875"></a>      <span class='varid'>trace</span> <span class='num'>3</span> <span class='layout'>(</span><span class='str'>"recursion list = "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>rl</span><span class='layout'>)</span>
-<a name="line-876"></a>      <span class='varid'>geEnv</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getState</span>
-<a name="line-877"></a>      <span class='keyword'>case</span> <span class='varid'>lookupGeEnv</span> <span class='varid'>name</span> <span class='varid'>geEnv</span> <span class='keyword'>of</span>
-<a name="line-878"></a>        <span class='conid'>Just</span> <span class='varid'>fct</span>
-<a name="line-879"></a>	  <span class='keyglyph'>-&gt;</span> <span class='keyword'>if</span> <span class='varid'>name</span> <span class='varop'>`elem`</span> <span class='varid'>rl</span>
-<a name="line-880"></a>	     <span class='keyword'>then</span> <span class='keyword'>do</span>
-<a name="line-881"></a>		  <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"recursive substitution of general entity reference "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>ref</span> <span class='varop'>++</span> <span class='str'>" not processed"</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-882"></a>		  <span class='varid'>return</span> <span class='varid'>nl</span>
-<a name="line-883"></a>	     <span class='keyword'>else</span> <span class='keyword'>do</span>
-<a name="line-884"></a>		  <span class='varid'>fct</span> <span class='varid'>cx</span> <span class='varid'>rl</span> <span class='varid'>n</span>
-<a name="line-885"></a>        <span class='conid'>Nothing</span>
-<a name="line-886"></a>	  <span class='keyglyph'>-&gt;</span> <span class='keyword'>do</span>
-<a name="line-887"></a>	     <span class='varid'>issueErr</span> <span class='layout'>(</span><span class='str'>"general entity reference "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>ref</span> <span class='varop'>++</span> <span class='str'>" not processed, no definition found, (forward reference?)"</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-888"></a>	     <span class='varid'>return</span> <span class='varid'>nl</span>
-<a name="line-889"></a>      <span class='keyword'>where</span>
-<a name="line-890"></a>      <span class='varid'>nl</span>  <span class='keyglyph'>=</span> <span class='varid'>this</span> <span class='varid'>n</span>
-<a name="line-891"></a>      <span class='varid'>ref</span> <span class='keyglyph'>=</span> <span class='varid'>xshow</span> <span class='varid'>nl</span>
-<a name="line-892"></a>
-<a name="line-893"></a>
-<a name="line-894"></a><span class='definition'>processGeneralEntity</span> <span class='varid'>cx</span> <span class='varid'>rl</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='sel'>_tagName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cl</span><span class='layout'>)</span>
-<a name="line-895"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-896"></a>      <span class='varid'>al'</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>substGeneralEntityInAttr</span> <span class='varid'>rl</span> <span class='varop'>$$&lt;</span> <span class='varid'>al</span>
-<a name="line-897"></a>      <span class='varid'>cl'</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>processGeneralEntity</span> <span class='varid'>cx</span> <span class='varid'>rl</span>  <span class='varop'>$$&lt;</span> <span class='varid'>cl</span>
-<a name="line-898"></a>      <span class='varid'>return</span> <span class='varop'>$</span> <span class='layout'>(</span><span class='varid'>replaceAttrl</span> <span class='varid'>al'</span> <span class='varop'>.&gt;</span> <span class='varid'>replaceChildren</span> <span class='varid'>cl'</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-899"></a>
-<a name="line-900"></a><span class='definition'>processGeneralEntity</span> <span class='sel'>_cx</span> <span class='sel'>_rl</span> <span class='varid'>n</span>
-<a name="line-901"></a>    <span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>this</span> <span class='varid'>n</span>
-<a name="line-902"></a>
-<a name="line-903"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-904"></a>
-<a name="line-905"></a><a name="substGeneralEntityInAttr"></a><span class='definition'>substGeneralEntityInAttr</span>	<span class='keyglyph'>::</span> <span class='conid'>RecList</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeState</span> <span class='conid'>XmlTrees</span>
-<a name="line-906"></a><span class='definition'>substGeneralEntityInAttr</span> <span class='varid'>rl</span> <span class='varid'>a</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>aValue</span><span class='layout'>)</span>
-<a name="line-907"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-908"></a>      <span class='varid'>nv</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>substGeneralEntityInAValue</span> <span class='varid'>rl</span> <span class='varop'>$$&lt;</span> <span class='varid'>aValue</span>
-<a name="line-909"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>replaceChildren</span> <span class='varid'>nv</span> <span class='varid'>a</span><span class='layout'>)</span>
-<a name="line-910"></a>
-<a name="line-911"></a><span class='definition'>substGeneralEntityInAttr</span> <span class='keyword'>_</span> <span class='keyword'>_</span>
-<a name="line-912"></a>    <span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-913"></a>
-<a name="line-914"></a><a name="substGeneralEntityInAValue"></a><span class='definition'>substGeneralEntityInAValue</span>	<span class='keyglyph'>::</span> <span class='conid'>RecList</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>GeStateFilter</span>
-<a name="line-915"></a><span class='definition'>substGeneralEntityInAValue</span> <span class='varid'>rl</span>
-<a name="line-916"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>processGeneralEntity</span> <span class='conid'>ReferenceInAttributeValue</span> <span class='varid'>rl</span>
-<a name="line-917"></a>	<span class='varop'>`whenM`</span>
-<a name="line-918"></a>	<span class='varid'>isXEntityRef</span>
-<a name="line-919"></a>      <span class='layout'>)</span>
-<a name="line-920"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-921"></a>      <span class='varid'>liftMf</span> <span class='layout'>(</span> <span class='layout'>(</span> <span class='varid'>modifyText</span> <span class='varid'>normalizeWhiteSpace</span> <span class='varop'>`when`</span> <span class='varid'>isXText</span><span class='layout'>)</span>
-<a name="line-922"></a>	      <span class='varop'>.&gt;</span>
-<a name="line-923"></a>	      <span class='layout'>(</span><span class='varid'>transfCharRef</span> <span class='varop'>`when`</span> <span class='varid'>isXCharRef</span><span class='layout'>)</span>
-<a name="line-924"></a>	    <span class='layout'>)</span>
-<a name="line-925"></a>      <span class='keyword'>where</span>
-<a name="line-926"></a>      <span class='varid'>normalizeWhiteSpace</span>
-<a name="line-927"></a>	  <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span> <span class='keyglyph'>\</span><span class='varid'>c</span> <span class='keyglyph'>-&gt;</span> <span class='keyword'>if</span> <span class='varid'>c</span> <span class='varop'>`elem`</span> <span class='str'>"\n\t\r"</span> <span class='keyword'>then</span> <span class='chr'>' '</span> <span class='keyword'>else</span> <span class='varid'>c</span> <span class='layout'>)</span>
-<a name="line-928"></a>
-<a name="line-929"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-930"></a>
-<a name="line-931"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-DefaultURI.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-DefaultURI.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-DefaultURI.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a><span class='comment'>--</span>
-<a name="line-3"></a><span class='comment'>-- defaut uri computation</span>
-<a name="line-4"></a><span class='comment'>-- this routine is platform dependent</span>
-<a name="line-5"></a><span class='comment'>-- and must be exchanged when porting the toolbox e.g. to windows</span>
-<a name="line-6"></a>
-<a name="line-7"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>DefaultURI</span>
-<a name="line-8"></a>    <span class='layout'>(</span> <span class='varid'>setDefaultURI</span>
-<a name="line-9"></a>    <span class='layout'>)</span>
-<a name="line-10"></a>
-<a name="line-11"></a><span class='keyword'>where</span>
-<a name="line-12"></a>
-<a name="line-13"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-16"></a>
-<a name="line-17"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>Directory</span>
-<a name="line-18"></a>    <span class='layout'>(</span> <span class='varid'>getCurrentDirectory</span>
-<a name="line-19"></a>    <span class='layout'>)</span>
-<a name="line-20"></a>
-<a name="line-21"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>URI</span>
-<a name="line-22"></a>    <span class='layout'>(</span> <span class='varid'>escapeURIChar</span>
-<a name="line-23"></a>    <span class='layout'>,</span> <span class='varid'>isUnescapedInURI</span>
-<a name="line-24"></a>    <span class='layout'>)</span>
-<a name="line-25"></a>
-<a name="line-26"></a><a name="setDefaultURI"></a><span class='definition'>setDefaultURI</span>   <span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-27"></a><span class='definition'>setDefaultURI</span>
-<a name="line-28"></a>     <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-29"></a>       <span class='varid'>wd</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varid'>getCurrentDirectory</span>
-<a name="line-30"></a>       <span class='varid'>setSysParam</span> <span class='varid'>transferDefaultURI</span> <span class='layout'>(</span><span class='str'>"file://"</span> <span class='varop'>++</span> <span class='varid'>normalize</span> <span class='varid'>wd</span> <span class='varop'>++</span> <span class='str'>"/"</span><span class='layout'>)</span>
-<a name="line-31"></a>
-<a name="line-32"></a>       <span class='keyword'>where</span>
-<a name="line-33"></a>
-<a name="line-34"></a>       <span class='comment'>-- under Windows getCurrentDirectory returns something like: "c:\path\to\file"</span>
-<a name="line-35"></a>       <span class='comment'>-- backslaches are not allowed in URIs and paths must start with a /</span>
-<a name="line-36"></a>       <span class='comment'>-- so this is transformed into "/c:/path/to/file"</span>
-<a name="line-37"></a>
-<a name="line-38"></a>       <span class='varid'>normalize</span> <span class='varid'>wd'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='varid'>d</span> <span class='conop'>:</span> <span class='chr'>':'</span> <span class='conop'>:</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-39"></a>	   <span class='keyglyph'>|</span> <span class='varid'>d</span> <span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='chr'>'A'</span><span class='keyglyph'>..</span><span class='chr'>'Z'</span><span class='keyglyph'>]</span> <span class='varop'>||</span> <span class='varid'>d</span> <span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='chr'>'a'</span><span class='keyglyph'>..</span><span class='chr'>'z'</span><span class='keyglyph'>]</span>
-<a name="line-40"></a>	       <span class='keyglyph'>=</span> <span class='chr'>'/'</span> <span class='conop'>:</span> <span class='varid'>concatMap</span> <span class='varid'>win32ToUriChar</span> <span class='varid'>wd'</span>
-<a name="line-41"></a>       <span class='varid'>normalize</span> <span class='varid'>wd'</span>
-<a name="line-42"></a>	   <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>escapeNonUriChar</span> <span class='varid'>wd'</span>
-<a name="line-43"></a>				 
-<a name="line-44"></a>       <span class='varid'>win32ToUriChar</span> <span class='chr'>'\\'</span> <span class='keyglyph'>=</span> <span class='str'>"/"</span>
-<a name="line-45"></a>       <span class='varid'>win32ToUriChar</span> <span class='varid'>c</span>    <span class='keyglyph'>=</span> <span class='varid'>escapeNonUriChar</span> <span class='varid'>c</span>
-<a name="line-46"></a>
-<a name="line-47"></a>       <span class='varid'>escapeNonUriChar</span> <span class='varid'>c</span>  <span class='keyglyph'>=</span> <span class='varid'>escapeURIChar</span> <span class='varid'>isUnescapedInURI</span> <span class='varid'>c</span>   <span class='comment'>-- from Network.URI</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-HtmlParser.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-HtmlParser.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-HtmlParser.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a>
-<a name="line-3"></a><span class='comment'>{- |
-<a name="line-4"></a>   Module     : Text.XML.HXT.Parser.HtmlParser
-<a name="line-5"></a>   Copyright  : Copyright (C) 2005 Uwe Schmidt
-<a name="line-6"></a>   License    : MIT
-<a name="line-7"></a>
-<a name="line-8"></a>   Maintainer : Uwe Schmidt (uwe@fh-wedel.de)
-<a name="line-9"></a>   Stability  : stable
-<a name="line-10"></a>   Portability: portable
-<a name="line-11"></a>
-<a name="line-12"></a>   This parser tries to interprete everything as HTML
-<a name="line-13"></a>   no errors are emitted during parsing. If something looks
-<a name="line-14"></a>   weired, warning messages are inserted in the document tree.
-<a name="line-15"></a>  
-<a name="line-16"></a>   Module contains state filter for easy parsing and error handling
-<a name="line-17"></a>   real work is done in 'Text.XML.HXT.Parser.HtmlParsec'
-<a name="line-18"></a>
-<a name="line-19"></a>-}</span>
-<a name="line-20"></a>
-<a name="line-21"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-22"></a>
-<a name="line-23"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>HtmlParser</span>
-<a name="line-24"></a>    <span class='layout'>(</span> <span class='varid'>getHtmlDoc</span>
-<a name="line-25"></a>    <span class='layout'>,</span> <span class='varid'>parseHtmlDoc</span>
-<a name="line-26"></a>    <span class='layout'>,</span> <span class='varid'>runHtmlParser</span>
-<a name="line-27"></a>    <span class='layout'>,</span> <span class='varid'>substHtmlEntities</span>
-<a name="line-28"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>HtmlParsec</span>
-<a name="line-29"></a>    <span class='layout'>)</span>
-<a name="line-30"></a>
-<a name="line-31"></a><span class='keyword'>where</span>
-<a name="line-32"></a>
-<a name="line-33"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-34"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-35"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>HtmlParsec</span>
-<a name="line-36"></a>
-<a name="line-37"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlInput</span>
-<a name="line-38"></a>    <span class='layout'>(</span> <span class='varid'>getXmlContents</span>
-<a name="line-39"></a>    <span class='layout'>)</span>
-<a name="line-40"></a>
-<a name="line-41"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-42"></a>    <span class='layout'>(</span> <span class='varid'>traceTree</span>
-<a name="line-43"></a>    <span class='layout'>,</span> <span class='varid'>traceSource</span>
-<a name="line-44"></a>    <span class='layout'>,</span> <span class='varid'>traceMsg</span>
-<a name="line-45"></a>    <span class='layout'>)</span>
-<a name="line-46"></a>
-<a name="line-47"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XhtmlEntities</span>
-<a name="line-48"></a>    <span class='layout'>(</span> <span class='varid'>xhtmlEntities</span>
-<a name="line-49"></a>    <span class='layout'>)</span>
-<a name="line-50"></a>
-<a name="line-51"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-52"></a>
-<a name="line-53"></a><span class='comment'>-- |</span>
-<a name="line-54"></a><span class='comment'>-- read a document and parse it with 'parseHtmlDoc'. The main entry point of this module</span>
-<a name="line-55"></a><span class='comment'>--</span>
-<a name="line-56"></a><span class='comment'>-- The input tree must be a root tree like in '	Text.XML.HXT.Parser.MainFunctions.getXmlDoc'. The content is read with 'Text.XML.HXT.Parser.XmlInput.getXmlContents',</span>
-<a name="line-57"></a><span class='comment'>-- is parsed with 'parseHtmlDoc' and canonicalized (char refs are substituted in content and attributes,</span>
-<a name="line-58"></a><span class='comment'>-- but comment is preserved)</span>
-<a name="line-59"></a><span class='comment'>--</span>
-<a name="line-60"></a><span class='comment'>-- see also : 'Text.XML.HXT.Parser.DTDProcessing.getWellformedDoc'</span>
-<a name="line-61"></a>
-<a name="line-62"></a><a name="getHtmlDoc"></a><span class='definition'>getHtmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-63"></a><span class='definition'>getHtmlDoc</span>
-<a name="line-64"></a>    <span class='keyglyph'>=</span> <span class='varid'>setSystemParams</span>
-<a name="line-65"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-66"></a>      <span class='varid'>getXmlContents</span>
-<a name="line-67"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-68"></a>      <span class='varid'>parseHtmlDoc</span>
-<a name="line-69"></a>
-<a name="line-70"></a><span class='comment'>-- | The HTML parsing filter</span>
-<a name="line-71"></a><span class='comment'>--</span>
-<a name="line-72"></a><span class='comment'>-- The input is parsed with 'runHtmlParser', everything is interpreted as HTML,</span>
-<a name="line-73"></a><span class='comment'>-- if errors ocuur, the parser will try to do some meaningfull action and continues</span>
-<a name="line-74"></a><span class='comment'>-- parsing. Afterwards the entitiy references for defined for XHTML are resovled,</span>
-<a name="line-75"></a><span class='comment'>-- any unresolved reference is transformed into plain text.</span>
-<a name="line-76"></a><span class='comment'>--</span>
-<a name="line-77"></a><span class='comment'>-- Error messages</span>
-<a name="line-78"></a><span class='comment'>-- during parsing and entity resolving are added as warning nodes into the resulting tree.</span>
-<a name="line-79"></a><span class='comment'>--</span>
-<a name="line-80"></a><span class='comment'>-- The warnings are issued, if the 1. parameter noWarnings is set to True,</span>
-<a name="line-81"></a><span class='comment'>-- afterwards all are removed from the resulting tree.</span>
-<a name="line-82"></a>
-<a name="line-83"></a><a name="parseHtmlDoc"></a><span class='definition'>parseHtmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-84"></a><span class='definition'>parseHtmlDoc</span>
-<a name="line-85"></a>    <span class='keyglyph'>=</span> <span class='varid'>parseDoc</span>
-<a name="line-86"></a>      <span class='varop'>`whenM`</span> <span class='layout'>(</span> <span class='varid'>isRoot</span> <span class='varop'>.&gt;</span> <span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>isXText</span> <span class='layout'>)</span>
-<a name="line-87"></a>      <span class='keyword'>where</span>
-<a name="line-88"></a>      <span class='varid'>parseDoc</span> <span class='varid'>t'</span>
-<a name="line-89"></a>	  <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>traceMsg</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"parseHtmlDoc: parse HTML document "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>loc</span><span class='layout'>)</span>
-<a name="line-90"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-91"></a>	      <span class='varid'>runHtmlParser</span>
-<a name="line-92"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-93"></a>	      <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>processTopDown</span> <span class='varid'>substHtmlEntities</span><span class='layout'>)</span>
-<a name="line-94"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-95"></a>	      <span class='varid'>removeWarnings</span>
-<a name="line-96"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-97"></a>	      <span class='varid'>traceTree</span>
-<a name="line-98"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-99"></a>	      <span class='varid'>traceSource</span>
-<a name="line-100"></a>              <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>t'</span>
-<a name="line-101"></a>	  <span class='keyword'>where</span>
-<a name="line-102"></a>	  <span class='varid'>loc</span>    <span class='keyglyph'>=</span> <span class='varid'>valueOf</span> <span class='varid'>a_source</span> <span class='varid'>t'</span>			<span class='comment'>-- get document source uri</span>
-<a name="line-103"></a>
-<a name="line-104"></a>      <span class='varid'>removeWarnings</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-105"></a>      <span class='varid'>removeWarnings</span> <span class='varid'>t'</span>
-<a name="line-106"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>let</span>
-<a name="line-107"></a>	    <span class='varid'>noWarnings</span>  <span class='keyglyph'>=</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>satisfies</span> <span class='layout'>(</span><span class='varid'>hasOption</span> <span class='varid'>a_issue_warnings</span><span class='layout'>)</span> <span class='varid'>t'</span><span class='layout'>)</span>
-<a name="line-108"></a>	    <span class='varid'>selWarnings</span> <span class='keyglyph'>=</span> <span class='varid'>deep</span>
-<a name="line-109"></a>			  <span class='layout'>(</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>isWarning</span> <span class='conop'>:-&gt;</span> <span class='varid'>this</span>
-<a name="line-110"></a>				   <span class='layout'>,</span> <span class='varid'>isXTag</span>    <span class='conop'>:-&gt;</span> <span class='layout'>(</span><span class='varid'>getAttrl</span> <span class='varop'>.&gt;</span> <span class='varid'>selWarnings</span><span class='layout'>)</span>
-<a name="line-111"></a>				   <span class='keyglyph'>]</span>
-<a name="line-112"></a>			  <span class='layout'>)</span>
-<a name="line-113"></a>	    <span class='varid'>remWarnings</span> <span class='keyglyph'>=</span> <span class='varid'>processTopDown</span>
-<a name="line-114"></a>			  <span class='layout'>(</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>isWarning</span> <span class='conop'>:-&gt;</span> <span class='varid'>none</span>
-<a name="line-115"></a>				   <span class='layout'>,</span> <span class='varid'>isXTag</span>    <span class='conop'>:-&gt;</span> <span class='layout'>(</span><span class='varid'>processAttrl</span> <span class='layout'>(</span><span class='varid'>remWarnings</span> <span class='varop'>$$</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-116"></a>				   <span class='layout'>,</span> <span class='varid'>this</span>      <span class='conop'>:-&gt;</span> <span class='varid'>this</span>
-<a name="line-117"></a>				   <span class='keyglyph'>]</span>
-<a name="line-118"></a>			  <span class='layout'>)</span>
-<a name="line-119"></a>	    <span class='varid'>warnings</span> <span class='keyglyph'>=</span> <span class='varid'>selWarnings</span> <span class='varid'>t'</span>
-<a name="line-120"></a>	    <span class='keyword'>in</span> <span class='keyword'>do</span> 
-<a name="line-121"></a>	       <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>warnings</span>
-<a name="line-122"></a>		  <span class='keyword'>then</span> <span class='varid'>thisM</span> <span class='varid'>t'</span>
-<a name="line-123"></a>		  <span class='keyword'>else</span> <span class='keyword'>do</span>
-<a name="line-124"></a>		       <span class='keyword'>if</span> <span class='varid'>noWarnings</span>
-<a name="line-125"></a>			  <span class='keyword'>then</span> <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-126"></a>			  <span class='keyword'>else</span> <span class='keyword'>do</span>
-<a name="line-127"></a>			       <span class='varid'>issueError</span> <span class='varop'>$$&lt;</span> <span class='varid'>warnings</span>
-<a name="line-128"></a>		       <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>remWarnings</span> <span class='varid'>t'</span><span class='layout'>)</span>
-<a name="line-129"></a>
-<a name="line-130"></a><span class='comment'>-- | The pure HTML parser, usually called via 'parseHtmlDoc'.</span>
-<a name="line-131"></a><span class='comment'>--</span>
-<a name="line-132"></a>
-<a name="line-133"></a><a name="runHtmlParser"></a><span class='definition'>runHtmlParser</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-134"></a><span class='definition'>runHtmlParser</span> <span class='varid'>t</span>
-<a name="line-135"></a>    <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>errs</span>
-<a name="line-136"></a>      <span class='keyword'>then</span> <span class='keyword'>do</span>
-<a name="line-137"></a>	   <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>replaceChildren</span> <span class='varid'>res</span> <span class='varid'>t</span><span class='layout'>)</span>
-<a name="line-138"></a>      <span class='keyword'>else</span> <span class='keyword'>do</span>
-<a name="line-139"></a>	   <span class='varid'>issueError</span> <span class='varop'>$$&lt;</span> <span class='varid'>errs</span>
-<a name="line-140"></a>	   <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>setStatus</span> <span class='varid'>c_err</span> <span class='str'>"parsing HTML"</span> <span class='varid'>t</span><span class='layout'>)</span>
-<a name="line-141"></a>      <span class='keyword'>where</span>
-<a name="line-142"></a>      <span class='varid'>res</span>  <span class='keyglyph'>=</span> <span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>parseHtmlText</span> <span class='varid'>loc</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-143"></a>      <span class='varid'>errs</span> <span class='keyglyph'>=</span> <span class='varid'>isXError</span> <span class='varop'>.&gt;</span> <span class='varid'>neg</span> <span class='varid'>isWarning</span> <span class='varop'>$$</span> <span class='varid'>res</span>
-<a name="line-144"></a>      <span class='varid'>loc</span>  <span class='keyglyph'>=</span> <span class='varid'>valueOf</span> <span class='varid'>a_source</span> <span class='varid'>t</span>
-<a name="line-145"></a>
-<a name="line-146"></a>
-<a name="line-147"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-148"></a><span class='comment'>--</span>
-<a name="line-149"></a><span class='comment'>-- XHTML entities</span>
-<a name="line-150"></a>
-<a name="line-151"></a><a name="substHtmlEntities"></a><span class='definition'>substHtmlEntities</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-152"></a><span class='definition'>substHtmlEntities</span>
-<a name="line-153"></a>    <span class='keyglyph'>=</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>isXEntityRef</span>	<span class='conop'>:-&gt;</span> <span class='varid'>substEntity</span>
-<a name="line-154"></a>	     <span class='layout'>,</span> <span class='varid'>isXTag</span>		<span class='conop'>:-&gt;</span> <span class='varid'>processAttr</span> <span class='layout'>(</span><span class='varid'>processChildren</span> <span class='varid'>substHtmlEntities</span><span class='layout'>)</span>
-<a name="line-155"></a>	     <span class='layout'>,</span> <span class='varid'>this</span>		<span class='conop'>:-&gt;</span> <span class='varid'>this</span>
-<a name="line-156"></a>	     <span class='keyglyph'>]</span>
-<a name="line-157"></a>      <span class='keyword'>where</span>
-<a name="line-158"></a>      <span class='varid'>substEntity</span> <span class='varid'>t'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XEntityRef</span> <span class='varid'>en</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-159"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='layout'>(</span><span class='varid'>lookup</span> <span class='varid'>en</span> <span class='varid'>xhtmlEntities</span><span class='layout'>)</span> <span class='keyword'>of</span>
-<a name="line-160"></a>	    <span class='conid'>Just</span> <span class='varid'>i</span>
-<a name="line-161"></a>		<span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>mkXCharRefTree</span> <span class='varid'>i</span><span class='keyglyph'>]</span>
-<a name="line-162"></a>	    <span class='conid'>Nothing</span>
-<a name="line-163"></a>		<span class='keyglyph'>-&gt;</span> <span class='varid'>xwarn</span> <span class='layout'>(</span><span class='str'>"no XHTML entity found for reference: \"&amp;"</span> <span class='varop'>++</span> <span class='varid'>en</span> <span class='varop'>++</span> <span class='str'>";\""</span><span class='layout'>)</span>
-<a name="line-164"></a>		   <span class='varop'>++</span>
-<a name="line-165"></a>		   <span class='layout'>(</span><span class='varid'>xmlTreesToText</span> <span class='keyglyph'>[</span><span class='varid'>t'</span><span class='keyglyph'>]</span><span class='layout'>)</span>
-<a name="line-166"></a>
-<a name="line-167"></a>      <span class='varid'>substEntity</span> <span class='keyword'>_</span>
-<a name="line-168"></a>	  <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='str'>"substHtmlEntities: illegal argument"</span>
-<a name="line-169"></a>
-<a name="line-170"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-MainFunctions.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-MainFunctions.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-MainFunctions.html
+++ /dev/null
@@ -1,465 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- Simple parse functions.</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- the main building blocks for an application.</span>
-<a name="line-5"></a><span class='comment'>-- this module exports complex filters and functions for</span>
-<a name="line-6"></a><span class='comment'>-- common tasks for input and parsing, output and option handling.</span>
-<a name="line-7"></a><span class='comment'>--</span>
-<a name="line-8"></a>
-<a name="line-9"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>MainFunctions</span>
-<a name="line-10"></a>    <span class='layout'>(</span> <span class='varid'>getXmlDocument</span>
-<a name="line-11"></a>    <span class='layout'>,</span> <span class='varid'>putXmlDocument</span>
-<a name="line-12"></a>
-<a name="line-13"></a>    <span class='layout'>,</span> <span class='varid'>parseDocument</span>
-<a name="line-14"></a>    <span class='layout'>,</span> <span class='varid'>writeDocument</span>
-<a name="line-15"></a>    <span class='layout'>)</span>
-<a name="line-16"></a><span class='keyword'>where</span>
-<a name="line-17"></a>
-<a name="line-18"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-19"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-20"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>HtmlParser</span>
-<a name="line-21"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlInput</span>
-<a name="line-22"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-23"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>DTDProcessing</span>
-<a name="line-24"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>Validation</span>
-<a name="line-25"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>EditFilters</span>
-<a name="line-26"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Namespace</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span>
-<a name="line-29"></a>
-<a name="line-30"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-31"></a>
-<a name="line-32"></a><span class='comment'>-- |</span>
-<a name="line-33"></a><span class='comment'>-- convenient function for reading a XML document without</span>
-<a name="line-34"></a><span class='comment'>-- dealing with state monads, error messages collection and other details</span>
-<a name="line-35"></a><span class='comment'>--</span>
-<a name="line-36"></a><span class='comment'>-- getXmlDocument calls 'parseDocument' with the list of parsing options</span>
-<a name="line-37"></a><span class='comment'>-- and an url or filename as document source.</span>
-<a name="line-38"></a><span class='comment'>--</span>
-<a name="line-39"></a><span class='comment'>-- result is a triple</span>
-<a name="line-40"></a><span class='comment'>--</span>
-<a name="line-41"></a><span class='comment'>-- * the resulting document tree with a root node containing all</span>
-<a name="line-42"></a><span class='comment'>--   meta info about the document (options, status info, http header, ...)</span>
-<a name="line-43"></a><span class='comment'>--</span>
-<a name="line-44"></a><span class='comment'>-- - the list of errors and warnings</span>
-<a name="line-45"></a><span class='comment'>--</span>
-<a name="line-46"></a><span class='comment'>-- - the error level: one of 'c_ok', 'c_warn', 'c_err', 'c_fatal'</span>
-<a name="line-47"></a><span class='comment'>--</span>
-<a name="line-48"></a><span class='comment'>-- example for input (see also example in 'putXmlDocument' and example in 'writeDocument')</span>
-<a name="line-49"></a><span class='comment'>--</span>
-<a name="line-50"></a><span class='comment'>-- &gt; main :: IO ()</span>
-<a name="line-51"></a><span class='comment'>-- &gt; main</span>
-<a name="line-52"></a><span class='comment'>-- &gt;   = do</span>
-<a name="line-53"></a><span class='comment'>-- &gt;     (res, errs, rc) &lt;- getXmlDocument [] "test.xml"</span>
-<a name="line-54"></a><span class='comment'>-- &gt;     if rc &gt;= c_err</span>
-<a name="line-55"></a><span class='comment'>-- &gt;       then issueErrors errs</span>
-<a name="line-56"></a><span class='comment'>-- &gt;       else processTree res</span>
-<a name="line-57"></a><span class='comment'>-- &gt;</span>
-<a name="line-58"></a><span class='comment'>-- &gt; issueErrors :: XmlTrees -&gt; IO ()</span>
-<a name="line-59"></a><span class='comment'>-- &gt;</span>
-<a name="line-60"></a><span class='comment'>-- &gt; processTree :: XmlTree  -&gt; IO ()</span>
-<a name="line-61"></a><span class='comment'>--</span>
-<a name="line-62"></a><span class='comment'>-- for options see 'parseDocument', 'a_collect_errors' is set implicitly</span>
-<a name="line-63"></a>
-<a name="line-64"></a><a name="getXmlDocument"></a><span class='definition'>getXmlDocument</span>	<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='layout'>(</span><span class='conid'>XmlTree</span><span class='layout'>,</span> <span class='conid'>XmlTrees</span><span class='layout'>,</span> <span class='conid'>Int</span><span class='layout'>)</span>
-<a name="line-65"></a><span class='definition'>getXmlDocument</span> <span class='varid'>options</span> <span class='varid'>url</span>
-<a name="line-66"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-67"></a>      <span class='keyword'>let</span> <span class='varid'>options'</span> <span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='varid'>a_collect_errors</span><span class='layout'>,</span> <span class='varid'>v_1</span><span class='layout'>)</span>		<span class='comment'>-- collect errors</span>
-<a name="line-68"></a>		     <span class='layout'>,</span> <span class='layout'>(</span><span class='varid'>a_issue_errors</span><span class='layout'>,</span>   <span class='varid'>v_0</span><span class='layout'>)</span>		<span class='comment'>-- but don't issue</span>
-<a name="line-69"></a>		     <span class='keyglyph'>]</span>					<span class='comment'>-- can be overwritten by supporting other values in options</span>
-<a name="line-70"></a>	             <span class='varop'>++</span>
-<a name="line-71"></a>		     <span class='varid'>options</span>
-<a name="line-72"></a>		     <span class='varop'>++</span>
-<a name="line-73"></a>		     <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='varid'>a_source</span><span class='layout'>,</span> <span class='varid'>url</span><span class='layout'>)</span>			<span class='comment'>-- set the source url</span>
-<a name="line-74"></a>		     <span class='keyglyph'>]</span>
-<a name="line-75"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>run'</span> <span class='varop'>$</span> <span class='varid'>parseDocument</span> <span class='varid'>options'</span> <span class='varid'>emptyRoot</span>
-<a name="line-76"></a>      <span class='keyword'>let</span> <span class='varid'>root</span> <span class='keyglyph'>=</span> <span class='varid'>head</span> <span class='varid'>res</span>
-<a name="line-77"></a>      <span class='keyword'>let</span> <span class='varid'>errs</span> <span class='keyglyph'>=</span> <span class='varid'>tail</span> <span class='varid'>res</span>
-<a name="line-78"></a>      <span class='keyword'>let</span> <span class='varid'>elvl</span> <span class='keyglyph'>=</span> <span class='varid'>intValueOf</span> <span class='varid'>a_status</span> <span class='varid'>root</span>
-<a name="line-79"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>root</span><span class='layout'>,</span> <span class='varid'>errs</span><span class='layout'>,</span> <span class='varid'>elvl</span><span class='layout'>)</span>
-<a name="line-80"></a>
-<a name="line-81"></a>
-<a name="line-82"></a><span class='comment'>-- |</span>
-<a name="line-83"></a><span class='comment'>-- the inverse operation to 'getXmlDocument'</span>
-<a name="line-84"></a><span class='comment'>--</span>
-<a name="line-85"></a><span class='comment'>-- writes a complete document tree to a file, writing can be</span>
-<a name="line-86"></a><span class='comment'>-- controlled by options, the real work is done with filter 'writeDocument'.</span>
-<a name="line-87"></a><span class='comment'>-- useful options are the options of 'writeDocument'.</span>
-<a name="line-88"></a><span class='comment'>--</span>
-<a name="line-89"></a><span class='comment'>-- result is a pair: 1.part is a list of error messages, 2. part is the return code,</span>
-<a name="line-90"></a><span class='comment'>-- the status info of the write filter</span>
-<a name="line-91"></a><span class='comment'>--</span>
-<a name="line-92"></a><span class='comment'>-- this filter is useful, when processing XML in an arbitray context in the IO monad</span>
-<a name="line-93"></a><span class='comment'>--</span>
-<a name="line-94"></a><span class='comment'>-- an example main program for such an application is:</span>
-<a name="line-95"></a><span class='comment'>--</span>
-<a name="line-96"></a><span class='comment'>-- &gt; main :: IO ()</span>
-<a name="line-97"></a><span class='comment'>-- &gt; main</span>
-<a name="line-98"></a><span class='comment'>-- &gt;   = do</span>
-<a name="line-99"></a><span class='comment'>-- &gt;     (input, readErrs, rc) &lt;- getXmlDocument [...] "test.xml"</span>
-<a name="line-100"></a><span class='comment'>-- &gt;     if rc &gt;= c_err</span>
-<a name="line-101"></a><span class='comment'>-- &gt;       then issueErrors readErrs</span>
-<a name="line-102"></a><span class='comment'>-- &gt;       else processTree input</span>
-<a name="line-103"></a><span class='comment'>-- &gt;</span>
-<a name="line-104"></a><span class='comment'>-- &gt; processTree :: XmlTree -&gt; IO ()</span>
-<a name="line-105"></a><span class='comment'>-- &gt; processTree t</span>
-<a name="line-106"></a><span class='comment'>-- &gt;   = let res = computeNewTree input</span>
-<a name="line-107"></a><span class='comment'>-- &gt;     in do</span>
-<a name="line-108"></a><span class='comment'>-- &gt;        (writeErrs, rc2) &lt;- putXmlDocument [...] "out.xml" res</span>
-<a name="line-109"></a><span class='comment'>-- &gt;        if rc2 &gt;= c_err</span>
-<a name="line-110"></a><span class='comment'>-- &gt;          then issueErrors writeErrs</span>
-<a name="line-111"></a><span class='comment'>-- &gt;          else return ()</span>
-<a name="line-112"></a><span class='comment'>-- &gt;</span>
-<a name="line-113"></a><span class='comment'>-- &gt; issueErrors :: XmlTrees -&gt; IO ()</span>
-<a name="line-114"></a><span class='comment'>-- &gt;</span>
-<a name="line-115"></a><span class='comment'>-- &gt; computeNewTree :: XmlTree -&gt; XmlTree</span>
-<a name="line-116"></a>
-<a name="line-117"></a>
-<a name="line-118"></a><a name="putXmlDocument"></a><span class='definition'>putXmlDocument</span>	<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='layout'>(</span><span class='conid'>XmlTrees</span><span class='layout'>,</span> <span class='conid'>Int</span><span class='layout'>)</span>
-<a name="line-119"></a><span class='definition'>putXmlDocument</span> <span class='varid'>options</span> <span class='varid'>fileName</span> <span class='varid'>t</span>
-<a name="line-120"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-121"></a>      <span class='keyword'>let</span> <span class='varid'>options'</span> <span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='varid'>a_collect_errors</span><span class='layout'>,</span> <span class='varid'>v_1</span><span class='layout'>)</span>		<span class='comment'>-- collect errors</span>
-<a name="line-122"></a>		     <span class='layout'>,</span> <span class='layout'>(</span><span class='varid'>a_issue_errors</span><span class='layout'>,</span>   <span class='varid'>v_0</span><span class='layout'>)</span>		<span class='comment'>-- but don't issue</span>
-<a name="line-123"></a>		     <span class='keyglyph'>]</span>					<span class='comment'>-- can be overwritten by supporting other values in options</span>
-<a name="line-124"></a>	             <span class='varop'>++</span>
-<a name="line-125"></a>		     <span class='varid'>options</span>
-<a name="line-126"></a>		     <span class='varop'>++</span>
-<a name="line-127"></a>		     <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='varid'>a_output_file</span><span class='layout'>,</span> <span class='varid'>fileName</span><span class='layout'>)</span>	<span class='comment'>-- set the source url</span>
-<a name="line-128"></a>		     <span class='keyglyph'>]</span>
-<a name="line-129"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>run'</span> <span class='varop'>$</span> <span class='varid'>writeDocument</span> <span class='varid'>options'</span> <span class='varid'>t</span>
-<a name="line-130"></a>      <span class='keyword'>let</span> <span class='varid'>root</span> <span class='keyglyph'>=</span> <span class='varid'>head</span> <span class='varid'>res</span>
-<a name="line-131"></a>      <span class='keyword'>let</span> <span class='varid'>errs</span> <span class='keyglyph'>=</span> <span class='varid'>tail</span> <span class='varid'>res</span>
-<a name="line-132"></a>      <span class='keyword'>let</span> <span class='varid'>elvl</span> <span class='keyglyph'>=</span> <span class='varid'>intValueOf</span> <span class='varid'>a_status</span> <span class='varid'>root</span>
-<a name="line-133"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>errs</span><span class='layout'>,</span> <span class='varid'>elvl</span><span class='layout'>)</span>
-<a name="line-134"></a>
-<a name="line-135"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-136"></a>
-<a name="line-137"></a><span class='comment'>-- |</span>
-<a name="line-138"></a><span class='comment'>-- the main parsing filter</span>
-<a name="line-139"></a><span class='comment'>--</span>
-<a name="line-140"></a><span class='comment'>-- this filter can be configured by an option list, a list of</span>
-<a name="line-141"></a><span class='comment'>-- option name, option value pairs.</span>
-<a name="line-142"></a><span class='comment'>-- the input tree must be a possibly empty document root tree.</span>
-<a name="line-143"></a><span class='comment'>-- all the options are stored as attributes in this root node to control processing.</span>
-<a name="line-144"></a><span class='comment'>--</span>
-<a name="line-145"></a><span class='comment'>-- available options:</span>
-<a name="line-146"></a><span class='comment'>--</span>
-<a name="line-147"></a><span class='comment'>-- * 'a_parse_html': use HTML parser, else use XML parser (default)</span>
-<a name="line-148"></a><span class='comment'>--</span>
-<a name="line-149"></a><span class='comment'>-- - 'a_validate' : validate document (default), else skip validation</span>
-<a name="line-150"></a><span class='comment'>--</span>
-<a name="line-151"></a><span class='comment'>-- - 'a_check_namespaces' : check namespaces, else skip namespace processing (default)</span>
-<a name="line-152"></a><span class='comment'>--</span>
-<a name="line-153"></a><span class='comment'>-- - 'a_canonicalize' : canonicalize document (default), else skip canonicalization</span>
-<a name="line-154"></a><span class='comment'>--</span>
-<a name="line-155"></a><span class='comment'>-- - 'a_preserve_comment' : preserve comments during canonicalization, else remove comments (default)</span>
-<a name="line-156"></a><span class='comment'>--</span>
-<a name="line-157"></a><span class='comment'>-- - 'a_remove_whitespace' : remove all whitespace, used for document indentation, else skip this step (default)</span>
-<a name="line-158"></a><span class='comment'>--</span>
-<a name="line-159"></a><span class='comment'>-- - 'a_indent' : indent document by inserting whitespace, else skip this step (default)</span>
-<a name="line-160"></a><span class='comment'>--</span>
-<a name="line-161"></a><span class='comment'>-- - 'a_issue_warnings' : issue warnings, when parsing HTML (default), else ignore HTML parser warnings</span>
-<a name="line-162"></a><span class='comment'>--</span>
-<a name="line-163"></a><span class='comment'>-- - 'a_issue_errors' : issue all error messages on stderr (default), or ignore all error messages</span>
-<a name="line-164"></a><span class='comment'>--</span>
-<a name="line-165"></a><span class='comment'>-- - 'a_collect_errors' : all error messages are collected during processing and appended to the result document</span>
-<a name="line-166"></a><span class='comment'>-- 			  for further processing within the calling modules</span>
-<a name="line-167"></a><span class='comment'>--</span>
-<a name="line-168"></a><span class='comment'>-- - 'a_trace' : trace level: values: 0 -4</span>
-<a name="line-169"></a><span class='comment'>--</span>
-<a name="line-170"></a><span class='comment'>-- - 'a_proxy' : proxy for http access, e.g. www-cache:3128</span>
-<a name="line-171"></a><span class='comment'>--</span>
-<a name="line-172"></a><span class='comment'>-- - 'a_use_curl' : for http access via external programm curl, default is native HTTP access</span>
-<a name="line-173"></a><span class='comment'>--</span>
-<a name="line-174"></a><span class='comment'>-- - 'a_options_curl' : more options for external program curl</span>
-<a name="line-175"></a><span class='comment'>--</span>
-<a name="line-176"></a><span class='comment'>-- - 'a_source' : the document source url</span>
-<a name="line-177"></a><span class='comment'>--</span>
-<a name="line-178"></a><span class='comment'>-- - 'a_encoding' : default document encoding ('utf8', 'isoLatin1', 'usAscii', ...)</span>
-<a name="line-179"></a><span class='comment'>--</span>
-<a name="line-180"></a><span class='comment'>-- examples:</span>
-<a name="line-181"></a><span class='comment'>--</span>
-<a name="line-182"></a><span class='comment'>-- &gt; parseDocument [ (a_source,   "test.xml")</span>
-<a name="line-183"></a><span class='comment'>-- &gt;               , (a_validate, "0")</span>
-<a name="line-184"></a><span class='comment'>-- &gt;               , (a_encoding, isoLatin1)</span>
-<a name="line-185"></a><span class='comment'>-- &gt;               ] emptyRoot</span>
-<a name="line-186"></a><span class='comment'>--</span>
-<a name="line-187"></a><span class='comment'>-- reads document \"test.xml\" without validation and default encoding 'isoLatin1'</span>
-<a name="line-188"></a><span class='comment'>--</span>
-<a name="line-189"></a><span class='comment'>-- &gt; parseDocument [ (a_source,         "<a href="http://www.haskell.org/">http://www.haskell.org/</a>")</span>
-<a name="line-190"></a><span class='comment'>-- &gt;               , (a_parse_html,     "1")</span>
-<a name="line-191"></a><span class='comment'>-- &gt;               , (a_proxy,          "www-cache:3128")</span>
-<a name="line-192"></a><span class='comment'>-- &gt;               , (a_curl,           "1")</span>
-<a name="line-193"></a><span class='comment'>-- &gt;               , (a_issue_warnings, "0")</span>
-<a name="line-194"></a><span class='comment'>-- &gt;               ] emptyRoot</span>
-<a name="line-195"></a><span class='comment'>--</span>
-<a name="line-196"></a><span class='comment'>-- reads Haskell homepage with HTML parser ignoring any warnings and with http access via external program curl and proxy \"www-cache\" at port 3128</span>
-<a name="line-197"></a><span class='comment'>--</span>
-<a name="line-198"></a><span class='comment'>-- &gt; parseDocument [ (a_source,            "<a href="http://www.w3c.org/">http://www.w3c.org/</a>")</span>
-<a name="line-199"></a><span class='comment'>-- &gt;               , (a_parse_html,        "0")                       -- default</span>
-<a name="line-200"></a><span class='comment'>-- &gt;               , (a_validate,          "1")                       -- default</span>
-<a name="line-201"></a><span class='comment'>-- &gt;               , (a_check_namespace,   "1")</span>
-<a name="line-202"></a><span class='comment'>-- &gt;               , (a_remove_whitespace, "1")</span>
-<a name="line-203"></a><span class='comment'>-- &gt;               , (a_trace,             "2")</span>
-<a name="line-204"></a><span class='comment'>-- &gt;               ] emptyRoot</span>
-<a name="line-205"></a><span class='comment'>--</span>
-<a name="line-206"></a><span class='comment'>-- read w3c home page, validate and chech namespaces, remove whitespace between tags, trace activities with level 2</span>
-<a name="line-207"></a><span class='comment'>--</span>
-<a name="line-208"></a><span class='comment'>-- &gt; parseDocument [ (a_source,   "test.xml")</span>
-<a name="line-209"></a><span class='comment'>-- &gt;               , (a_validate,        "1")</span>
-<a name="line-210"></a><span class='comment'>-- &gt;               , (a_check_namespace, "1")</span>
-<a name="line-211"></a><span class='comment'>-- &gt;               , (a_collect_errors,  "1")</span>
-<a name="line-212"></a><span class='comment'>-- &gt;               , (a_issue_errors,    "0")</span>
-<a name="line-213"></a><span class='comment'>-- &gt;               ] emptyRoot</span>
-<a name="line-214"></a><span class='comment'>--</span>
-<a name="line-215"></a><span class='comment'>-- reads file \"test.xml\", validates it, checks namespaces, does not issue any erros</span>
-<a name="line-216"></a><span class='comment'>-- but collects errors and appends the list of errors to the single element list for the document.</span>
-<a name="line-217"></a><span class='comment'>-- this enables the calling application to define own error handlers.</span>
-<a name="line-218"></a>
-<a name="line-219"></a><a name="parseDocument"></a><span class='definition'>parseDocument</span>	<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-220"></a><span class='definition'>parseDocument</span> <span class='varid'>userOptions</span>
-<a name="line-221"></a>    <span class='keyglyph'>=</span> <span class='varid'>processDocument</span> <span class='varid'>userOptions</span> <span class='varid'>defaultOptions</span>
-<a name="line-222"></a>      <span class='layout'>(</span> <span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='str'>"parseDocument: options added, start processing"</span>
-<a name="line-223"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-224"></a>	<span class='varid'>traceTree</span>
-<a name="line-225"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-226"></a>	<span class='varid'>getXmlContents</span>					<span class='comment'>-- get the content as text</span>
-<a name="line-227"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-228"></a>	<span class='varid'>choiceM</span>						<span class='comment'>-- select parser</span>
-<a name="line-229"></a>	<span class='keyglyph'>[</span> <span class='varid'>hasOption</span> <span class='varid'>a_parse_html</span>
-<a name="line-230"></a>		<span class='conop'>:-&gt;</span> <span class='varid'>parseHtmlDoc</span>			<span class='comment'>-- parse everything as HTML</span>
-<a name="line-231"></a>	<span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-232"></a>		<span class='conop'>:-&gt;</span> <span class='varid'>checkWellformedDoc</span>			<span class='comment'>-- parse XML and process entities</span>
-<a name="line-233"></a>	            <span class='varop'>.&gt;&gt;</span>
-<a name="line-234"></a>                    <span class='layout'>(</span> <span class='varid'>getValidatedDoc</span>			<span class='comment'>-- validate</span>
-<a name="line-235"></a>		      <span class='varop'>`whenM`</span>
-<a name="line-236"></a>		      <span class='varid'>hasOption</span> <span class='varid'>a_validate</span>
-<a name="line-237"></a>		    <span class='layout'>)</span>
-<a name="line-238"></a>	<span class='keyglyph'>]</span>
-<a name="line-239"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-240"></a>	<span class='layout'>(</span> <span class='varid'>propagateAndValidateNamespaces</span>			<span class='comment'>-- namespace processing</span>
-<a name="line-241"></a>	  <span class='varop'>`whenM`</span>
-<a name="line-242"></a>	  <span class='varid'>hasOption</span> <span class='varid'>a_check_namespaces</span>
-<a name="line-243"></a>	<span class='layout'>)</span>
-<a name="line-244"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-245"></a>	<span class='varid'>liftMf</span>						<span class='comment'>-- canonicalization</span>
-<a name="line-246"></a>	<span class='layout'>(</span> <span class='varid'>choice</span>
-<a name="line-247"></a>	  <span class='keyglyph'>[</span> <span class='varid'>hasOption</span> <span class='varid'>a_preserve_comment</span>		<span class='comment'>-- don't remove comments (in XPath required)</span>
-<a name="line-248"></a> 	  	<span class='conop'>:-&gt;</span> <span class='varid'>canonicalizeForXPath</span>
-<a name="line-249"></a>	  <span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-250"></a>		<span class='conop'>:-&gt;</span> <span class='varid'>canonicalizeAllNodes</span>		<span class='comment'>-- do normal canonicaliazion</span>
-<a name="line-251"></a>	  <span class='keyglyph'>]</span>
-<a name="line-252"></a>	  <span class='varop'>`when`</span>
-<a name="line-253"></a>	  <span class='varid'>hasOption</span> <span class='varid'>a_canonicalize</span>			<span class='comment'>-- caconicalization can be switched off</span>
-<a name="line-254"></a>	<span class='layout'>)</span>
-<a name="line-255"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-256"></a>	<span class='varid'>liftMf</span>
-<a name="line-257"></a>	<span class='layout'>(</span> <span class='varid'>removeDocWhiteSpace</span>				<span class='comment'>-- remove all whitespace between tags</span>
-<a name="line-258"></a>	  <span class='varop'>`when`</span>
-<a name="line-259"></a>	  <span class='varid'>hasOption</span> <span class='varid'>a_remove_whitespace</span>
-<a name="line-260"></a>	<span class='layout'>)</span>
-<a name="line-261"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-262"></a>	<span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='str'>"parseDocument: document processed"</span>	<span class='comment'>-- trace output</span>
-<a name="line-263"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-264"></a>	<span class='varid'>traceSource</span>
-<a name="line-265"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-266"></a>	<span class='varid'>traceTree</span>
-<a name="line-267"></a>      <span class='layout'>)</span>
-<a name="line-268"></a>    <span class='keyword'>where</span>
-<a name="line-269"></a>    <span class='varid'>defaultOptions</span>
-<a name="line-270"></a>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='layout'>(</span> <span class='varid'>a_parse_html</span><span class='layout'>,</span>		<span class='varid'>v_0</span> <span class='layout'>)</span>
-<a name="line-271"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_validate</span><span class='layout'>,</span>		<span class='varid'>v_1</span> <span class='layout'>)</span>
-<a name="line-272"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_issue_errors</span><span class='layout'>,</span>		<span class='varid'>v_1</span> <span class='layout'>)</span>
-<a name="line-273"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_issue_warnings</span><span class='layout'>,</span>		<span class='varid'>v_1</span> <span class='layout'>)</span>
-<a name="line-274"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_check_namespaces</span><span class='layout'>,</span>	<span class='varid'>v_0</span> <span class='layout'>)</span>
-<a name="line-275"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_canonicalize</span><span class='layout'>,</span>		<span class='varid'>v_1</span> <span class='layout'>)</span>
-<a name="line-276"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_preserve_comment</span><span class='layout'>,</span>	<span class='varid'>v_0</span> <span class='layout'>)</span>
-<a name="line-277"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_remove_whitespace</span><span class='layout'>,</span>	<span class='varid'>v_0</span> <span class='layout'>)</span>
-<a name="line-278"></a>	  <span class='keyglyph'>]</span>
-<a name="line-279"></a>
-<a name="line-280"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-281"></a>
-<a name="line-282"></a><a name="addOptions"></a><span class='definition'>addOptions</span>		<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-283"></a><span class='definition'>addOptions</span>
-<a name="line-284"></a>    <span class='keyglyph'>=</span> <span class='varid'>seqF</span> <span class='varop'>.</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>n</span><span class='layout'>,</span><span class='varid'>v</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>addAttr</span> <span class='varid'>n</span> <span class='varid'>v</span> <span class='layout'>)</span>
-<a name="line-285"></a>
-<a name="line-286"></a><a name="addDefaultOptions"></a><span class='definition'>addDefaultOptions</span>	<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-287"></a><span class='definition'>addDefaultOptions</span>
-<a name="line-288"></a>    <span class='keyglyph'>=</span> <span class='varid'>seqF</span> <span class='varop'>.</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='layout'>(</span><span class='varid'>n</span><span class='layout'>,</span><span class='varid'>v</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>addAttr</span> <span class='varid'>n</span> <span class='varid'>v</span> <span class='varop'>`whenNot`</span> <span class='varid'>hasAttr</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-289"></a>
-<a name="line-290"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-291"></a>
-<a name="line-292"></a><span class='comment'>-- |</span>
-<a name="line-293"></a><span class='comment'>-- the main filter for writing documents</span>
-<a name="line-294"></a><span class='comment'>--</span>
-<a name="line-295"></a><span class='comment'>-- this filter can be configured by an option list like 'getXmlDocument'</span>
-<a name="line-296"></a><span class='comment'>--</span>
-<a name="line-297"></a><span class='comment'>-- available options are</span>
-<a name="line-298"></a><span class='comment'>--</span>
-<a name="line-299"></a><span class='comment'>-- * 'a_indent' : indent document for readability, (default: no indentation)</span>
-<a name="line-300"></a><span class='comment'>--</span>
-<a name="line-301"></a><span class='comment'>-- - 'a_remove_whitespace' : remove all redundant whitespace for shorten text (default: no removal)</span>
-<a name="line-302"></a><span class='comment'>--</span>
-<a name="line-303"></a><span class='comment'>-- - 'a_output_file' : destination file for document, default is \"-\" for stdout</span>
-<a name="line-304"></a><span class='comment'>--</span>
-<a name="line-305"></a><span class='comment'>-- - 'a_output_encoding' : encoding of document, default is 'a_encoding' or 'utf8'</span>
-<a name="line-306"></a><span class='comment'>--</span>
-<a name="line-307"></a><span class='comment'>-- - 'a_output_xml' : (default) issue XML: quote special XML chars \&gt;,\&lt;,\",\',&amp;</span>
-<a name="line-308"></a><span class='comment'>--                    add XML processing instruction</span>
-<a name="line-309"></a><span class='comment'>--                    and encode document with respect to 'a_output_encoding',</span>
-<a name="line-310"></a><span class='comment'>--                    if explizitly switched of, the plain text is issued, this is useful</span>
-<a name="line-311"></a><span class='comment'>--                    for non XML output, e.g. generated Haskell code, LaTex, Java, ...</span>
-<a name="line-312"></a><span class='comment'>--</span>
-<a name="line-313"></a><span class='comment'>-- - 'a_show_tree' : show tree representation of document (for debugging)</span>
-<a name="line-314"></a><span class='comment'>--</span>
-<a name="line-315"></a><span class='comment'>-- - 'a_show_haskell' : show Haskell representaion of document (for debugging)</span>
-<a name="line-316"></a><span class='comment'>--</span>
-<a name="line-317"></a><span class='comment'>-- - 'a_issue_errors', 'a_collect_errors' : see 'parseDocument'</span>
-<a name="line-318"></a><span class='comment'>--</span>
-<a name="line-319"></a><span class='comment'>--  a typical main program running in the XmlState monad</span>
-<a name="line-320"></a><span class='comment'>--  has the following structure:</span>
-<a name="line-321"></a><span class='comment'>--</span>
-<a name="line-322"></a><span class='comment'>-- &gt;</span>
-<a name="line-323"></a><span class='comment'>-- &gt; main :: IO ()</span>
-<a name="line-324"></a><span class='comment'>-- &gt; main</span>
-<a name="line-325"></a><span class='comment'>-- &gt;     = do</span>
-<a name="line-326"></a><span class='comment'>-- &gt;       argv &lt;- getArgs                                              -- get the commandline arguments</span>
-<a name="line-327"></a><span class='comment'>-- &gt;       (inp, outp, options) &lt;- cmdlineOpts argv                     -- and evaluate them, return a key-value list</span>
-<a name="line-328"></a><span class='comment'>-- &gt;                                                                    -- and input and output</span>
-<a name="line-329"></a><span class='comment'>-- &gt;       res  &lt;- run' $ application inp outp options $ emptyRoot      -- run the application</span>
-<a name="line-330"></a><span class='comment'>-- &gt; </span>
-<a name="line-331"></a><span class='comment'>-- &gt;       exitWith (if null res</span>
-<a name="line-332"></a><span class='comment'>-- &gt;                 then ExitFailure (-1)</span>
-<a name="line-333"></a><span class='comment'>-- &gt;                 else exitSuccess</span>
-<a name="line-334"></a><span class='comment'>-- &gt;                )</span>
-<a name="line-335"></a><span class='comment'>-- &gt;</span>
-<a name="line-336"></a><span class='comment'>-- &gt; application :: String -&gt; String -&gt; Attributes -&gt; XmlStateFilter ()</span>
-<a name="line-337"></a><span class='comment'>-- &gt; application inp outp al</span>
-<a name="line-338"></a><span class='comment'>-- &gt;   = parseDocument (al ++ [(a_source, inp)])                        -- set options and source</span>
-<a name="line-339"></a><span class='comment'>-- &gt;     .&gt;&gt;                                                            -- and parse document</span>
-<a name="line-340"></a><span class='comment'>-- &gt;     processDocument                                                -- the hard work</span>
-<a name="line-341"></a><span class='comment'>-- &gt;     .&gt;&gt;</span>
-<a name="line-342"></a><span class='comment'>-- &gt;     writeDocument [(a_output_file, outp)]                          -- issue results</span>
-<a name="line-343"></a><span class='comment'>-- &gt;     .&gt;&gt;</span>
-<a name="line-344"></a><span class='comment'>-- &gt;     checkStatus                                                    -- check errors</span>
-<a name="line-345"></a><span class='comment'>-- &gt;</span>
-<a name="line-346"></a>
-<a name="line-347"></a>
-<a name="line-348"></a><a name="writeDocument"></a><span class='definition'>writeDocument</span>	<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-349"></a><span class='definition'>writeDocument</span> <span class='varid'>userOptions</span>
-<a name="line-350"></a>    <span class='keyglyph'>=</span> <span class='varid'>processDocument</span> <span class='varid'>userOptions</span> <span class='varid'>defaultOptions</span>
-<a name="line-351"></a>      <span class='layout'>(</span> <span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='str'>"writeDocument: options added, start processing"</span>
-<a name="line-352"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-353"></a>	<span class='varid'>liftMf</span>
-<a name="line-354"></a>	<span class='layout'>(</span> <span class='varid'>choice</span>
-<a name="line-355"></a>	  <span class='keyglyph'>[</span> <span class='varid'>hasOption</span> <span class='varid'>a_indent</span>			<span class='conop'>:-&gt;</span> <span class='varid'>indentDoc</span>			<span class='comment'>-- document indentation</span>
-<a name="line-356"></a>	  <span class='layout'>,</span> <span class='varid'>hasOption</span> <span class='varid'>a_remove_whitespace</span>	<span class='conop'>:-&gt;</span> <span class='varid'>removeDocWhiteSpace</span>		<span class='comment'>-- remove all whitespace between tags</span>
-<a name="line-357"></a>	  <span class='layout'>,</span> <span class='varid'>this</span>				<span class='conop'>:-&gt;</span> <span class='varid'>this</span>
-<a name="line-358"></a>	  <span class='keyglyph'>]</span>
-<a name="line-359"></a>	<span class='layout'>)</span>
-<a name="line-360"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-361"></a>	<span class='varid'>liftMf</span>
-<a name="line-362"></a>	<span class='layout'>(</span> <span class='varid'>choice</span>
-<a name="line-363"></a>	  <span class='keyglyph'>[</span> <span class='varid'>hasOption</span> <span class='varid'>a_show_tree</span>	<span class='conop'>:-&gt;</span> <span class='varid'>treeRepOfXmlDoc</span>
-<a name="line-364"></a>	  <span class='layout'>,</span> <span class='varid'>hasOption</span> <span class='varid'>a_show_haskell</span>	<span class='conop'>:-&gt;</span> <span class='varid'>haskellRepOfXmlDoc</span>
-<a name="line-365"></a>	  <span class='layout'>,</span> <span class='varid'>hasOption</span> <span class='varid'>a_output_xml</span>	<span class='conop'>:-&gt;</span> <span class='layout'>(</span> <span class='varid'>escapeXmlDoc</span>		<span class='comment'>-- escape lt, gt, amp, quot, </span>
-<a name="line-366"></a>					      <span class='varop'>.&gt;</span>
-<a name="line-367"></a>					      <span class='varid'>addXmlPiToDoc</span>		<span class='comment'>-- add &lt;?xml ... &gt; pi</span>
-<a name="line-368"></a>					      <span class='varop'>.&gt;</span>
-<a name="line-369"></a>					      <span class='varid'>unparseXmlDoc</span>		<span class='comment'>-- convert doc into text with respect to output encoding</span>
-<a name="line-370"></a>					    <span class='layout'>)</span>
-<a name="line-371"></a>	  <span class='layout'>,</span> <span class='varid'>this</span>			<span class='conop'>:-&gt;</span> <span class='varid'>this</span>
-<a name="line-372"></a>	  <span class='keyglyph'>]</span>
-<a name="line-373"></a>	<span class='layout'>)</span>
-<a name="line-374"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-375"></a>	<span class='varid'>writeXmlDoc</span>
-<a name="line-376"></a>	<span class='varop'>.&gt;&gt;</span>
-<a name="line-377"></a>	<span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='str'>"writeDocument: finished"</span>
-<a name="line-378"></a>      <span class='layout'>)</span>
-<a name="line-379"></a>    <span class='keyword'>where</span>
-<a name="line-380"></a>    <span class='varid'>defaultOptions</span>
-<a name="line-381"></a>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='layout'>(</span> <span class='varid'>a_output_file</span><span class='layout'>,</span>		<span class='str'>"-"</span> <span class='layout'>)</span>
-<a name="line-382"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_indent</span><span class='layout'>,</span>			<span class='varid'>v_0</span> <span class='layout'>)</span>
-<a name="line-383"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_remove_whitespace</span><span class='layout'>,</span>	<span class='varid'>v_0</span> <span class='layout'>)</span>
-<a name="line-384"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_output_xml</span><span class='layout'>,</span>		<span class='varid'>v_1</span> <span class='layout'>)</span>
-<a name="line-385"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_output_encoding</span><span class='layout'>,</span>       <span class='varid'>utf8</span> <span class='layout'>)</span>
-<a name="line-386"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_show_tree</span><span class='layout'>,</span>		<span class='varid'>v_0</span> <span class='layout'>)</span>
-<a name="line-387"></a>	  <span class='layout'>,</span> <span class='layout'>(</span> <span class='varid'>a_show_haskell</span><span class='layout'>,</span>		<span class='varid'>v_0</span> <span class='layout'>)</span>
-<a name="line-388"></a>	  <span class='keyglyph'>]</span>
-<a name="line-389"></a>
-<a name="line-390"></a><a name="writeXmlDoc"></a><span class='definition'>writeXmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-391"></a><span class='definition'>writeXmlDoc</span> <span class='varid'>t'</span>
-<a name="line-392"></a>    <span class='keyglyph'>=</span> <span class='varid'>put</span> <span class='varid'>t'</span>
-<a name="line-393"></a>    <span class='keyword'>where</span>
-<a name="line-394"></a>    <span class='varid'>put</span>
-<a name="line-395"></a>	<span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>fn</span> <span class='varop'>||</span> <span class='varid'>fn</span> <span class='varop'>==</span> <span class='str'>"-"</span>	<span class='keyglyph'>=</span> <span class='varid'>putXmlDoc</span>
-<a name="line-396"></a>	<span class='keyglyph'>|</span> <span class='varid'>otherwise</span>		<span class='keyglyph'>=</span> <span class='varid'>putXmlDocToFile</span> <span class='varid'>fn</span>
-<a name="line-397"></a>
-<a name="line-398"></a>    <span class='varid'>fn</span> <span class='keyglyph'>=</span> <span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>getValue</span> <span class='varid'>a_output_file</span> <span class='varop'>$</span> <span class='varid'>t'</span>
-<a name="line-399"></a>
-<a name="line-400"></a>
-<a name="line-401"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-402"></a><span class='comment'>--</span>
-<a name="line-403"></a>
-<a name="line-404"></a><span class='comment'>-- |</span>
-<a name="line-405"></a><span class='comment'>-- wrapper filter for running a monadic filter</span>
-<a name="line-406"></a><span class='comment'>-- controlled by common options</span>
-<a name="line-407"></a><span class='comment'>--</span>
-<a name="line-408"></a><span class='comment'>-- input tree must be a complete document</span>
-<a name="line-409"></a><span class='comment'>-- parameters and default parameters can be used to contol</span>
-<a name="line-410"></a><span class='comment'>-- the filer and common tasks like error message handling</span>
-<a name="line-411"></a>
-<a name="line-412"></a><a name="processDocument"></a><span class='definition'>processDocument</span>	<span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-413"></a><span class='definition'>processDocument</span> <span class='varid'>userOptions</span> <span class='varid'>defaultOptions</span> <span class='varid'>processFilter</span>
-<a name="line-414"></a>    <span class='keyglyph'>=</span> <span class='varid'>liftMf</span> <span class='varid'>isRoot</span>
-<a name="line-415"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-416"></a>      <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>addOptions</span> <span class='varid'>userOptions</span>
-<a name="line-417"></a>	      <span class='varop'>.&gt;</span>
-<a name="line-418"></a>	      <span class='varid'>addOptions</span> <span class='keyglyph'>[</span><span class='layout'>(</span><span class='varid'>a_status</span><span class='layout'>,</span> <span class='varid'>show</span> <span class='varid'>c_ok</span><span class='layout'>)</span><span class='keyglyph'>]</span>
-<a name="line-419"></a>	     <span class='layout'>)</span>
-<a name="line-420"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-421"></a>      <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>addDefaultOptions</span> <span class='varid'>defaultOptions</span><span class='layout'>)</span>
-<a name="line-422"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-423"></a>      <span class='varid'>setSystemParams</span>							<span class='comment'>-- store options in system state</span>
-<a name="line-424"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-425"></a>      <span class='varid'>choiceM</span>
-<a name="line-426"></a>      <span class='keyglyph'>[</span> <span class='varid'>hasOption</span> <span class='varid'>a_propagate_errors</span>					<span class='comment'>-- error handling is set by calling environment</span>
-<a name="line-427"></a>		<span class='conop'>:-&gt;</span> <span class='varid'>thisM</span>
-<a name="line-428"></a>
-<a name="line-429"></a>      <span class='layout'>,</span> <span class='varid'>hasOption</span> <span class='varid'>a_collect_errors</span>
-<a name="line-430"></a>	<span class='varop'>.&gt;</span>
-<a name="line-431"></a>	<span class='varid'>hasOption</span> <span class='varid'>a_issue_errors</span>
-<a name="line-432"></a>		<span class='conop'>:-&gt;</span> <span class='varid'>performAction</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>setSysErrorHandler</span> <span class='layout'>(</span><span class='varid'>errorMsgLogging</span><span class='varop'>.&gt;&gt;</span> <span class='varid'>errorMsgToStderr</span><span class='layout'>)</span>	<span class='layout'>)</span>
-<a name="line-433"></a>
-<a name="line-434"></a>      <span class='layout'>,</span> <span class='varid'>hasOption</span> <span class='varid'>a_collect_errors</span>
-<a name="line-435"></a>		<span class='conop'>:-&gt;</span> <span class='varid'>performAction</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>setSysErrorHandler</span> <span class='varid'>errorMsgLogging</span>	<span class='layout'>)</span>
-<a name="line-436"></a>
-<a name="line-437"></a>      <span class='layout'>,</span> <span class='varid'>hasOption</span> <span class='varid'>a_issue_errors</span>
-<a name="line-438"></a>		<span class='conop'>:-&gt;</span> <span class='varid'>performAction</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>setSysErrorHandler</span> <span class='varid'>errorMsgToStderr</span>	<span class='layout'>)</span>
-<a name="line-439"></a>
-<a name="line-440"></a>      <span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-441"></a>		<span class='conop'>:-&gt;</span> <span class='varid'>performAction</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>setSysErrorHandler</span> <span class='varid'>noneM</span>		<span class='layout'>)</span>
-<a name="line-442"></a>      <span class='keyglyph'>]</span>
-<a name="line-443"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-444"></a>      <span class='varid'>processFilter</span>
-<a name="line-445"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-446"></a>      <span class='layout'>(</span> <span class='varid'>thisM</span>
-<a name="line-447"></a>        <span class='varop'>+++&gt;&gt;</span>
-<a name="line-448"></a>	<span class='layout'>(</span> <span class='varid'>hasOption</span> <span class='varid'>a_collect_errors</span>
-<a name="line-449"></a>          <span class='varop'>`guardsM`</span>
-<a name="line-450"></a>	  <span class='varid'>getErrorMsg</span>
-<a name="line-451"></a>	<span class='layout'>)</span>
-<a name="line-452"></a>      <span class='layout'>)</span>
-<a name="line-453"></a>
-<a name="line-454"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-455"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandler.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandler.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandler.html
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>{-# LINE 1 "ProtocolHandler.hs" #-}</span>
-<a name="line-2"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- protocol handler functions</span>
-<a name="line-5"></a><span class='comment'>-- configuration file</span>
-<a name="line-6"></a><span class='comment'>-- real handler is generated with cpp</span>
-<a name="line-7"></a>
-<a name="line-8"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandler</span>
-<a name="line-9"></a>    <span class='layout'>(</span> <span class='varid'>getProtocolHandler</span>
-<a name="line-10"></a>    <span class='layout'>)</span>
-<a name="line-11"></a>
-<a name="line-12"></a><span class='keyword'>where</span>
-<a name="line-13"></a>
-<a name="line-14"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-15"></a>
-<a name="line-16"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-17"></a><span class='comment'>--</span>
-<a name="line-18"></a><span class='comment'>-- file io and network</span>
-<a name="line-19"></a>
-<a name="line-20"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Maybe</span>
-<a name="line-21"></a>    <span class='layout'>(</span> <span class='varid'>fromMaybe</span>
-<a name="line-22"></a>    <span class='layout'>)</span>
-<a name="line-23"></a>
-<a name="line-24"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>URI</span>
-<a name="line-25"></a>    <span class='layout'>(</span> <span class='conid'>URI</span>
-<a name="line-26"></a>    <span class='layout'>,</span> <span class='varid'>uriScheme</span>
-<a name="line-27"></a>    <span class='layout'>)</span>
-<a name="line-28"></a>
-<a name="line-29"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerFile</span>
-<a name="line-30"></a>    <span class='layout'>(</span> <span class='varid'>getFileContents</span>
-<a name="line-31"></a>    <span class='layout'>)</span>
-<a name="line-32"></a>
-<a name="line-33"></a>
-<a name="line-34"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerHttpNativeOrCurl</span>
-<a name="line-35"></a>    <span class='layout'>(</span> <span class='varid'>getHttpContentsNativeOrWithCurl</span>
-<a name="line-36"></a>    <span class='layout'>)</span>
-<a name="line-37"></a>
-<a name="line-38"></a>
-<a name="line-39"></a>
-<a name="line-40"></a>
-<a name="line-41"></a>
-<a name="line-42"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-43"></a><span class='comment'>--</span>
-<a name="line-44"></a>
-<a name="line-45"></a><a name="getProtocolHandler"></a><span class='definition'>getProtocolHandler</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='conid'>URI</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span><span class='layout'>)</span>
-<a name="line-46"></a><span class='definition'>getProtocolHandler</span> <span class='varid'>proto</span>
-<a name="line-47"></a>    <span class='keyglyph'>=</span> <span class='varid'>fromMaybe</span> <span class='varid'>getUnsupported</span> <span class='varid'>handler</span>
-<a name="line-48"></a>      <span class='keyword'>where</span>
-<a name="line-49"></a>      <span class='varid'>handler</span>  <span class='keyglyph'>=</span> <span class='varid'>lookup</span> <span class='varid'>proto</span> <span class='varid'>protocolHandler</span>
-<a name="line-50"></a>
-<a name="line-51"></a><span class='comment'>--</span>
-<a name="line-52"></a><span class='comment'>-- the fall back protocol handler</span>
-<a name="line-53"></a>
-<a name="line-54"></a><a name="getUnsupported"></a><span class='definition'>getUnsupported</span>	<span class='keyglyph'>::</span> <span class='conid'>URI</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-55"></a><span class='definition'>getUnsupported</span> <span class='varid'>uri</span>
-<a name="line-56"></a>    <span class='keyglyph'>=</span> <span class='varid'>addFatal</span> <span class='layout'>(</span> <span class='str'>"unsupported protocol "</span>
-<a name="line-57"></a>		 <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>uriScheme</span> <span class='varid'>uri</span><span class='layout'>)</span>
-<a name="line-58"></a>		 <span class='varop'>++</span> <span class='str'>" in URI: "</span>
-<a name="line-59"></a>		 <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>uri</span>
-<a name="line-60"></a>	       <span class='layout'>)</span>
-<a name="line-61"></a>
-<a name="line-62"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-63"></a><span class='comment'>--</span>
-<a name="line-64"></a><span class='comment'>-- the table of potocol handlers</span>
-<a name="line-65"></a><span class='comment'>-- looked up in getProtocolHandler</span>
-<a name="line-66"></a>
-<a name="line-67"></a><a name="protocolHandler"></a><span class='definition'>protocolHandler</span>	<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='layout'>(</span><span class='conid'>String</span><span class='layout'>,</span> <span class='conid'>URI</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span><span class='layout'>)</span><span class='keyglyph'>]</span>
-<a name="line-68"></a><span class='definition'>protocolHandler</span>
-<a name="line-69"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='str'>"file"</span><span class='layout'>,</span> <span class='varid'>getFileContents</span><span class='layout'>)</span>
-<a name="line-70"></a>      <span class='layout'>,</span> <span class='layout'>(</span><span class='str'>"http"</span><span class='layout'>,</span>
-<a name="line-71"></a>
-<a name="line-72"></a>
-<a name="line-73"></a>	 <span class='varid'>getHttpContentsNativeOrWithCurl</span>
-<a name="line-74"></a>
-<a name="line-75"></a>
-<a name="line-76"></a>
-<a name="line-77"></a>
-<a name="line-78"></a>	<span class='layout'>)</span>
-<a name="line-79"></a>      <span class='keyglyph'>]</span>
-<a name="line-80"></a>
-<a name="line-81"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-82"></a>
-<a name="line-83"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerFile.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerFile.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerFile.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a><span class='comment'>--</span>
-<a name="line-3"></a><span class='comment'>-- protocol handler function for file protocol</span>
-<a name="line-4"></a><span class='comment'>-- implemented as filer</span>
-<a name="line-5"></a>
-<a name="line-6"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerFile</span>
-<a name="line-7"></a>    <span class='layout'>(</span> <span class='varid'>getFileContents</span>
-<a name="line-8"></a>    <span class='layout'>)</span>
-<a name="line-9"></a>
-<a name="line-10"></a><span class='keyword'>where</span>
-<a name="line-11"></a>
-<a name="line-12"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-13"></a>
-<a name="line-14"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-15"></a>
-<a name="line-16"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>Directory</span>
-<a name="line-17"></a>    <span class='layout'>(</span> <span class='varid'>doesFileExist</span>
-<a name="line-18"></a>    <span class='layout'>,</span> <span class='varid'>getPermissions</span>
-<a name="line-19"></a>    <span class='layout'>,</span> <span class='varid'>readable</span>
-<a name="line-20"></a>    <span class='layout'>)</span>
-<a name="line-21"></a>
-<a name="line-22"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>URI</span>
-<a name="line-23"></a>    <span class='layout'>(</span> <span class='conid'>URI</span>
-<a name="line-24"></a>    <span class='layout'>,</span> <span class='varid'>unEscapeString</span>
-<a name="line-25"></a>    <span class='layout'>,</span> <span class='varid'>uriPath</span>
-<a name="line-26"></a>    <span class='layout'>)</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span>
-<a name="line-29"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span><span class='varop'>.</span><span class='conid'>Error</span>
-<a name="line-30"></a>
-<a name="line-31"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-32"></a><span class='comment'>--</span>
-<a name="line-33"></a><span class='comment'>-- the file protocol handler</span>
-<a name="line-34"></a>
-<a name="line-35"></a><a name="getFileContents"></a><span class='definition'>getFileContents</span>	<span class='keyglyph'>::</span> <span class='conid'>URI</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-36"></a><span class='definition'>getFileContents</span> <span class='varid'>uri</span> <span class='varid'>n</span>
-<a name="line-37"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-38"></a>      <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"getFileContent: reading file "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>source</span><span class='layout'>)</span>
-<a name="line-39"></a>      <span class='varid'>exists</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>doesFileExist</span> <span class='varid'>source</span>
-<a name="line-40"></a>      <span class='keyword'>if</span> <span class='varid'>exists</span>
-<a name="line-41"></a>	 <span class='keyword'>then</span> <span class='keyword'>do</span>
-<a name="line-42"></a>	      <span class='varid'>perm</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>getPermissions</span> <span class='varid'>source</span>
-<a name="line-43"></a>	      <span class='keyword'>if</span> <span class='varid'>readable</span> <span class='varid'>perm</span>
-<a name="line-44"></a>		 <span class='keyword'>then</span> <span class='keyword'>do</span>
-<a name="line-45"></a>		      <span class='varid'>h</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>try</span> <span class='layout'>(</span> <span class='varid'>openFile</span> <span class='varid'>source</span> <span class='conid'>ReadMode</span> <span class='layout'>)</span>
-<a name="line-46"></a>		      <span class='keyword'>case</span> <span class='varid'>h</span> <span class='keyword'>of</span>
-<a name="line-47"></a>			     <span class='conid'>Left</span> <span class='varid'>e</span>
-<a name="line-48"></a>				 <span class='keyglyph'>-&gt;</span> <span class='varid'>readErr</span> <span class='layout'>(</span> <span class='str'>"system error when reading file "</span>
-<a name="line-49"></a>					      <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>source</span>
-<a name="line-50"></a>					      <span class='varop'>++</span> <span class='str'>": "</span>
-<a name="line-51"></a>					      <span class='varop'>++</span> <span class='varid'>ioeGetErrorString</span> <span class='varid'>e</span>
-<a name="line-52"></a>					    <span class='layout'>)</span>
-<a name="line-53"></a>			     <span class='conid'>Right</span> <span class='varid'>h'</span>
-<a name="line-54"></a>				 <span class='keyglyph'>-&gt;</span> <span class='keyword'>do</span>
-<a name="line-55"></a>				    <span class='varid'>c</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>hGetContents</span> <span class='varid'>h'</span>
-<a name="line-56"></a>				    <span class='varid'>return</span> <span class='layout'>(</span> <span class='layout'>(</span> <span class='varid'>addAttrInt</span> <span class='varid'>transferStatus</span> <span class='num'>200</span>
-<a name="line-57"></a>					       <span class='varop'>.&gt;</span>
-<a name="line-58"></a>					       <span class='varid'>addAttr</span> <span class='varid'>transferMessage</span> <span class='str'>"OK"</span>
-<a name="line-59"></a>					       <span class='varop'>.&gt;</span>
-<a name="line-60"></a>					       <span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>xtext</span> <span class='varid'>c</span><span class='layout'>)</span>
-<a name="line-61"></a>					     <span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-62"></a>					   <span class='layout'>)</span>
-<a name="line-63"></a>
-<a name="line-64"></a>		 <span class='keyword'>else</span> <span class='varid'>readErr</span> <span class='layout'>(</span><span class='str'>"file "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>source</span> <span class='varop'>++</span> <span class='str'>" not readable"</span><span class='layout'>)</span>
-<a name="line-65"></a>         <span class='keyword'>else</span> <span class='varid'>readErr</span> <span class='layout'>(</span><span class='str'>"file "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>source</span> <span class='varop'>++</span> <span class='str'>" not found"</span><span class='layout'>)</span>
-<a name="line-66"></a>    <span class='keyword'>where</span>
-<a name="line-67"></a>    <span class='varid'>source</span>	<span class='keyglyph'>=</span> <span class='varid'>fileUriPath</span> <span class='varop'>.</span> <span class='varid'>unEscapeString</span> <span class='varop'>.</span> <span class='varid'>uriPath</span> <span class='varop'>$</span> <span class='varid'>uri</span>
-<a name="line-68"></a>    <span class='varid'>readErr</span> <span class='varid'>msg</span>	<span class='keyglyph'>=</span> <span class='varid'>addFatal</span> <span class='varid'>msg</span> <span class='varid'>n</span>
-<a name="line-69"></a>
-<a name="line-70"></a>    <span class='comment'>-- remove leading / if file starts with windows drive letter, e.g. /c:/windows -&gt; c:/windows</span>
-<a name="line-71"></a>    <span class='varid'>fileUriPath</span> <span class='layout'>(</span><span class='chr'>'/'</span> <span class='conop'>:</span> <span class='varid'>file</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='varid'>d</span> <span class='conop'>:</span> <span class='chr'>':'</span> <span class='conop'>:</span> <span class='sel'>_more</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-72"></a>	<span class='keyglyph'>|</span> <span class='varid'>d</span> <span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='chr'>'A'</span><span class='keyglyph'>..</span><span class='chr'>'Z'</span><span class='keyglyph'>]</span> <span class='varop'>||</span> <span class='varid'>d</span> <span class='varop'>`elem`</span> <span class='keyglyph'>[</span><span class='chr'>'a'</span><span class='keyglyph'>..</span><span class='chr'>'z'</span><span class='keyglyph'>]</span>
-<a name="line-73"></a>	    <span class='keyglyph'>=</span> <span class='varid'>file</span>
-<a name="line-74"></a>    <span class='varid'>fileUriPath</span> <span class='varid'>file</span>
-<a name="line-75"></a>	<span class='keyglyph'>=</span> <span class='varid'>file</span>
-<a name="line-76"></a>
-<a name="line-77"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpCurl.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a><span class='comment'>--</span>
-<a name="line-3"></a><span class='comment'>-- protocol handler functions for native http access</span>
-<a name="line-4"></a>
-<a name="line-5"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerHttpCurl</span>
-<a name="line-6"></a>    <span class='layout'>(</span> <span class='varid'>getHttpContentsWithCurl</span>
-<a name="line-7"></a>    <span class='layout'>)</span>
-<a name="line-8"></a>
-<a name="line-9"></a><span class='keyword'>where</span>
-<a name="line-10"></a>
-<a name="line-11"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-12"></a>
-<a name="line-13"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerUtil</span>
-<a name="line-16"></a>    <span class='layout'>(</span> <span class='varid'>parseContentType</span>
-<a name="line-17"></a>    <span class='layout'>)</span>
-<a name="line-18"></a>
-<a name="line-19"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>ParserCombinators</span><span class='varop'>.</span><span class='conid'>Parsec</span>
-<a name="line-20"></a>    <span class='layout'>(</span> <span class='conid'>Parser</span>
-<a name="line-21"></a>    <span class='layout'>,</span> <span class='varid'>parse</span>
-<a name="line-22"></a>    <span class='layout'>,</span> <span class='varid'>anyChar</span>
-<a name="line-23"></a>    <span class='layout'>,</span> <span class='varid'>char</span>
-<a name="line-24"></a>    <span class='layout'>,</span> <span class='varid'>digit</span>
-<a name="line-25"></a>    <span class='layout'>,</span> <span class='varid'>getInput</span>
-<a name="line-26"></a>    <span class='layout'>,</span> <span class='varid'>many1</span>
-<a name="line-27"></a>    <span class='layout'>,</span> <span class='varid'>manyTill</span>
-<a name="line-28"></a>    <span class='layout'>,</span> <span class='varid'>spaces</span>
-<a name="line-29"></a>    <span class='layout'>,</span> <span class='varid'>string</span>
-<a name="line-30"></a>    <span class='layout'>,</span> <span class='layout'>(</span><span class='varop'>&lt;|&gt;</span><span class='layout'>)</span>
-<a name="line-31"></a>    <span class='layout'>)</span>
-<a name="line-32"></a>
-<a name="line-33"></a><span class='keyword'>import</span> <span class='keyword'>qualified</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>ParserCombinators</span><span class='varop'>.</span><span class='conid'>Parsec</span>
-<a name="line-34"></a>    <span class='layout'>(</span> <span class='varid'>try</span>
-<a name="line-35"></a>    <span class='layout'>)</span>
-<a name="line-36"></a>
-<a name="line-37"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>URI</span>
-<a name="line-38"></a>    <span class='layout'>(</span> <span class='conid'>URI</span>
-<a name="line-39"></a>    <span class='layout'>)</span>
-<a name="line-40"></a>
-<a name="line-41"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>PipeOpen</span>
-<a name="line-42"></a>    <span class='layout'>(</span> <span class='varid'>popen</span>
-<a name="line-43"></a>    <span class='layout'>)</span>
-<a name="line-44"></a>
-<a name="line-45"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Char</span>
-<a name="line-46"></a>    <span class='layout'>(</span> <span class='varid'>toLower</span>
-<a name="line-47"></a>    <span class='layout'>)</span>
-<a name="line-48"></a>
-<a name="line-49"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-50"></a><span class='comment'>--</span>
-<a name="line-51"></a><span class='comment'>-- the http protocol handler implemented by calling external program curl</span>
-<a name="line-52"></a>
-<a name="line-53"></a><a name="getHttpContentsWithCurl"></a><span class='definition'>getHttpContentsWithCurl</span>	<span class='keyglyph'>::</span> <span class='conid'>URI</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-54"></a><span class='definition'>getHttpContentsWithCurl</span> <span class='varid'>uri</span> <span class='varid'>n</span>
-<a name="line-55"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-56"></a>      <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span> <span class='str'>"getHttpContentWithCurl: reading from URL "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>uri</span> <span class='layout'>)</span>
-<a name="line-57"></a>
-<a name="line-58"></a>      <span class='varid'>proxy</span>       <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParam</span> <span class='varid'>a_proxy</span>
-<a name="line-59"></a>      <span class='varid'>curlOptions</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParam</span> <span class='varid'>a_options_curl</span>
-<a name="line-60"></a>
-<a name="line-61"></a>      <span class='keyword'>let</span> <span class='varid'>allArgs</span> <span class='keyglyph'>=</span> <span class='varid'>args</span> <span class='varop'>++</span> <span class='varid'>proxyArgs</span> <span class='varid'>proxy</span> <span class='varop'>++</span> <span class='varid'>words</span> <span class='varid'>curlOptions</span>
-<a name="line-62"></a>
-<a name="line-63"></a>      <span class='varid'>trace</span> <span class='num'>4</span> <span class='layout'>(</span> <span class='str'>"getHttpContentWithCurl: running "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>unwords</span> <span class='layout'>(</span><span class='varid'>cmd</span> <span class='conop'>:</span> <span class='varid'>allArgs</span><span class='layout'>)</span><span class='layout'>)</span> <span class='layout'>)</span>
-<a name="line-64"></a>
-<a name="line-65"></a>      <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='varid'>errs</span><span class='layout'>,</span> <span class='varid'>rc</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>popen</span> <span class='varid'>cmd</span> <span class='varid'>allArgs</span>
-<a name="line-66"></a>
-<a name="line-67"></a>      <span class='varid'>trace</span> <span class='num'>4</span> <span class='layout'>(</span> <span class='str'>"getHttpContentWithCurl: PID:    "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>rc</span>   <span class='layout'>)</span>
-<a name="line-68"></a>      <span class='varid'>trace</span> <span class='num'>4</span> <span class='layout'>(</span> <span class='str'>"getHttpContentWithCurl: stdin:  "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>res</span>  <span class='layout'>)</span>
-<a name="line-69"></a>      <span class='varid'>trace</span> <span class='num'>4</span> <span class='layout'>(</span> <span class='str'>"getHttpContentWithCurl: stderr: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>errs</span> <span class='layout'>)</span>
-<a name="line-70"></a>
-<a name="line-71"></a>      <span class='keyword'>if</span> <span class='varid'>rc</span> <span class='varop'>/=</span> <span class='num'>0</span>
-<a name="line-72"></a>	 <span class='keyword'>then</span> <span class='varid'>addFatal</span> <span class='layout'>(</span> <span class='str'>"http error when requesting URI (rc="</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>rc</span> <span class='varop'>++</span> <span class='str'>") "</span>
-<a name="line-73"></a>			 <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>uri</span>
-<a name="line-74"></a>			 <span class='varop'>++</span> <span class='str'>": "</span>
-<a name="line-75"></a>			 <span class='varop'>++</span> <span class='varid'>errs</span>
-<a name="line-76"></a>		       <span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-77"></a>	 <span class='keyword'>else</span> <span class='keyword'>let</span>
-<a name="line-78"></a>	      <span class='layout'>(</span><span class='varid'>st</span><span class='layout'>,</span> <span class='varid'>al</span><span class='layout'>,</span> <span class='varid'>contents</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>parseResponse</span> <span class='varid'>res</span>
-<a name="line-79"></a>	      <span class='keyword'>in</span>
-<a name="line-80"></a>	      <span class='varid'>liftMf</span> <span class='layout'>(</span> <span class='varid'>addAttrl</span> <span class='layout'>(</span><span class='varid'>const</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-81"></a>		       <span class='varop'>.&gt;</span>
-<a name="line-82"></a>		       <span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>xtext</span> <span class='varid'>contents</span><span class='layout'>)</span>
-<a name="line-83"></a>		     <span class='layout'>)</span>
-<a name="line-84"></a>	      <span class='varop'>.&gt;&gt;</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>st</span> <span class='varop'>&gt;=</span> <span class='num'>200</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>st</span> <span class='varop'>&lt;</span> <span class='num'>300</span>
-<a name="line-85"></a>		    <span class='keyword'>then</span> <span class='varid'>thisM</span>
-<a name="line-86"></a>		    <span class='keyword'>else</span>
-<a name="line-87"></a>		    <span class='varid'>addFatal</span> <span class='layout'>(</span> <span class='str'>"http error when accessing URI "</span>
-<a name="line-88"></a>			       <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>uri</span>
-<a name="line-89"></a>			       <span class='varop'>++</span> <span class='str'>": "</span>
-<a name="line-90"></a>			       <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>st</span>
-<a name="line-91"></a>			       <span class='varop'>++</span> <span class='str'>" "</span>
-<a name="line-92"></a>			       <span class='varop'>++</span> <span class='layout'>(</span><span class='varid'>valueOf</span> <span class='varid'>transferMessage</span> <span class='varop'>$</span> <span class='varid'>newRoot</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-93"></a>			     <span class='layout'>)</span>
-<a name="line-94"></a>		  <span class='layout'>)</span>
-<a name="line-95"></a>	      <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-96"></a>    <span class='keyword'>where</span>
-<a name="line-97"></a>    <span class='varid'>cmd</span>  <span class='keyglyph'>=</span> <span class='str'>"curl"</span>
-<a name="line-98"></a>    <span class='varid'>args</span> <span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='str'>"--silent"</span>
-<a name="line-99"></a>	   <span class='layout'>,</span> <span class='str'>"--show-error"</span>
-<a name="line-100"></a>	   <span class='layout'>,</span> <span class='str'>"--dump-header"</span><span class='layout'>,</span> <span class='str'>"-"</span>
-<a name="line-101"></a>	   <span class='layout'>,</span> <span class='varid'>show</span> <span class='varid'>uri</span>
-<a name="line-102"></a>	   <span class='keyglyph'>]</span>
-<a name="line-103"></a>    <span class='varid'>proxyArgs</span> <span class='str'>""</span>
-<a name="line-104"></a>	<span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-105"></a>    <span class='varid'>proxyArgs</span> <span class='varid'>prx</span>
-<a name="line-106"></a>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span> <span class='str'>"--proxy"</span><span class='layout'>,</span> <span class='varid'>prx</span> <span class='keyglyph'>]</span>
-<a name="line-107"></a>
-<a name="line-108"></a><a name="parseResponse"></a><span class='definition'>parseResponse</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='conid'>Int</span><span class='layout'>,</span> <span class='conid'>XmlTrees</span><span class='layout'>,</span> <span class='conid'>String</span><span class='layout'>)</span>
-<a name="line-109"></a><span class='definition'>parseResponse</span> <span class='varid'>inp</span>
-<a name="line-110"></a>    <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='layout'>(</span><span class='varid'>parse</span> <span class='varid'>parseHttpResponse</span> <span class='str'>"HTTP Header"</span> <span class='varid'>inp</span><span class='layout'>)</span> <span class='keyword'>of</span>
-<a name="line-111"></a>      <span class='conid'>Right</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>res</span>
-<a name="line-112"></a>      <span class='conid'>Left</span>  <span class='keyword'>_</span>   <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='num'>999</span><span class='layout'>,</span> <span class='varid'>xattr</span> <span class='varid'>transferMessage</span> <span class='str'>"illegal HTTP response"</span><span class='layout'>,</span> <span class='varid'>inp</span><span class='layout'>)</span>
-<a name="line-113"></a>
-<a name="line-114"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-115"></a><span class='comment'>--</span>
-<a name="line-116"></a><span class='comment'>-- parsers for HTTP response</span>
-<a name="line-117"></a>
-<a name="line-118"></a><a name="parseHttpResponse"></a><span class='definition'>parseHttpResponse</span>		<span class='keyglyph'>::</span> <span class='conid'>Parser</span> <span class='layout'>(</span><span class='conid'>Int</span><span class='layout'>,</span> <span class='conid'>XmlTrees</span><span class='layout'>,</span> <span class='conid'>String</span><span class='layout'>)</span>
-<a name="line-119"></a><span class='definition'>parseHttpResponse</span>
-<a name="line-120"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-121"></a>      <span class='varid'>allResponses</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>many1</span>
-<a name="line-122"></a>		      <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-123"></a>			<span class='layout'>(</span><span class='varid'>rc</span><span class='layout'>,</span> <span class='varid'>rh</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>parseResp</span>
-<a name="line-124"></a>			<span class='varid'>rhs</span>      <span class='keyglyph'>&lt;-</span> <span class='varid'>parseHeaders</span>
-<a name="line-125"></a>			<span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>rc</span><span class='layout'>,</span> <span class='varid'>rh</span><span class='layout'>,</span> <span class='varid'>rhs</span><span class='layout'>)</span>
-<a name="line-126"></a>		      <span class='layout'>)</span>
-<a name="line-127"></a>      <span class='keyword'>let</span> <span class='layout'>(</span><span class='varid'>rc</span><span class='layout'>,</span> <span class='varid'>rh</span><span class='layout'>,</span> <span class='varid'>rhs</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>last</span> <span class='varid'>allResponses</span>
-<a name="line-128"></a>      <span class='varid'>content</span>  <span class='keyglyph'>&lt;-</span> <span class='varid'>getInput</span>
-<a name="line-129"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>rc</span><span class='layout'>,</span> <span class='varid'>rh</span> <span class='varop'>++</span> <span class='varid'>rhs</span><span class='layout'>,</span> <span class='varid'>content</span><span class='layout'>)</span>
-<a name="line-130"></a>    <span class='keyword'>where</span>
-<a name="line-131"></a>
-<a name="line-132"></a>    <span class='varid'>crlf</span>		<span class='keyglyph'>::</span> <span class='conid'>Parser</span> <span class='conid'>()</span>
-<a name="line-133"></a>    <span class='varid'>crlf</span>
-<a name="line-134"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-135"></a>	  <span class='layout'>(</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>ParserCombinators</span><span class='varop'>.</span><span class='conid'>Parsec</span><span class='varop'>.</span><span class='varid'>try</span> <span class='layout'>(</span><span class='varid'>string</span> <span class='str'>"\r\n"</span><span class='layout'>)</span> <span class='varop'>&lt;|&gt;</span> <span class='varid'>string</span> <span class='str'>"\n"</span> <span class='layout'>)</span>
-<a name="line-136"></a>	  <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-137"></a>
-<a name="line-138"></a>    <span class='varid'>parseResp</span>		<span class='keyglyph'>::</span> <span class='conid'>Parser</span> <span class='layout'>(</span><span class='conid'>Int</span><span class='layout'>,</span> <span class='conid'>XmlTrees</span><span class='layout'>)</span>
-<a name="line-139"></a>    <span class='varid'>parseResp</span>
-<a name="line-140"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-141"></a>	  <span class='varid'>vers</span> <span class='keyglyph'>&lt;-</span> <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-142"></a>		    <span class='varid'>http</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>string</span> <span class='str'>"HTTP/"</span>
-<a name="line-143"></a>		    <span class='varid'>mav</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>many1</span> <span class='varid'>digit</span>
-<a name="line-144"></a>		    <span class='varid'>char</span> <span class='chr'>'.'</span>
-<a name="line-145"></a>		    <span class='varid'>miv</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>many1</span> <span class='varid'>digit</span>
-<a name="line-146"></a>		    <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>http</span> <span class='varop'>++</span> <span class='varid'>mav</span> <span class='varop'>++</span> <span class='str'>"."</span> <span class='varop'>++</span> <span class='varid'>miv</span><span class='layout'>)</span>
-<a name="line-147"></a>		  <span class='layout'>)</span>
-<a name="line-148"></a>	  <span class='varid'>spaces</span>
-<a name="line-149"></a>	  <span class='varid'>ds</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>many1</span> <span class='varid'>digit</span>
-<a name="line-150"></a>	  <span class='varid'>spaces</span>
-<a name="line-151"></a>	  <span class='varid'>reason</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>manyTill</span> <span class='varid'>anyChar</span> <span class='varid'>crlf</span>
-<a name="line-152"></a>	  <span class='varid'>return</span> <span class='layout'>(</span> <span class='varid'>read</span> <span class='varid'>ds</span><span class='layout'>,</span>
-<a name="line-153"></a>		   <span class='varid'>xattr</span> <span class='varid'>transferMessage</span> <span class='varid'>reason</span> <span class='varop'>++</span> <span class='varid'>xattr</span> <span class='varid'>transferVersion</span> <span class='varid'>vers</span>
-<a name="line-154"></a>		 <span class='layout'>)</span>
-<a name="line-155"></a>
-<a name="line-156"></a>    <span class='varid'>parseHeaders</span>	<span class='keyglyph'>::</span> <span class='conid'>Parser</span> <span class='conid'>XmlTrees</span>
-<a name="line-157"></a>    <span class='varid'>parseHeaders</span>
-<a name="line-158"></a>	<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-159"></a>	    <span class='varid'>crlf</span>
-<a name="line-160"></a>	    <span class='varid'>return</span> <span class='conid'>[]</span>
-<a name="line-161"></a>	  <span class='layout'>)</span>
-<a name="line-162"></a>	  <span class='varop'>&lt;|&gt;</span>
-<a name="line-163"></a>	  <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-164"></a>	    <span class='varid'>header1</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>parse1Header</span>
-<a name="line-165"></a>	    <span class='varid'>rest</span>    <span class='keyglyph'>&lt;-</span> <span class='varid'>parseHeaders</span>
-<a name="line-166"></a>	    <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>header1</span> <span class='varop'>++</span> <span class='varid'>rest</span>
-<a name="line-167"></a>	  <span class='layout'>)</span>
-<a name="line-168"></a>	  <span class='varop'>&lt;|&gt;</span>
-<a name="line-169"></a>	  <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-170"></a>	    <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>xattr</span> <span class='layout'>(</span><span class='varid'>httpPrefix</span> <span class='varop'>++</span> <span class='str'>"IllegalHeaders"</span><span class='layout'>)</span> <span class='str'>""</span>
-<a name="line-171"></a>	  <span class='layout'>)</span>
-<a name="line-172"></a>
-<a name="line-173"></a>    <span class='varid'>parse1Header</span>	<span class='keyglyph'>::</span> <span class='conid'>Parser</span> <span class='conid'>XmlTrees</span>
-<a name="line-174"></a>    <span class='varid'>parse1Header</span>
-<a name="line-175"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-176"></a>	  <span class='varid'>header</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>manyTill</span> <span class='varid'>anyChar</span> <span class='layout'>(</span><span class='varid'>char</span> <span class='chr'>':'</span><span class='layout'>)</span>
-<a name="line-177"></a>	  <span class='varid'>spaces</span>
-<a name="line-178"></a>	  <span class='varid'>value</span>  <span class='keyglyph'>&lt;-</span> <span class='varid'>manyTill</span> <span class='varid'>anyChar</span> <span class='varid'>crlf</span>
-<a name="line-179"></a>	  <span class='keyword'>let</span> <span class='varid'>ct</span> <span class='keyglyph'>=</span> <span class='varid'>parseCT</span> <span class='varid'>header</span> <span class='varid'>value</span>
-<a name="line-180"></a>	  <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>ct</span> <span class='varop'>++</span> <span class='varid'>xattr</span> <span class='layout'>(</span><span class='varid'>httpPrefix</span> <span class='varop'>++</span> <span class='varid'>header</span><span class='layout'>)</span> <span class='varid'>value</span>
-<a name="line-181"></a>	<span class='keyword'>where</span>
-<a name="line-182"></a>	<span class='varid'>parseCT</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-183"></a>	<span class='varid'>parseCT</span> <span class='varid'>h</span> <span class='varid'>v</span>
-<a name="line-184"></a>	    <span class='keyglyph'>|</span> <span class='varid'>map</span> <span class='varid'>toLower</span> <span class='varid'>h</span> <span class='varop'>==</span> <span class='str'>"content-type"</span>
-<a name="line-185"></a>		<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>case</span> <span class='layout'>(</span><span class='varid'>parse</span> <span class='varid'>parseContentType</span> <span class='varid'>h</span> <span class='varid'>v</span><span class='layout'>)</span> <span class='keyword'>of</span>
-<a name="line-186"></a>		    <span class='conid'>Right</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>uncurry</span> <span class='varid'>xattr</span><span class='layout'>)</span> <span class='varid'>res</span>
-<a name="line-187"></a>		    <span class='conid'>Left</span>  <span class='keyword'>_</span>   <span class='keyglyph'>-&gt;</span> <span class='conid'>[]</span>
-<a name="line-188"></a>		  <span class='layout'>)</span>
-<a name="line-189"></a>	    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-190"></a>		<span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-191"></a>
-<a name="line-192"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpNative.html
+++ /dev/null
@@ -1,161 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a><span class='comment'>--</span>
-<a name="line-3"></a><span class='comment'>-- protocol handler functions for native http access</span>
-<a name="line-4"></a><span class='comment'>--</span>
-<a name="line-5"></a>
-<a name="line-6"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerHttpNative</span>
-<a name="line-7"></a>    <span class='layout'>(</span> <span class='varid'>getHttpContentsWithHttp</span>
-<a name="line-8"></a>    <span class='layout'>)</span>
-<a name="line-9"></a>
-<a name="line-10"></a><span class='keyword'>where</span>
-<a name="line-11"></a>
-<a name="line-12"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-13"></a>
-<a name="line-14"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-15"></a>
-<a name="line-16"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerUtil</span>
-<a name="line-17"></a>    <span class='layout'>(</span> <span class='varid'>parseContentType</span>
-<a name="line-18"></a>    <span class='layout'>)</span>
-<a name="line-19"></a>
-<a name="line-20"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Util</span>
-<a name="line-21"></a>    <span class='layout'>(</span> <span class='varid'>stringTrim</span>
-<a name="line-22"></a>    <span class='layout'>)</span>
-<a name="line-23"></a>
-<a name="line-24"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>ParserCombinators</span><span class='varop'>.</span><span class='conid'>Parsec</span>
-<a name="line-25"></a>    <span class='layout'>(</span> <span class='varid'>parse</span>
-<a name="line-26"></a>    <span class='layout'>)</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span>
-<a name="line-29"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span><span class='varop'>.</span><span class='conid'>Error</span>
-<a name="line-30"></a>
-<a name="line-31"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>URI</span>
-<a name="line-32"></a>    <span class='layout'>(</span> <span class='conid'>URI</span>
-<a name="line-33"></a>    <span class='layout'>)</span>
-<a name="line-34"></a>
-<a name="line-35"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>Socket</span>
-<a name="line-36"></a>    <span class='layout'>(</span> <span class='varid'>withSocketsDo</span>
-<a name="line-37"></a>    <span class='layout'>)</span>
-<a name="line-38"></a>
-<a name="line-39"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>HTTP</span>		<span class='comment'>-- http modules</span>
-<a name="line-40"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>Browser</span>
-<a name="line-41"></a>
-<a name="line-42"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-43"></a><span class='comment'>--</span>
-<a name="line-44"></a><span class='comment'>-- the native http protocol handler</span>
-<a name="line-45"></a>
-<a name="line-46"></a><a name="ResponseString"></a><span class='keyword'>type</span> <span class='conid'>ResponseString</span>	<span class='keyglyph'>=</span> <span class='conid'>Response</span> <span class='conid'>String</span>
-<a name="line-47"></a>
-<a name="line-48"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-49"></a><span class='comment'>--</span>
-<a name="line-50"></a><span class='comment'>-- the http protocol handler, haskell implementation</span>
-<a name="line-51"></a>
-<a name="line-52"></a><a name="getHttpContentsWithHttp"></a><span class='definition'>getHttpContentsWithHttp</span>	<span class='keyglyph'>::</span> <span class='conid'>URI</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-53"></a><span class='definition'>getHttpContentsWithHttp</span> <span class='varid'>uri</span> <span class='varid'>n</span>
-<a name="line-54"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-55"></a>      <span class='varid'>traceLevel</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getTraceLevel</span>
-<a name="line-56"></a>      <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"getHttpContent: reading from URL "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>uri</span><span class='layout'>)</span>
-<a name="line-57"></a>      <span class='varid'>proxy</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParam</span> <span class='varid'>a_proxy</span>
-<a name="line-58"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span>  <span class='varid'>try</span> <span class='layout'>(</span><span class='varid'>getHttp</span> <span class='varid'>traceLevel</span> <span class='varid'>uri</span> <span class='varid'>proxy</span><span class='layout'>)</span>
-<a name="line-59"></a>      <span class='keyword'>case</span> <span class='varid'>res</span> <span class='keyword'>of</span>
-<a name="line-60"></a>	       <span class='conid'>Left</span> <span class='varid'>e</span>
-<a name="line-61"></a>		   <span class='keyglyph'>-&gt;</span> <span class='varid'>readErr</span> <span class='layout'>(</span> <span class='str'>"http error when requesting URI "</span>
-<a name="line-62"></a>				<span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>uri</span>
-<a name="line-63"></a>				<span class='varop'>++</span> <span class='str'>": "</span>
-<a name="line-64"></a>				<span class='varop'>++</span> <span class='varid'>ioeGetErrorString</span> <span class='varid'>e</span>
-<a name="line-65"></a>				<span class='varop'>++</span> <span class='str'>" (perhaps server does not understand HTTP/1.1) "</span>
-<a name="line-66"></a>			      <span class='layout'>)</span>
-<a name="line-67"></a>	       <span class='conid'>Right</span> <span class='varid'>response</span>
-<a name="line-68"></a>		   <span class='keyglyph'>-&gt;</span> <span class='keyword'>let</span>
-<a name="line-69"></a>		      <span class='varid'>al</span> <span class='keyglyph'>=</span> <span class='varid'>convertResponseHeaders</span> <span class='varid'>response</span>
-<a name="line-70"></a>		      <span class='varid'>cs</span> <span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='layout'>(</span><span class='varid'>rspBody</span> <span class='varid'>response</span><span class='layout'>)</span>
-<a name="line-71"></a>		      <span class='varid'>st</span> <span class='keyglyph'>=</span> <span class='varid'>convertResponseStatus</span> <span class='layout'>(</span><span class='varid'>rspCode</span> <span class='varid'>response</span><span class='layout'>)</span>
-<a name="line-72"></a>		      <span class='keyword'>in</span>
-<a name="line-73"></a>		      <span class='keyword'>if</span> <span class='varid'>st</span> <span class='varop'>&gt;=</span> <span class='num'>200</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>st</span> <span class='varop'>&lt;</span> <span class='num'>300</span>
-<a name="line-74"></a>			 <span class='keyword'>then</span>
-<a name="line-75"></a>			 <span class='varid'>return</span> <span class='varop'>$</span> <span class='layout'>(</span><span class='varid'>addAttrl</span> <span class='layout'>(</span><span class='varid'>const</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>.&gt;</span> <span class='varid'>replaceChildren</span> <span class='varid'>cs</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-76"></a>			 <span class='keyword'>else</span> 
-<a name="line-77"></a>			 <span class='varid'>readErr</span> <span class='layout'>(</span> <span class='str'>"http error when accessing URI "</span>
-<a name="line-78"></a>				   <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varid'>uri</span><span class='layout'>)</span>
-<a name="line-79"></a>				   <span class='varop'>++</span> <span class='str'>": "</span>
-<a name="line-80"></a>				   <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>st</span>
-<a name="line-81"></a>				   <span class='varop'>++</span> <span class='str'>" "</span>
-<a name="line-82"></a>				   <span class='varop'>++</span> <span class='varid'>rspReason</span> <span class='varid'>response</span>
-<a name="line-83"></a>				 <span class='layout'>)</span>
-<a name="line-84"></a>    <span class='keyword'>where</span>
-<a name="line-85"></a>    <span class='varid'>readErr</span> <span class='varid'>msg</span>	<span class='keyglyph'>=</span> <span class='varid'>addFatal</span> <span class='varid'>msg</span> <span class='varid'>n</span>
-<a name="line-86"></a>
-<a name="line-87"></a>    <span class='varid'>getHttp</span>		<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>URI</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IO</span> <span class='conid'>ResponseString</span>
-<a name="line-88"></a>    <span class='varid'>getHttp</span> <span class='varid'>trc'</span> <span class='varid'>uri'</span> <span class='varid'>proxy'</span>
-<a name="line-89"></a>	<span class='keyglyph'>=</span> <span class='varid'>withSocketsDo</span> <span class='varop'>$</span>
-<a name="line-90"></a>	  <span class='varid'>browse</span> <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-91"></a>		   <span class='varid'>setOutHandler</span> <span class='layout'>(</span><span class='varid'>trcFct</span><span class='layout'>)</span>
-<a name="line-92"></a>		   <span class='varid'>setErrHandler</span> <span class='layout'>(</span><span class='varid'>trcFct</span><span class='layout'>)</span>
-<a name="line-93"></a>
-<a name="line-94"></a>		   <span class='varid'>setProxy'</span> <span class='varid'>proxy'</span>
-<a name="line-95"></a>		   <span class='layout'>(</span><span class='sel'>_ruri</span><span class='layout'>,</span> <span class='varid'>rsp</span><span class='layout'>)</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>request</span> <span class='varid'>rq</span>
-<a name="line-96"></a>		   <span class='varid'>return</span> <span class='varid'>rsp</span>
-<a name="line-97"></a>		 <span class='layout'>)</span>
-<a name="line-98"></a>	<span class='keyword'>where</span>
-<a name="line-99"></a>	<span class='varid'>trcFct</span> <span class='varid'>s</span>
-<a name="line-100"></a>	    <span class='keyglyph'>|</span> <span class='varid'>trc'</span> <span class='varop'>&gt;=</span> <span class='num'>5</span>
-<a name="line-101"></a>		<span class='keyglyph'>=</span> <span class='varid'>hPutStrLn</span> <span class='varid'>stderr</span> <span class='layout'>(</span><span class='str'>"-- ("</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>trc'</span> <span class='varop'>++</span> <span class='str'>") http: "</span> <span class='varop'>++</span> <span class='varid'>s</span><span class='layout'>)</span>
-<a name="line-102"></a>	    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-103"></a>		<span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-104"></a>
-<a name="line-105"></a>	<span class='varid'>rq</span> <span class='keyglyph'>=</span> <span class='varid'>defaultGETRequest</span> <span class='varid'>uri'</span>
-<a name="line-106"></a>	
-<a name="line-107"></a>	<span class='varid'>setProxy'</span> <span class='str'>""</span>	<span class='keyglyph'>=</span> <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-108"></a>	<span class='varid'>setProxy'</span> <span class='varid'>p</span>	<span class='keyglyph'>=</span> <span class='varid'>setProxy</span> <span class='layout'>(</span><span class='conid'>Proxy</span> <span class='varid'>p</span> <span class='conid'>Nothing</span><span class='layout'>)</span>
-<a name="line-109"></a>
-<a name="line-110"></a>    <span class='varid'>convertResponseStatus</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Int</span><span class='layout'>,</span> <span class='conid'>Int</span><span class='layout'>,</span> <span class='conid'>Int</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Int</span>
-<a name="line-111"></a>    <span class='varid'>convertResponseStatus</span> <span class='layout'>(</span><span class='varid'>a</span><span class='layout'>,</span> <span class='varid'>b</span><span class='layout'>,</span> <span class='varid'>c</span><span class='layout'>)</span>
-<a name="line-112"></a>	<span class='keyglyph'>=</span> <span class='num'>100</span> <span class='varop'>*</span> <span class='varid'>a</span> <span class='varop'>+</span> <span class='num'>10</span> <span class='varop'>*</span> <span class='varid'>b</span> <span class='varop'>+</span> <span class='varid'>c</span>
-<a name="line-113"></a>
-<a name="line-114"></a>    <span class='varid'>convertResponseHeaders</span>	<span class='keyglyph'>::</span> <span class='conid'>ResponseString</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-115"></a>    <span class='varid'>convertResponseHeaders</span> <span class='varid'>r'</span>
-<a name="line-116"></a>	<span class='keyglyph'>=</span> <span class='varid'>cvResponseCode</span> <span class='layout'>(</span><span class='varid'>rspCode</span> <span class='varid'>r'</span><span class='layout'>)</span>
-<a name="line-117"></a>	  <span class='varop'>++</span>
-<a name="line-118"></a>	  <span class='varid'>cvResponseReason</span> <span class='layout'>(</span><span class='varid'>rspReason</span> <span class='varid'>r'</span><span class='layout'>)</span>
-<a name="line-119"></a>          <span class='varop'>++</span>
-<a name="line-120"></a>	  <span class='varid'>cvResponseHeaders</span> <span class='layout'>(</span><span class='varid'>rspHeaders</span> <span class='varid'>r'</span><span class='layout'>)</span>
-<a name="line-121"></a>	<span class='keyword'>where</span>
-<a name="line-122"></a>	<span class='varid'>cvResponseCode</span>	<span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Int</span><span class='layout'>,</span> <span class='conid'>Int</span><span class='layout'>,</span> <span class='conid'>Int</span><span class='layout'>)</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-123"></a>	<span class='varid'>cvResponseCode</span> <span class='varid'>st'</span>
-<a name="line-124"></a>	    <span class='keyglyph'>=</span> <span class='varid'>xattr</span> <span class='varid'>transferStatus</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>convertResponseStatus</span> <span class='varid'>st'</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-125"></a>	      <span class='varop'>++</span>
-<a name="line-126"></a>	      <span class='varid'>xattr</span> <span class='varid'>transferVersion</span> <span class='varid'>httpVersion</span>
-<a name="line-127"></a>
-<a name="line-128"></a>	<span class='varid'>cvResponseReason</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-129"></a>	<span class='varid'>cvResponseReason</span> <span class='varid'>r''</span>
-<a name="line-130"></a>	    <span class='keyglyph'>=</span> <span class='varid'>xattr</span> <span class='varid'>transferMessage</span> <span class='layout'>(</span><span class='varid'>stringTrim</span> <span class='varid'>r''</span><span class='layout'>)</span>
-<a name="line-131"></a>
-<a name="line-132"></a>	<span class='varid'>cvResponseHeaders</span>	<span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>Header</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-133"></a>	<span class='varid'>cvResponseHeaders</span>
-<a name="line-134"></a>	    <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>cvResponseHeader</span>
-<a name="line-135"></a>
-<a name="line-136"></a>	<span class='varid'>cvResponseHeader</span>	<span class='keyglyph'>::</span> <span class='conid'>Header</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-137"></a>	<span class='varid'>cvResponseHeader</span> <span class='layout'>(</span><span class='conid'>Header</span> <span class='varid'>name</span> <span class='varid'>value</span><span class='layout'>)</span>
-<a name="line-138"></a>	    <span class='keyglyph'>|</span> <span class='varid'>name</span> <span class='varop'>==</span> <span class='conid'>HdrContentType</span>
-<a name="line-139"></a>		<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>case</span> <span class='layout'>(</span><span class='varid'>parse</span> <span class='varid'>parseContentType</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='conid'>HdrContentType</span><span class='layout'>)</span> <span class='varid'>value</span><span class='layout'>)</span> <span class='keyword'>of</span>
-<a name="line-140"></a>		    <span class='conid'>Right</span> <span class='varid'>res</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>uncurry</span> <span class='varid'>xattr</span><span class='layout'>)</span> <span class='varid'>res</span>
-<a name="line-141"></a>		    <span class='conid'>Left</span>  <span class='keyword'>_</span>   <span class='keyglyph'>-&gt;</span> <span class='conid'>[]</span>
-<a name="line-142"></a>		  <span class='layout'>)</span>
-<a name="line-143"></a>                  <span class='varop'>++</span>
-<a name="line-144"></a>		  <span class='varid'>addHttpAttr</span>
-<a name="line-145"></a>	    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-146"></a>		<span class='keyglyph'>=</span> <span class='varid'>addHttpAttr</span>
-<a name="line-147"></a>	    <span class='keyword'>where</span>
-<a name="line-148"></a>	    <span class='varid'>addHttpAttr</span> <span class='keyglyph'>=</span> <span class='varid'>xattr</span> <span class='layout'>(</span><span class='varid'>httpPrefix</span> <span class='varop'>++</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varid'>name</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>value</span>
-<a name="line-149"></a>
-<a name="line-150"></a>
-<a name="line-151"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-ProtocolHandlerHttpNativeOrCurl.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a><span class='comment'>--</span>
-<a name="line-3"></a><span class='comment'>-- protocol handler functions for native http access</span>
-<a name="line-4"></a>
-<a name="line-5"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerHttpNativeOrCurl</span>
-<a name="line-6"></a>    <span class='layout'>(</span> <span class='varid'>getHttpContentsNativeOrWithCurl</span>
-<a name="line-7"></a>    <span class='layout'>)</span>
-<a name="line-8"></a>
-<a name="line-9"></a><span class='keyword'>where</span>
-<a name="line-10"></a>
-<a name="line-11"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlKeywords</span>
-<a name="line-12"></a>    <span class='layout'>(</span> <span class='varid'>a_use_curl</span>
-<a name="line-13"></a>    <span class='layout'>)</span>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-16"></a>
-<a name="line-17"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>URI</span>
-<a name="line-18"></a>    <span class='layout'>(</span> <span class='conid'>URI</span>
-<a name="line-19"></a>    <span class='layout'>)</span>
-<a name="line-20"></a>
-<a name="line-21"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerHttpNative</span>
-<a name="line-22"></a>    <span class='layout'>(</span> <span class='varid'>getHttpContentsWithHttp</span>
-<a name="line-23"></a>    <span class='layout'>)</span>
-<a name="line-24"></a>
-<a name="line-25"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandlerHttpCurl</span>
-<a name="line-26"></a>    <span class='layout'>(</span> <span class='varid'>getHttpContentsWithCurl</span>
-<a name="line-27"></a>    <span class='layout'>)</span>
-<a name="line-28"></a>
-<a name="line-29"></a>
-<a name="line-30"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-31"></a><span class='comment'>--</span>
-<a name="line-32"></a><span class='comment'>-- the http protocol handler switch for internal / external access</span>
-<a name="line-33"></a>
-<a name="line-34"></a><a name="getHttpContentsNativeOrWithCurl"></a><span class='definition'>getHttpContentsNativeOrWithCurl</span>		<span class='keyglyph'>::</span> <span class='conid'>URI</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-35"></a><span class='definition'>getHttpContentsNativeOrWithCurl</span> <span class='varid'>uri</span> <span class='varid'>n</span>
-<a name="line-36"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-37"></a>      <span class='varid'>curl</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParamInt</span> <span class='varid'>a_use_curl</span> <span class='num'>0</span>
-<a name="line-38"></a>      <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>curl</span> <span class='varop'>/=</span> <span class='num'>0</span>
-<a name="line-39"></a>	<span class='keyword'>then</span> <span class='varid'>getHttpContentsWithCurl</span>
-<a name="line-40"></a>	<span class='keyword'>else</span> <span class='varid'>getHttpContentsWithHttp</span> <span class='layout'>)</span> <span class='varid'>uri</span> <span class='varid'>n</span>
-<a name="line-41"></a>
-<a name="line-42"></a>
-<a name="line-43"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlInput.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlInput.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlInput.html
+++ /dev/null
@@ -1,392 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-2"></a><span class='comment'>--</span>
-<a name="line-3"></a><span class='comment'>-- input functions</span>
-<a name="line-4"></a><span class='comment'>-- implemented as filer</span>
-<a name="line-5"></a>
-<a name="line-6"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlInput</span>
-<a name="line-7"></a>    <span class='layout'>(</span> <span class='varid'>getXmlContents</span>
-<a name="line-8"></a>    <span class='layout'>,</span> <span class='varid'>getXmlEntityContents</span>
-<a name="line-9"></a>    <span class='layout'>,</span> <span class='varid'>getUrlContents</span>
-<a name="line-10"></a>    <span class='layout'>,</span> <span class='varid'>getContentLength</span>
-<a name="line-11"></a>    <span class='layout'>,</span> <span class='varid'>guessDocEncoding</span>
-<a name="line-12"></a>    <span class='layout'>,</span> <span class='varid'>runInLocalURIContext</span>
-<a name="line-13"></a>    <span class='layout'>,</span> <span class='varid'>runInNewURIContext</span>
-<a name="line-14"></a>    <span class='layout'>,</span> <span class='varid'>getBaseURI</span>
-<a name="line-15"></a>    <span class='layout'>,</span> <span class='varid'>setBaseURI</span>
-<a name="line-16"></a>    <span class='layout'>,</span> <span class='varid'>getAbsolutURI</span>
-<a name="line-17"></a>    <span class='layout'>,</span> <span class='varid'>isStandaloneDocument</span>
-<a name="line-18"></a>    <span class='layout'>)</span>
-<a name="line-19"></a>
-<a name="line-20"></a><span class='keyword'>where</span>
-<a name="line-21"></a>
-<a name="line-22"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-23"></a>
-<a name="line-24"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-25"></a>
-<a name="line-26"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>DefaultURI</span>
-<a name="line-27"></a>    <span class='layout'>(</span> <span class='varid'>setDefaultURI</span>
-<a name="line-28"></a>    <span class='layout'>)</span>
-<a name="line-29"></a>
-<a name="line-30"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlParser</span>
-<a name="line-31"></a>    <span class='layout'>(</span> <span class='varid'>parseXmlDocEncodingSpec</span>
-<a name="line-32"></a>    <span class='layout'>,</span> <span class='varid'>parseXmlEntityEncodingSpec</span>
-<a name="line-33"></a>    <span class='layout'>,</span> <span class='varid'>removeEncodingSpec</span>
-<a name="line-34"></a>    <span class='layout'>)</span>
-<a name="line-35"></a>
-<a name="line-36"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Unicode</span>
-<a name="line-37"></a>    <span class='layout'>(</span> <span class='varid'>getDecodingFct</span>
-<a name="line-38"></a>    <span class='layout'>,</span> <span class='varid'>guessEncoding</span>
-<a name="line-39"></a>    <span class='layout'>,</span> <span class='varid'>normalizeNL</span>
-<a name="line-40"></a>    <span class='layout'>)</span>
-<a name="line-41"></a>
-<a name="line-42"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-43"></a>    <span class='layout'>(</span> <span class='varid'>traceTree</span>
-<a name="line-44"></a>    <span class='layout'>,</span> <span class='varid'>traceSource</span>
-<a name="line-45"></a>    <span class='layout'>,</span> <span class='varid'>traceMsg</span>
-<a name="line-46"></a>    <span class='layout'>)</span>
-<a name="line-47"></a>
-<a name="line-48"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>ProtocolHandler</span>
-<a name="line-49"></a>    <span class='layout'>(</span> <span class='varid'>getProtocolHandler</span>
-<a name="line-50"></a>    <span class='layout'>)</span>
-<a name="line-51"></a>
-<a name="line-52"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-53"></a><span class='comment'>--</span>
-<a name="line-54"></a><span class='comment'>-- URI manipulation</span>
-<a name="line-55"></a>
-<a name="line-56"></a><span class='keyword'>import</span> <span class='conid'>Network</span><span class='varop'>.</span><span class='conid'>URI</span>
-<a name="line-57"></a>    <span class='layout'>(</span> <span class='varid'>parseURIReference</span>
-<a name="line-58"></a>    <span class='layout'>,</span> <span class='varid'>relativeTo</span>
-<a name="line-59"></a>    <span class='layout'>,</span> <span class='varid'>uriScheme</span>
-<a name="line-60"></a>    <span class='layout'>)</span>
-<a name="line-61"></a>
-<a name="line-62"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-63"></a><span class='comment'>--</span>
-<a name="line-64"></a><span class='comment'>-- utilities</span>
-<a name="line-65"></a>
-<a name="line-66"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Maybe</span>
-<a name="line-67"></a>
-<a name="line-68"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-69"></a><span class='comment'>--</span>
-<a name="line-70"></a><span class='comment'>-- filter for reading the content</span>
-<a name="line-71"></a><span class='comment'>-- input: a root node with arguments in tag attribute list</span>
-<a name="line-72"></a><span class='comment'>-- and without any children.</span>
-<a name="line-73"></a>
-<a name="line-74"></a><span class='comment'>-- attribute a_source   ("source")   for input file or uri</span>
-<a name="line-75"></a><span class='comment'>--</span>
-<a name="line-76"></a><span class='comment'>-- attribute a_encoding ("encoding") for encoding scheme</span>
-<a name="line-77"></a><span class='comment'>--</span>
-<a name="line-78"></a><span class='comment'>-- attribute a_proxy    ("proxy")    for proxy tob be used in http access</span>
-<a name="line-79"></a>
-<a name="line-80"></a><a name="getXmlContents'"></a><span class='definition'>getXmlContents'</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-81"></a><span class='definition'>getXmlContents'</span> <span class='varid'>parseEncodingSpec</span>
-<a name="line-82"></a>    <span class='keyglyph'>=</span> <span class='varid'>getContent'</span>
-<a name="line-83"></a>      <span class='varop'>`whenM`</span> <span class='varid'>isRoot</span>
-<a name="line-84"></a>      <span class='keyword'>where</span>
-<a name="line-85"></a>      <span class='varid'>getContent'</span> <span class='varid'>t'</span>
-<a name="line-86"></a>	  <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>setStatus</span> <span class='varid'>c_ok</span> <span class='str'>"getXmlContents"</span><span class='layout'>)</span>
-<a name="line-87"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-88"></a>	      <span class='varid'>getUrlContents</span>
-<a name="line-89"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-90"></a>	      <span class='varid'>liftF</span> <span class='varid'>parseEncodingSpec</span>
-<a name="line-91"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-92"></a>	      <span class='varid'>guessDocEncoding</span>
-<a name="line-93"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-94"></a>	      <span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='layout'>(</span><span class='str'>"getXmlContents: content read and decoded from "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>input'</span><span class='layout'>)</span>
-<a name="line-95"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-96"></a>	      <span class='varid'>traceTree</span>
-<a name="line-97"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-98"></a>	      <span class='varid'>traceSource</span>
-<a name="line-99"></a>	    <span class='layout'>)</span> <span class='varid'>t'</span>
-<a name="line-100"></a>	    <span class='keyword'>where</span>
-<a name="line-101"></a>	    <span class='varid'>input'</span> <span class='keyglyph'>=</span> <span class='varid'>valueOf</span> <span class='varid'>a_source</span> <span class='varid'>t'</span>
-<a name="line-102"></a>
-<a name="line-103"></a><span class='comment'>-- |</span>
-<a name="line-104"></a><span class='comment'>-- filter for reading the content of a XML document</span>
-<a name="line-105"></a><span class='comment'>--</span>
-<a name="line-106"></a><span class='comment'>-- input is a root node with the source as an attibute</span>
-<a name="line-107"></a><span class='comment'>-- the text is read, the encoding scheme is parsed and selected</span>
-<a name="line-108"></a><span class='comment'>-- and the input is translated into the internal UTF-8 string representation</span>
-<a name="line-109"></a>
-<a name="line-110"></a><a name="getXmlContents"></a><span class='definition'>getXmlContents</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-111"></a><span class='definition'>getXmlContents</span>
-<a name="line-112"></a>    <span class='keyglyph'>=</span> <span class='varid'>getXmlContents'</span> <span class='varid'>parseXmlDocEncodingSpec</span>
-<a name="line-113"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-114"></a>      <span class='varid'>setBaseURIFilter</span>
-<a name="line-115"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-116"></a>      <span class='varid'>setStandAloneFilter</span>
-<a name="line-117"></a>
-<a name="line-118"></a><span class='comment'>-- |</span>
-<a name="line-119"></a><span class='comment'>-- filter for reading the content of an external XML entity</span>
-<a name="line-120"></a><span class='comment'>--</span>
-<a name="line-121"></a><span class='comment'>--</span>
-<a name="line-122"></a><span class='comment'>-- see also : 'getXmlContents'</span>
-<a name="line-123"></a>
-<a name="line-124"></a><a name="getXmlEntityContents"></a><span class='definition'>getXmlEntityContents</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-125"></a><span class='definition'>getXmlEntityContents</span>
-<a name="line-126"></a>    <span class='keyglyph'>=</span> <span class='varid'>getXmlContents'</span> <span class='varid'>parseXmlEntityEncodingSpec</span>
-<a name="line-127"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-128"></a>      <span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>processChildren</span> <span class='varid'>removeEncodingSpec</span><span class='layout'>)</span>	<span class='comment'>-- remove encoding spec, it's not part of the entity value</span>
-<a name="line-129"></a>      <span class='varop'>.&gt;&gt;</span> 
-<a name="line-130"></a>      <span class='varid'>setBaseURIFilter</span>
-<a name="line-131"></a>
-<a name="line-132"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-133"></a>
-<a name="line-134"></a><a name="setBaseURIFilter"></a><span class='definition'>setBaseURIFilter</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-135"></a><span class='definition'>setBaseURIFilter</span>
-<a name="line-136"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>setBaseURI</span> <span class='layout'>(</span><span class='varid'>valueOf</span> <span class='varid'>transferURI</span> <span class='varid'>t</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-137"></a>      <span class='varop'>`whenM`</span> <span class='varid'>isRoot</span>
-<a name="line-138"></a>
-<a name="line-139"></a><span class='comment'>-- |</span>
-<a name="line-140"></a><span class='comment'>-- filter command for saving and restoring</span>
-<a name="line-141"></a><span class='comment'>-- the base URI</span>
-<a name="line-142"></a><span class='comment'>--</span>
-<a name="line-143"></a><span class='comment'>--    * 1.parameter f :  the filter that possible changes the base URI</span>
-<a name="line-144"></a><span class='comment'>--</span>
-<a name="line-145"></a><span class='comment'>--</span>
-<a name="line-146"></a><span class='comment'>--    - returns : a filter with the same effect as f, that restores the base URI after application of f</span>
-<a name="line-147"></a>
-<a name="line-148"></a><a name="runInLocalURIContext"></a><span class='definition'>runInLocalURIContext</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-149"></a><span class='definition'>runInLocalURIContext</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-150"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-151"></a>      <span class='varid'>oldContext</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getBaseURI</span>
-<a name="line-152"></a>      <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"runInLocalURIContext: save base URI "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>oldContext</span><span class='layout'>)</span>
-<a name="line-153"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-154"></a>      <span class='varid'>setBaseURI</span> <span class='varid'>oldContext</span>
-<a name="line-155"></a>      <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"runInLocalURIContext: restore base URI "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>oldContext</span><span class='layout'>)</span>
-<a name="line-156"></a>      <span class='varid'>return</span> <span class='varid'>res</span>
-<a name="line-157"></a>
-<a name="line-158"></a><span class='comment'>-- |</span>
-<a name="line-159"></a><span class='comment'>-- filter command for running an action in a new URI context</span>
-<a name="line-160"></a>
-<a name="line-161"></a><a name="runInNewURIContext"></a><span class='definition'>runInNewURIContext</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-162"></a><span class='definition'>runInNewURIContext</span> <span class='varid'>uri</span> <span class='varid'>f</span>
-<a name="line-163"></a>    <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>uri</span>
-<a name="line-164"></a>	<span class='keyglyph'>=</span> <span class='varid'>f</span>
-<a name="line-165"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-166"></a>	<span class='keyglyph'>=</span> <span class='varid'>runInLocalURIContext</span>
-<a name="line-167"></a>	  <span class='layout'>(</span> <span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span> <span class='keyword'>do</span>
-<a name="line-168"></a>		     <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"runInNewURIContext: new base URI "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>uri</span><span class='layout'>)</span>
-<a name="line-169"></a>		     <span class='varid'>setBaseURI</span> <span class='varid'>uri</span>
-<a name="line-170"></a>		     <span class='varid'>f</span> <span class='varid'>t</span>
-<a name="line-171"></a>		   <span class='layout'>)</span>
-<a name="line-172"></a>	  <span class='layout'>)</span>
-<a name="line-173"></a>
-<a name="line-174"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-175"></a><span class='comment'>-- |</span>
-<a name="line-176"></a><span class='comment'>-- guessEncoding uses encoding attribute and content</span>
-<a name="line-177"></a><span class='comment'>-- to determine the encoding scheme.</span>
-<a name="line-178"></a><span class='comment'>--</span>
-<a name="line-179"></a><span class='comment'>-- it's assumed that an encoding spec has been tried to parse before guessing the encoding.</span>
-<a name="line-180"></a><span class='comment'>--</span>
-<a name="line-181"></a><span class='comment'>-- UTF-8 is the default encoding</span>
-<a name="line-182"></a><span class='comment'>--</span>
-<a name="line-183"></a><span class='comment'>-- other supported encodings are ISO-8859-1 (also known as ISO-Latin-1),</span>
-<a name="line-184"></a><span class='comment'>-- US-ASCII, UTF-16 or ISO-10646-UCS-2, UTF-16BE, UTF-16LE</span>
-<a name="line-185"></a>
-<a name="line-186"></a><a name="guessDocEncoding"></a><span class='definition'>guessDocEncoding</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-187"></a><span class='definition'>guessDocEncoding</span>
-<a name="line-188"></a>    <span class='keyglyph'>=</span> <span class='varid'>addDocEncoding</span>
-<a name="line-189"></a>      <span class='varop'>`whenM`</span> <span class='varid'>isRoot</span>
-<a name="line-190"></a>    <span class='keyword'>where</span>
-<a name="line-191"></a>    <span class='varid'>addDocEncoding</span> <span class='varid'>n'</span>
-<a name="line-192"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-193"></a>	  <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span> <span class='str'>"guessDocEncoding: encoding is "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>guess</span><span class='layout'>)</span>
-<a name="line-194"></a>	  <span class='layout'>(</span> <span class='varid'>encFilter</span> <span class='layout'>(</span><span class='varid'>getDecodingFct</span> <span class='varid'>guess</span><span class='layout'>)</span>
-<a name="line-195"></a>	    <span class='varop'>.&gt;&gt;</span>
-<a name="line-196"></a>	    <span class='varid'>issueError</span>
-<a name="line-197"></a>	    <span class='varop'>.&gt;&gt;</span>
-<a name="line-198"></a>	    <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>addAttr</span> <span class='varid'>transferEncoding</span> <span class='varid'>guess</span><span class='layout'>)</span> <span class='layout'>)</span> <span class='varid'>n'</span>
-<a name="line-199"></a>	  <span class='keyword'>where</span>
-<a name="line-200"></a>	  <span class='varid'>guess</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span>
-<a name="line-201"></a>	  <span class='varid'>guess</span>	<span class='keyglyph'>=</span> <span class='varid'>head</span> <span class='varop'>.</span> <span class='varid'>filter</span> <span class='layout'>(</span><span class='varid'>not</span> <span class='varop'>.</span> <span class='varid'>null</span><span class='layout'>)</span>
-<a name="line-202"></a>		  <span class='varop'>$</span> <span class='keyglyph'>[</span> <span class='layout'>(</span><span class='varid'>guessEncoding</span> <span class='varop'>.</span> <span class='varid'>showXText</span> <span class='varop'>.</span> <span class='varid'>getChildren</span><span class='layout'>)</span> <span class='varid'>n'</span>
-<a name="line-203"></a>		    <span class='layout'>,</span> <span class='varid'>valueOf</span> <span class='varid'>transferEncoding</span> <span class='varid'>n'</span>
-<a name="line-204"></a>		    <span class='layout'>,</span> <span class='varid'>valueOf</span> <span class='varid'>a_encoding</span> <span class='varid'>n'</span>
-<a name="line-205"></a>		    <span class='layout'>,</span> <span class='varid'>utf8</span>
-<a name="line-206"></a>		    <span class='keyglyph'>]</span>
-<a name="line-207"></a>	  <span class='varid'>encFilter</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='varid'>fct</span><span class='layout'>)</span>
-<a name="line-208"></a>	      <span class='keyglyph'>=</span> <span class='varid'>decodeDoc</span> <span class='varid'>fct</span>
-<a name="line-209"></a>
-<a name="line-210"></a>	  <span class='varid'>encFilter</span> <span class='conid'>Nothing</span>
-<a name="line-211"></a>	      <span class='keyglyph'>=</span> <span class='varid'>addFatal</span> <span class='layout'>(</span><span class='str'>"encoding scheme not supported: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>guess</span><span class='layout'>)</span>
-<a name="line-212"></a>
-<a name="line-213"></a>	  <span class='varid'>decodeDoc</span> <span class='varid'>df</span> <span class='varid'>n''</span>
-<a name="line-214"></a>	      <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>errs</span>	<span class='keyglyph'>=</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>xtext</span> <span class='layout'>(</span><span class='varid'>normalizeNL</span> <span class='varid'>res</span><span class='layout'>)</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>n''</span>
-<a name="line-215"></a>	      <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>	<span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>xtext</span> <span class='str'>""</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-216"></a>				    <span class='varop'>.&gt;&gt;</span>
-<a name="line-217"></a>				    <span class='layout'>(</span> <span class='varid'>issueDecodingErrs</span>
-<a name="line-218"></a>				      <span class='varop'>+++&gt;&gt;</span>
-<a name="line-219"></a>				      <span class='varid'>addFatal</span> <span class='str'>"decoding errors detected"</span>
-<a name="line-220"></a>				    <span class='layout'>)</span>
-<a name="line-221"></a>				  <span class='layout'>)</span> <span class='varid'>n''</span>
-<a name="line-222"></a>	      <span class='keyword'>where</span>
-<a name="line-223"></a>	      <span class='varid'>str</span> <span class='keyglyph'>=</span> <span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>getChildren</span> <span class='varop'>$</span> <span class='varid'>n''</span>
-<a name="line-224"></a>	      <span class='layout'>(</span><span class='varid'>res</span><span class='layout'>,</span> <span class='varid'>errs</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>df</span> <span class='varid'>str</span>
-<a name="line-225"></a>	      <span class='varid'>issueDecodingErrs</span> <span class='keyglyph'>=</span> <span class='varid'>catM</span> <span class='varop'>.</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>issueErr</span> <span class='varop'>.</span> <span class='layout'>(</span><span class='varid'>guess</span> <span class='varop'>++</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='layout'>(</span><span class='str'>" encoding error"</span> <span class='varop'>++</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>errs</span>
-<a name="line-226"></a>
-<a name="line-227"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-228"></a>
-<a name="line-229"></a><a name="getDefaultURI"></a><span class='definition'>getDefaultURI</span>	<span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>String</span>
-<a name="line-230"></a><span class='definition'>getDefaultURI</span>
-<a name="line-231"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-232"></a>      <span class='varid'>uri</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParam</span> <span class='varid'>transferDefaultURI</span>
-<a name="line-233"></a>      <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>uri</span>
-<a name="line-234"></a>	 <span class='keyword'>then</span> <span class='keyword'>do</span>
-<a name="line-235"></a>	      <span class='varid'>setDefaultURI</span>
-<a name="line-236"></a>	      <span class='varid'>getDefaultURI</span>
-<a name="line-237"></a>	 <span class='keyword'>else</span> <span class='varid'>return</span> <span class='varid'>uri</span>
-<a name="line-238"></a>
-<a name="line-239"></a><span class='comment'>-- |</span>
-<a name="line-240"></a><span class='comment'>-- set the base URI, all other URIs are handled relative to this base URI</span>
-<a name="line-241"></a><span class='comment'>--</span>
-<a name="line-242"></a><span class='comment'>-- the default base URI is @file:\/\/\/\&lt;current-working-dir\&gt;\/@</span>
-<a name="line-243"></a><span class='comment'>--</span>
-<a name="line-244"></a><span class='comment'>-- see also : 'getBaseURI'</span>
-<a name="line-245"></a>
-<a name="line-246"></a><a name="setBaseURI"></a><span class='definition'>setBaseURI</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>()</span>
-<a name="line-247"></a><span class='definition'>setBaseURI</span> <span class='varid'>str</span>
-<a name="line-248"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-249"></a>      <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"setBaseURI: new base URI: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>str</span><span class='layout'>)</span>
-<a name="line-250"></a>      <span class='varid'>setSysParam</span> <span class='varid'>transferURI</span> <span class='varid'>str</span>
-<a name="line-251"></a>
-<a name="line-252"></a><span class='comment'>-- |</span>
-<a name="line-253"></a><span class='comment'>-- read the current base URI</span>
-<a name="line-254"></a><span class='comment'>--</span>
-<a name="line-255"></a><span class='comment'>-- see also : 'setBaseURI'</span>
-<a name="line-256"></a>
-<a name="line-257"></a><a name="getBaseURI"></a><span class='definition'>getBaseURI</span>	<span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>String</span>
-<a name="line-258"></a><span class='definition'>getBaseURI</span>
-<a name="line-259"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-260"></a>      <span class='varid'>uri</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParam</span> <span class='varid'>transferURI</span>
-<a name="line-261"></a>      <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>uri</span>
-<a name="line-262"></a>	 <span class='keyword'>then</span> <span class='keyword'>do</span>
-<a name="line-263"></a>	      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getDefaultURI</span>
-<a name="line-264"></a>	      <span class='varid'>setBaseURI</span> <span class='varid'>res</span>
-<a name="line-265"></a>	      <span class='varid'>getBaseURI</span>
-<a name="line-266"></a>	 <span class='keyword'>else</span> <span class='varid'>return</span> <span class='varid'>uri</span>
-<a name="line-267"></a>
-<a name="line-268"></a><span class='comment'>-- |</span>
-<a name="line-269"></a><span class='comment'>-- transform an URI into an absolut URI using the current base URI</span>
-<a name="line-270"></a><span class='comment'>--</span>
-<a name="line-271"></a><span class='comment'>--</span>
-<a name="line-272"></a><span class='comment'>--    * 1.parameter uri :  the URI as string</span>
-<a name="line-273"></a><span class='comment'>--</span>
-<a name="line-274"></a><span class='comment'>--</span>
-<a name="line-275"></a><span class='comment'>--    - returns : the absolut URI as string or \"\" in case of an error</span>
-<a name="line-276"></a>
-<a name="line-277"></a><a name="getAbsolutURI"></a><span class='definition'>getAbsolutURI</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>String</span>
-<a name="line-278"></a><span class='definition'>getAbsolutURI</span> <span class='varid'>uri</span>
-<a name="line-279"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-280"></a>      <span class='varid'>baseUri</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getBaseURI</span>
-<a name="line-281"></a>      <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>expandURI</span> <span class='varid'>uri</span> <span class='varid'>baseUri</span>
-<a name="line-282"></a>
-<a name="line-283"></a><a name="expandURI"></a><span class='definition'>expandURI</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-284"></a><span class='definition'>expandURI</span> <span class='varid'>uri</span> <span class='varid'>base</span>
-<a name="line-285"></a>    <span class='keyglyph'>=</span> <span class='varid'>fromMaybe</span> <span class='str'>""</span> <span class='varop'>$</span> <span class='varid'>expand</span>
-<a name="line-286"></a>    <span class='keyword'>where</span>
-<a name="line-287"></a>    <span class='varid'>expand</span> <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-288"></a>	     <span class='varid'>base'</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>parseURIReference</span> <span class='varid'>base</span>
-<a name="line-289"></a>	     <span class='varid'>uri'</span>  <span class='keyglyph'>&lt;-</span> <span class='varid'>parseURIReference</span> <span class='varid'>uri</span>
-<a name="line-290"></a>	     <span class='varid'>abs'</span>  <span class='keyglyph'>&lt;-</span> <span class='varid'>relativeTo</span> <span class='varid'>uri'</span> <span class='varid'>base'</span>
-<a name="line-291"></a>	     <span class='varid'>return</span> <span class='varop'>$</span> <span class='varid'>show</span> <span class='varid'>abs'</span>
-<a name="line-292"></a>
-<a name="line-293"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-294"></a>
-<a name="line-295"></a><a name="setStandAloneFilter"></a><span class='definition'>setStandAloneFilter</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-296"></a><span class='definition'>setStandAloneFilter</span>
-<a name="line-297"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span> <span class='varid'>setStandAlone</span>
-<a name="line-298"></a>      <span class='keyword'>where</span>
-<a name="line-299"></a>      <span class='varid'>setStandAlone</span> <span class='varid'>t</span>
-<a name="line-300"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-301"></a>	    <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>standalone</span>
-<a name="line-302"></a>	       <span class='keyword'>then</span> <span class='varid'>return</span> <span class='conid'>()</span>
-<a name="line-303"></a>	       <span class='keyword'>else</span> <span class='keyword'>do</span>
-<a name="line-304"></a>		    <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"setStandAloneFilter: standalone="</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>standaloneVal</span><span class='layout'>)</span>
-<a name="line-305"></a>		    <span class='varid'>setSysParam</span> <span class='varid'>a_standalone</span> <span class='varid'>standaloneVal</span>
-<a name="line-306"></a>	    <span class='keyword'>where</span>
-<a name="line-307"></a>	    <span class='varid'>standalone</span>	<span class='keyglyph'>=</span> <span class='varid'>getValue</span> <span class='varid'>a_standalone</span> <span class='varid'>t</span>
-<a name="line-308"></a>	    <span class='varid'>standaloneVal</span>	<span class='keyglyph'>=</span> <span class='varid'>showXText</span> <span class='varid'>standalone</span>
-<a name="line-309"></a>
-<a name="line-310"></a><span class='comment'>-- |</span>
-<a name="line-311"></a><span class='comment'>-- predicate for testing the standalone document attribute</span>
-<a name="line-312"></a>
-<a name="line-313"></a><a name="isStandaloneDocument"></a><span class='definition'>isStandaloneDocument</span>	<span class='keyglyph'>::</span> <span class='conid'>XState</span> <span class='varid'>state</span> <span class='conid'>Bool</span>
-<a name="line-314"></a><span class='definition'>isStandaloneDocument</span>
-<a name="line-315"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-316"></a>      <span class='varid'>val</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getSysParam</span> <span class='varid'>a_standalone</span>
-<a name="line-317"></a>      <span class='varid'>return</span> <span class='layout'>(</span><span class='varid'>val</span> <span class='varop'>==</span> <span class='str'>"yes"</span><span class='layout'>)</span>
-<a name="line-318"></a>
-<a name="line-319"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-320"></a>
-<a name="line-321"></a><span class='comment'>-- |</span>
-<a name="line-322"></a><span class='comment'>-- the hard io operations</span>
-<a name="line-323"></a><span class='comment'>--</span>
-<a name="line-324"></a><span class='comment'>-- for reading a file or accessing a document via http</span>
-<a name="line-325"></a><span class='comment'>-- input must be a root node with a @source@ attribute specifying the URI</span>
-<a name="line-326"></a>
-<a name="line-327"></a><a name="getUrlContents"></a><span class='definition'>getUrlContents</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-328"></a><span class='definition'>getUrlContents</span>
-<a name="line-329"></a>    <span class='keyglyph'>=</span>  <span class='varid'>getCont</span>
-<a name="line-330"></a>      <span class='varop'>`whenM`</span> <span class='varid'>isRoot</span>
-<a name="line-331"></a>    <span class='keyword'>where</span>
-<a name="line-332"></a>    <span class='varid'>getCont</span> <span class='varid'>n'</span>
-<a name="line-333"></a>	<span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-334"></a>	  <span class='varid'>trace</span> <span class='num'>1</span> <span class='layout'>(</span><span class='str'>"getUrlContent: reading "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>src</span><span class='layout'>)</span>
-<a name="line-335"></a>	  <span class='varid'>uri</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>getAbsolutURI</span> <span class='varid'>src</span>
-<a name="line-336"></a>	  <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>uri</span>
-<a name="line-337"></a>	     <span class='keyword'>then</span> <span class='varid'>urlErr</span> <span class='layout'>(</span> <span class='str'>"illegal URI for input: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>src</span> <span class='layout'>)</span>
-<a name="line-338"></a>	     <span class='keyword'>else</span> <span class='keyword'>let</span>
-<a name="line-339"></a>		  <span class='varid'>uri'</span>     <span class='keyglyph'>=</span> <span class='varid'>fromJust</span> <span class='varop'>$</span> <span class='varid'>parseURIReference</span> <span class='varid'>uri</span>
-<a name="line-340"></a>		  <span class='varid'>proto</span>    <span class='keyglyph'>=</span> <span class='varid'>init</span> <span class='varop'>.</span> <span class='varid'>uriScheme</span> <span class='varop'>$</span> <span class='varid'>uri'</span>
-<a name="line-341"></a>		  <span class='varid'>handler</span>  <span class='keyglyph'>=</span> <span class='varid'>getProtocolHandler</span> <span class='varid'>proto</span>
-<a name="line-342"></a>		  <span class='keyword'>in</span>
-<a name="line-343"></a>		  <span class='layout'>(</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>addAttr</span> <span class='varid'>transferProtocol</span> <span class='varid'>proto</span>
-<a name="line-344"></a>			   <span class='varop'>.&gt;</span>
-<a name="line-345"></a>			   <span class='varid'>addAttr</span> <span class='varid'>transferURI</span> <span class='varid'>uri</span>
-<a name="line-346"></a>			  <span class='layout'>)</span>
-<a name="line-347"></a>		    <span class='varop'>.&gt;&gt;</span>
-<a name="line-348"></a>		    <span class='varid'>handler</span> <span class='varid'>uri'</span>
-<a name="line-349"></a>		  <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>n'</span>
-<a name="line-350"></a>	<span class='keyword'>where</span>
-<a name="line-351"></a>	<span class='varid'>src</span>        <span class='keyglyph'>=</span> <span class='varid'>valueOf</span> <span class='varid'>a_source</span> <span class='varid'>n'</span>
-<a name="line-352"></a>	<span class='varid'>urlErr</span> <span class='varid'>msg</span> <span class='keyglyph'>=</span> <span class='varid'>addFatal</span> <span class='varid'>msg</span> <span class='varid'>n'</span>
-<a name="line-353"></a>
-<a name="line-354"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-355"></a>
-<a name="line-356"></a><span class='comment'>-- |</span>
-<a name="line-357"></a><span class='comment'>-- compute the length of the data for a document read previously</span>
-<a name="line-358"></a><span class='comment'>-- by a call of 'getUrlContents. The result is stored as an attribute</span>
-<a name="line-359"></a><span class='comment'>-- value in the document root node. the attribute name is 'a_contentLength'</span>
-<a name="line-360"></a>
-<a name="line-361"></a><a name="getContentLength"></a><span class='definition'>getContentLength</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-362"></a><span class='definition'>getContentLength</span>
-<a name="line-363"></a>    <span class='keyglyph'>=</span> <span class='varid'>addAttrl</span> <span class='varid'>contentLengthAttr</span>
-<a name="line-364"></a>      <span class='varop'>`when`</span> <span class='varid'>isRoot</span>
-<a name="line-365"></a>      <span class='keyword'>where</span>
-<a name="line-366"></a>      <span class='varid'>http_contentLength</span>	<span class='keyglyph'>=</span> <span class='varid'>httpPrefix</span> <span class='varop'>++</span> <span class='str'>"Content-Length"</span>
-<a name="line-367"></a>
-<a name="line-368"></a>      <span class='varid'>contentLengthAttr</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-369"></a>      <span class='varid'>contentLengthAttr</span> <span class='varid'>t</span>
-<a name="line-370"></a>	  <span class='keyglyph'>=</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>hasAttr</span> <span class='varid'>a_contentLength</span>
-<a name="line-371"></a>		     <span class='conop'>:-&gt;</span> <span class='varid'>none</span>
-<a name="line-372"></a>		   <span class='layout'>,</span> <span class='varid'>hasAttr</span> <span class='varid'>http_contentLength</span>
-<a name="line-373"></a>		     <span class='conop'>:-&gt;</span> <span class='varid'>mkXAttr</span> <span class='varid'>a_contentLength</span> <span class='layout'>(</span><span class='varid'>getValue</span> <span class='varid'>http_contentLength</span><span class='layout'>)</span>
-<a name="line-374"></a>		   <span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-375"></a>                     <span class='conop'>:-&gt;</span> <span class='varid'>mkXAttr</span> <span class='varid'>a_contentLength</span> <span class='varid'>getLength</span>
-<a name="line-376"></a>		   <span class='keyglyph'>]</span> <span class='varid'>t</span>
-<a name="line-377"></a>
-<a name="line-378"></a>      <span class='varid'>getLength</span>			<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-379"></a>      <span class='varid'>getLength</span> <span class='varid'>t</span>
-<a name="line-380"></a>	  <span class='keyglyph'>=</span> <span class='varid'>xtext</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varop'>.</span> <span class='varid'>length</span> <span class='varop'>.</span> <span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>getChildren</span> <span class='varop'>$</span> <span class='varid'>t</span><span class='layout'>)</span>
-<a name="line-381"></a>
-<a name="line-382"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlOutput.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlOutput.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlOutput.html
+++ /dev/null
@@ -1,176 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- output functions</span>
-<a name="line-3"></a><span class='comment'>-- implemented as filer</span>
-<a name="line-4"></a>
-<a name="line-5"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-6"></a>    <span class='layout'>(</span> <span class='varid'>putXmlDoc</span>
-<a name="line-7"></a>    <span class='layout'>,</span> <span class='varid'>putXmlDocToFile</span>
-<a name="line-8"></a>    <span class='layout'>,</span> <span class='varid'>putXmlTree</span>	<span class='comment'>-- for trace output</span>
-<a name="line-9"></a>    <span class='layout'>,</span> <span class='varid'>putXmlSource</span>	<span class='comment'>--  "    "     "</span>
-<a name="line-10"></a>
-<a name="line-11"></a>    <span class='layout'>,</span> <span class='varid'>hPutXmlDoc</span>
-<a name="line-12"></a>    <span class='layout'>,</span> <span class='varid'>hPutXmlTree</span>
-<a name="line-13"></a>    <span class='layout'>,</span> <span class='varid'>hPutXmlSource</span>
-<a name="line-14"></a>
-<a name="line-15"></a>    <span class='layout'>,</span> <span class='varid'>traceF</span>
-<a name="line-16"></a>    <span class='layout'>,</span> <span class='varid'>traceMsg</span>
-<a name="line-17"></a>    <span class='layout'>,</span> <span class='varid'>traceTree</span>
-<a name="line-18"></a>    <span class='layout'>,</span> <span class='varid'>traceSource</span>
-<a name="line-19"></a>    <span class='layout'>)</span>
-<a name="line-20"></a>
-<a name="line-21"></a><span class='keyword'>where</span>
-<a name="line-22"></a>
-<a name="line-23"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-24"></a>
-<a name="line-25"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-26"></a>
-<a name="line-27"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>EditFilters</span>	<span class='layout'>(</span> <span class='varid'>indentDoc</span>
-<a name="line-28"></a>					<span class='layout'>,</span> <span class='varid'>numberLinesInXmlDoc</span>
-<a name="line-29"></a>					<span class='layout'>,</span> <span class='varid'>treeRepOfXmlDoc</span>
-<a name="line-30"></a>					<span class='layout'>,</span> <span class='varid'>addHeadlineToXmlDoc</span>
-<a name="line-31"></a>					<span class='layout'>)</span>
-<a name="line-32"></a>
-<a name="line-33"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span>
-<a name="line-34"></a><span class='keyword'>import</span> <span class='conid'>System</span><span class='varop'>.</span><span class='conid'>IO</span><span class='varop'>.</span><span class='conid'>Error</span>
-<a name="line-35"></a>
-<a name="line-36"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-37"></a>
-<a name="line-38"></a><span class='comment'>-- |</span>
-<a name="line-39"></a><span class='comment'>-- document output for standard output</span>
-<a name="line-40"></a><span class='comment'>--</span>
-<a name="line-41"></a><span class='comment'>-- see also : 'hPutXmlDoc'</span>
-<a name="line-42"></a>
-<a name="line-43"></a><a name="putXmlDoc"></a><span class='definition'>putXmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-44"></a><span class='definition'>putXmlDoc</span>	<span class='keyglyph'>=</span> <span class='varid'>hPutXmlDoc</span> <span class='varid'>stdout</span>
-<a name="line-45"></a>
-<a name="line-46"></a><span class='comment'>-- |</span>
-<a name="line-47"></a><span class='comment'>-- document output for arbitrary files.</span>
-<a name="line-48"></a><span class='comment'>--</span>
-<a name="line-49"></a><span class='comment'>-- Result is the input document</span>
-<a name="line-50"></a>
-<a name="line-51"></a><a name="hPutXmlDoc"></a><span class='definition'>hPutXmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>Handle</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-52"></a><span class='definition'>hPutXmlDoc</span> <span class='varid'>handle</span> <span class='varid'>t</span>
-<a name="line-53"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-54"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>try</span> <span class='layout'>(</span><span class='varid'>hPutStr</span> <span class='varid'>handle</span> <span class='varid'>content</span><span class='layout'>)</span>
-<a name="line-55"></a>      <span class='keyword'>case</span> <span class='varid'>res</span> <span class='keyword'>of</span>
-<a name="line-56"></a>        <span class='conid'>Left</span> <span class='varid'>ioerr</span>
-<a name="line-57"></a>	    <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span> <span class='varid'>issueFatal</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varid'>ioerr</span><span class='layout'>)</span>
-<a name="line-58"></a>		 <span class='varop'>+++&gt;&gt;</span>
-<a name="line-59"></a>		 <span class='varid'>thisM</span>
-<a name="line-60"></a>	       <span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-61"></a>	<span class='conid'>Right</span> <span class='keyword'>_</span>
-<a name="line-62"></a>	    <span class='keyglyph'>-&gt;</span> <span class='varid'>thisM</span> <span class='varid'>t</span>
-<a name="line-63"></a>
-<a name="line-64"></a>    <span class='keyword'>where</span>
-<a name="line-65"></a>    <span class='varid'>content</span> <span class='keyglyph'>=</span> <span class='varid'>xshow</span> <span class='varop'>.</span> <span class='varid'>getChildren</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-66"></a>
-<a name="line-67"></a><span class='comment'>-- |</span>
-<a name="line-68"></a><span class='comment'>-- document output on a given file name</span>
-<a name="line-69"></a><span class='comment'>--</span>
-<a name="line-70"></a><span class='comment'>-- Result is the input document</span>
-<a name="line-71"></a><span class='comment'>--</span>
-<a name="line-72"></a><span class='comment'>-- see also : 'hPutXmlDoc', 'putXmlDoc'</span>
-<a name="line-73"></a>
-<a name="line-74"></a><a name="putXmlDocToFile"></a><span class='definition'>putXmlDocToFile</span>	<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-75"></a><span class='definition'>putXmlDocToFile</span> <span class='varid'>fn</span> <span class='varid'>t</span>
-<a name="line-76"></a>    <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-77"></a>      <span class='varid'>res</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>try</span> <span class='layout'>(</span><span class='varid'>openFile</span> <span class='varid'>fn</span> <span class='conid'>WriteMode</span><span class='layout'>)</span>
-<a name="line-78"></a>      <span class='keyword'>case</span> <span class='varid'>res</span> <span class='keyword'>of</span>
-<a name="line-79"></a>        <span class='conid'>Left</span> <span class='varid'>ioerr</span>
-<a name="line-80"></a>	    <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span> <span class='varid'>issueFatal</span> <span class='layout'>(</span><span class='varid'>show</span> <span class='varid'>ioerr</span><span class='layout'>)</span>
-<a name="line-81"></a>		 <span class='varop'>+++&gt;&gt;</span>
-<a name="line-82"></a>		 <span class='varid'>thisM</span>
-<a name="line-83"></a>	       <span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-84"></a>	<span class='conid'>Right</span> <span class='varid'>h</span>
-<a name="line-85"></a>	    <span class='keyglyph'>-&gt;</span> <span class='keyword'>do</span>
-<a name="line-86"></a>	       <span class='varid'>t'</span> <span class='keyglyph'>&lt;-</span> <span class='varid'>hPutXmlDoc</span> <span class='varid'>h</span> <span class='varid'>t</span>
-<a name="line-87"></a>	       <span class='varid'>io</span> <span class='varop'>$</span> <span class='varid'>try</span> <span class='layout'>(</span><span class='varid'>hClose</span> <span class='varid'>h</span><span class='layout'>)</span>
-<a name="line-88"></a>	       <span class='varid'>trace</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"document written to file: "</span> <span class='varop'>++</span> <span class='varid'>fn</span><span class='layout'>)</span>
-<a name="line-89"></a>	       <span class='varid'>return</span> <span class='varid'>t'</span>
-<a name="line-90"></a>
-<a name="line-91"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-92"></a>
-<a name="line-93"></a><span class='comment'>-- |</span>
-<a name="line-94"></a><span class='comment'>-- output of tree representation for trace</span>
-<a name="line-95"></a>
-<a name="line-96"></a><a name="hPutXmlTree"></a><span class='definition'>hPutXmlTree</span>	<span class='keyglyph'>::</span> <span class='conid'>Handle</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-97"></a><span class='definition'>hPutXmlTree</span> <span class='varid'>handle</span>
-<a name="line-98"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span>
-<a name="line-99"></a>      <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>treeRepOfXmlDoc</span>
-<a name="line-100"></a>		     <span class='varop'>.&gt;</span>
-<a name="line-101"></a>		     <span class='varid'>addHeadlineToXmlDoc</span>
-<a name="line-102"></a>		    <span class='layout'>)</span>
-<a name="line-103"></a>              <span class='varop'>.&gt;&gt;</span>
-<a name="line-104"></a>              <span class='varid'>hPutXmlDoc</span> <span class='varid'>handle</span>
-<a name="line-105"></a>              <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-106"></a>      <span class='layout'>)</span>
-<a name="line-107"></a>
-<a name="line-108"></a><a name="putXmlTree"></a><span class='definition'>putXmlTree</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-109"></a><span class='definition'>putXmlTree</span>	<span class='keyglyph'>=</span> <span class='varid'>hPutXmlTree</span> <span class='varid'>stdout</span>
-<a name="line-110"></a>
-<a name="line-111"></a><span class='comment'>-- |</span>
-<a name="line-112"></a><span class='comment'>-- output of text representation for trace</span>
-<a name="line-113"></a>
-<a name="line-114"></a><a name="hPutXmlSource"></a><span class='definition'>hPutXmlSource</span>	<span class='keyglyph'>::</span> <span class='conid'>Handle</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-115"></a><span class='definition'>hPutXmlSource</span> <span class='varid'>handle</span>
-<a name="line-116"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span>
-<a name="line-117"></a>      <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>n</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>liftMf</span> <span class='layout'>(</span> <span class='layout'>(</span> <span class='varid'>rootTag</span>
-<a name="line-118"></a>			<span class='keyglyph'>[</span> <span class='varid'>sattr</span> <span class='varid'>a_source</span> <span class='str'>"internal tree"</span> <span class='keyglyph'>]</span>
-<a name="line-119"></a>			<span class='keyglyph'>[</span> <span class='varid'>this</span> <span class='keyglyph'>]</span>
-<a name="line-120"></a>			<span class='varop'>`whenNot`</span> <span class='varid'>isRoot</span>
-<a name="line-121"></a>		      <span class='layout'>)</span>
-<a name="line-122"></a>		      <span class='varop'>.&gt;</span>
-<a name="line-123"></a>		      <span class='varid'>indentDoc</span>
-<a name="line-124"></a>		      <span class='varop'>.&gt;</span>
-<a name="line-125"></a>		      <span class='varid'>numberLinesInXmlDoc</span>
-<a name="line-126"></a>		      <span class='varop'>.&gt;</span>
-<a name="line-127"></a>		      <span class='varid'>addHeadlineToXmlDoc</span>
-<a name="line-128"></a>		    <span class='layout'>)</span>
-<a name="line-129"></a>              <span class='varop'>.&gt;&gt;</span>
-<a name="line-130"></a>              <span class='varid'>hPutXmlDoc</span> <span class='varid'>handle</span>
-<a name="line-131"></a>              <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-132"></a>      <span class='layout'>)</span>
-<a name="line-133"></a>
-<a name="line-134"></a><a name="putXmlSource"></a><span class='definition'>putXmlSource</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-135"></a><span class='definition'>putXmlSource</span>	<span class='keyglyph'>=</span> <span class='varid'>hPutXmlSource</span> <span class='varid'>stdout</span>
-<a name="line-136"></a>
-<a name="line-137"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-138"></a>
-<a name="line-139"></a><span class='comment'>-- trace filter for inserting trace operations</span>
-<a name="line-140"></a><span class='comment'>-- into a filter sequence</span>
-<a name="line-141"></a><span class='comment'>--</span>
-<a name="line-142"></a><span class='comment'>--    * 1.parameter level : like in 'traceCmd'</span>
-<a name="line-143"></a><span class='comment'>--</span>
-<a name="line-144"></a><span class='comment'>--    - 2.parameter cmd : the output filter, e.g. putXmlTree or putXmlSource</span>
-<a name="line-145"></a><span class='comment'>--</span>
-<a name="line-146"></a><span class='comment'>--    - 3.parameter : the tree</span>
-<a name="line-147"></a><span class='comment'>--</span>
-<a name="line-148"></a><span class='comment'>--    - returns: the tree</span>
-<a name="line-149"></a>
-<a name="line-150"></a><a name="traceF"></a><span class='definition'>traceF</span>		<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-151"></a><span class='definition'>traceF</span> <span class='varid'>level</span> <span class='varid'>cmd</span>
-<a name="line-152"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>t</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>traceCmd</span> <span class='varid'>level</span> <span class='layout'>(</span><span class='varid'>cmd</span> <span class='varid'>t</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-153"></a>
-<a name="line-154"></a><a name="traceMsg"></a><span class='definition'>traceMsg</span>	<span class='keyglyph'>::</span> <span class='conid'>Int</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-155"></a><span class='definition'>traceMsg</span> <span class='varid'>level</span> <span class='varid'>msg</span>
-<a name="line-156"></a>    <span class='keyglyph'>=</span> <span class='varid'>performAction</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='keyword'>_</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>trace</span> <span class='varid'>level</span> <span class='varid'>msg</span><span class='layout'>)</span>
-<a name="line-157"></a>
-<a name="line-158"></a><a name="traceTree"></a><span class='definition'>traceTree</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-159"></a><span class='definition'>traceTree</span>
-<a name="line-160"></a>    <span class='keyglyph'>=</span> <span class='varid'>traceF</span> <span class='num'>4</span> <span class='layout'>(</span><span class='varid'>hPutXmlTree</span> <span class='varid'>stderr</span><span class='layout'>)</span>
-<a name="line-161"></a>
-<a name="line-162"></a><a name="traceSource"></a><span class='definition'>traceSource</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-163"></a><span class='definition'>traceSource</span>
-<a name="line-164"></a>    <span class='keyglyph'>=</span> <span class='varid'>traceF</span> <span class='num'>3</span> <span class='layout'>(</span><span class='varid'>hPutXmlSource</span> <span class='varid'>stderr</span><span class='layout'>)</span>
-<a name="line-165"></a>
-<a name="line-166"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlParser.html b/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlParser.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser-XmlParser.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- Xml Parser: the main parse filter </span>
-<a name="line-3"></a>
-<a name="line-4"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlParser</span>
-<a name="line-5"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlParsec</span>
-<a name="line-6"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlTokenParser</span>
-<a name="line-7"></a>    <span class='layout'>,</span> <span class='varid'>parseXmlDoc</span>
-<a name="line-8"></a>    <span class='layout'>,</span> <span class='varid'>substXmlEntities</span>
-<a name="line-9"></a>    <span class='layout'>)</span>
-<a name="line-10"></a><span class='keyword'>where</span>
-<a name="line-11"></a>
-<a name="line-12"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-13"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlTokenParser</span>
-<a name="line-16"></a>
-<a name="line-17"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlEntities</span>
-<a name="line-18"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlParsec</span>
-<a name="line-19"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-20"></a>    <span class='layout'>(</span> <span class='varid'>traceTree</span>
-<a name="line-21"></a>    <span class='layout'>,</span> <span class='varid'>traceSource</span>
-<a name="line-22"></a>    <span class='layout'>,</span> <span class='varid'>traceMsg</span>
-<a name="line-23"></a>    <span class='layout'>)</span>
-<a name="line-24"></a>
-<a name="line-25"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-26"></a>
-<a name="line-27"></a><span class='comment'>-- |</span>
-<a name="line-28"></a><span class='comment'>-- The monadic parser for a whole document.</span>
-<a name="line-29"></a><span class='comment'>-- input must be a root node with a single text child.</span>
-<a name="line-30"></a><span class='comment'>-- Error messages are issued and global error state is set.</span>
-<a name="line-31"></a>
-<a name="line-32"></a><a name="parseXmlDoc"></a><span class='definition'>parseXmlDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>a</span>
-<a name="line-33"></a><span class='definition'>parseXmlDoc</span>
-<a name="line-34"></a>    <span class='keyglyph'>=</span> <span class='varid'>parseDoc</span>
-<a name="line-35"></a>      <span class='varop'>`whenM`</span> <span class='layout'>(</span> <span class='varid'>isRoot</span> <span class='varop'>.&gt;</span> <span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>isXText</span> <span class='layout'>)</span>
-<a name="line-36"></a>      <span class='keyword'>where</span>
-<a name="line-37"></a>      <span class='varid'>parseDoc</span> <span class='varid'>t</span>
-<a name="line-38"></a>	  <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>traceMsg</span> <span class='num'>2</span> <span class='layout'>(</span><span class='str'>"parseXmlDoc: parse XML document "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>loc</span><span class='layout'>)</span>
-<a name="line-39"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-40"></a>	      <span class='varid'>parser</span>
-<a name="line-41"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-42"></a>	      <span class='varid'>liftMf</span> <span class='varid'>checkRes</span>
-<a name="line-43"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-44"></a>	      <span class='varid'>traceTree</span>
-<a name="line-45"></a>	      <span class='varop'>.&gt;&gt;</span>
-<a name="line-46"></a>	      <span class='varid'>traceSource</span>
-<a name="line-47"></a>	    <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-48"></a>	  <span class='keyword'>where</span>
-<a name="line-49"></a>	  <span class='varid'>loc</span> <span class='keyglyph'>=</span> <span class='varid'>valueOf</span> <span class='varid'>a_source</span> <span class='varid'>t</span>			<span class='comment'>-- document name</span>
-<a name="line-50"></a>	  <span class='varid'>checkRes</span>
-<a name="line-51"></a>	      <span class='keyglyph'>=</span> <span class='varid'>setStatus</span> <span class='varid'>c_err</span> <span class='layout'>(</span><span class='str'>"parsing XML source "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>loc</span><span class='layout'>)</span>
-<a name="line-52"></a>	        <span class='varop'>`whenNot`</span>
-<a name="line-53"></a>	        <span class='varid'>getChildren</span>
-<a name="line-54"></a>	  <span class='varid'>parser</span>
-<a name="line-55"></a>	      <span class='keyglyph'>=</span> <span class='varid'>processChildrenM</span> <span class='layout'>(</span><span class='varid'>liftF</span> <span class='layout'>(</span><span class='varid'>parseXmlText</span> <span class='varid'>document'</span> <span class='varid'>loc</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-56"></a>
-<a name="line-57"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-58"></a>
-<a name="line-59"></a><span class='comment'>-- |</span>
-<a name="line-60"></a><span class='comment'>-- Filter for substitution of all occurences of the predefined XML entites quot, amp, lt, gt, apos</span>
-<a name="line-61"></a><span class='comment'>-- by equivalent character references</span>
-<a name="line-62"></a>
-<a name="line-63"></a><a name="substXmlEntities"></a><span class='definition'>substXmlEntities</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-64"></a><span class='definition'>substXmlEntities</span>
-<a name="line-65"></a>    <span class='keyglyph'>=</span> <span class='varid'>choice</span>
-<a name="line-66"></a>      <span class='keyglyph'>[</span> <span class='varid'>isXEntityRef</span>	<span class='conop'>:-&gt;</span> <span class='varid'>substEntity</span>
-<a name="line-67"></a>      <span class='layout'>,</span> <span class='varid'>isXTag</span>		<span class='conop'>:-&gt;</span> <span class='varid'>processAttr</span> <span class='layout'>(</span><span class='varid'>processChildren</span> <span class='varid'>substXmlEntities</span><span class='layout'>)</span>
-<a name="line-68"></a>      <span class='layout'>,</span> <span class='varid'>this</span>		<span class='conop'>:-&gt;</span> <span class='varid'>this</span>
-<a name="line-69"></a>      <span class='keyglyph'>]</span>
-<a name="line-70"></a>      <span class='keyword'>where</span>
-<a name="line-71"></a>      <span class='varid'>substEntity</span> <span class='varid'>t'</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XEntityRef</span> <span class='varid'>en</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-72"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='layout'>(</span><span class='varid'>lookup</span> <span class='varid'>en</span> <span class='varid'>xmlEntities</span><span class='layout'>)</span> <span class='keyword'>of</span>
-<a name="line-73"></a>	    <span class='conid'>Just</span> <span class='varid'>i</span>
-<a name="line-74"></a>		<span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>mkXCharRefTree</span> <span class='varid'>i</span><span class='keyglyph'>]</span>
-<a name="line-75"></a>	    <span class='conid'>Nothing</span>
-<a name="line-76"></a>		<span class='keyglyph'>-&gt;</span> <span class='varid'>this</span> <span class='varid'>t'</span>
-<a name="line-77"></a>
-<a name="line-78"></a>      <span class='varid'>substEntity</span> <span class='keyword'>_</span>					<span class='comment'>-- just for preventing ghc warning</span>
-<a name="line-79"></a>	  <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='str'>"substXmlEntities: illegal argument"</span>
-<a name="line-80"></a>
-<a name="line-81"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Parser.html b/doc/hxt-filter/src/Text-XML-HXT-Parser.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Parser.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- Simple parse functions.</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- the "main" building blocks for an application.</span>
-<a name="line-5"></a><span class='comment'>-- this module exports all important functions for parsing, validating and transforming XML.</span>
-<a name="line-6"></a><span class='comment'>-- it also exports all basic datatypes and functions of the toolbox.</span>
-<a name="line-7"></a><span class='comment'>--</span>
-<a name="line-8"></a>
-<a name="line-9"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span>
-<a name="line-10"></a>    <span class='layout'>(</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span>
-<a name="line-11"></a>
-<a name="line-12"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlParser</span>
-<a name="line-13"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>HtmlParser</span>
-<a name="line-14"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlInput</span>
-<a name="line-15"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-16"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>DTDProcessing</span>
-<a name="line-17"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>MainFunctions</span>
-<a name="line-18"></a>
-<a name="line-19"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>Validation</span>
-<a name="line-20"></a>    <span class='layout'>)</span>
-<a name="line-21"></a><span class='keyword'>where</span>
-<a name="line-22"></a>
-<a name="line-23"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span>
-<a name="line-24"></a>
-<a name="line-25"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlParser</span>
-<a name="line-26"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>HtmlParser</span>
-<a name="line-27"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlInput</span>
-<a name="line-28"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-29"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>DTDProcessing</span>
-<a name="line-30"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>MainFunctions</span>
-<a name="line-31"></a>
-<a name="line-32"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>Validation</span>
-<a name="line-33"></a>
-<a name="line-34"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-35"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-AttributeValueValidation.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-AttributeValueValidation.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-AttributeValueValidation.html
+++ /dev/null
@@ -1,367 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This module provides functions for validating attributes.</span>
-<a name="line-3"></a>
-<a name="line-4"></a><span class='comment'>-- The main functions are:</span>
-<a name="line-5"></a><span class='comment'>--</span>
-<a name="line-6"></a><span class='comment'>--  - Check if the attribute value meets the lexical constraints of its type</span>
-<a name="line-7"></a><span class='comment'>--</span>
-<a name="line-8"></a><span class='comment'>--  - Normalization of an attribute value</span>
-<a name="line-9"></a><span class='comment'>--</span>
-<a name="line-10"></a>
-<a name="line-11"></a><span class='comment'>-- Special namings in source code:</span>
-<a name="line-12"></a><span class='comment'>--</span>
-<a name="line-13"></a><span class='comment'>--  - nd - XDTD node</span>
-<a name="line-14"></a><span class='comment'>--</span>
-<a name="line-15"></a><span class='comment'>--  - n  - XTag node</span>
-<a name="line-16"></a><span class='comment'>--</span>
-<a name="line-17"></a>
-<a name="line-18"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>AttributeValueValidation</span>
-<a name="line-19"></a>    <span class='layout'>(</span> <span class='varid'>checkAttributeValue</span>
-<a name="line-20"></a>    <span class='layout'>,</span> <span class='varid'>normalizeAttributeValue</span>
-<a name="line-21"></a>    <span class='layout'>)</span>
-<a name="line-22"></a><span class='keyword'>where</span>
-<a name="line-23"></a>
-<a name="line-24"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlParser</span>
-<a name="line-25"></a>    <span class='layout'>(</span> <span class='varid'>parseNMToken</span>
-<a name="line-26"></a>    <span class='layout'>,</span> <span class='varid'>parseName</span>
-<a name="line-27"></a>    <span class='layout'>)</span>
-<a name="line-28"></a>
-<a name="line-29"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-30"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>Util</span>
-<a name="line-31"></a>
-<a name="line-32"></a><span class='comment'>-- |</span>
-<a name="line-33"></a><span class='comment'>-- Checks if the attribute value meets the lexical constraints of its type.</span>
-<a name="line-34"></a><span class='comment'>--</span>
-<a name="line-35"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-36"></a><span class='comment'>--</span>
-<a name="line-37"></a><span class='comment'>--    - 2.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-38"></a><span class='comment'>--</span>
-<a name="line-39"></a><span class='comment'>--    - returns : a function which takes an element (XTag or XDTD ATTLIST),</span>
-<a name="line-40"></a><span class='comment'>--                    checks if the attribute value meets the lexical constraints</span>
-<a name="line-41"></a><span class='comment'>--                    of its type and returns a list of errors</span>
-<a name="line-42"></a>
-<a name="line-43"></a><a name="checkAttributeValue"></a><span class='definition'>checkAttributeValue</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-44"></a><span class='definition'>checkAttributeValue</span> <span class='varid'>dtdPart</span> <span class='varid'>attrDecl</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='keyword'>_</span> <span class='sel'>_al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-45"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkValue</span> <span class='varid'>attrType</span> <span class='varid'>dtdPart</span> <span class='varid'>normalizedVal</span> <span class='varid'>attrDecl</span> <span class='varid'>n</span>
-<a name="line-46"></a>      <span class='keyword'>where</span>
-<a name="line-47"></a>      <span class='varid'>attrType</span>      <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_type</span> <span class='varid'>al</span>
-<a name="line-48"></a>      <span class='varid'>attrValue</span>     <span class='keyglyph'>=</span> <span class='varid'>valueOf</span> <span class='layout'>(</span><span class='varid'>getAttrName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-49"></a>      <span class='varid'>normalizedVal</span> <span class='keyglyph'>=</span> <span class='varid'>normalizeAttributeValue</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='varid'>attrDecl</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-50"></a>
-<a name="line-51"></a><span class='definition'>checkAttributeValue</span> <span class='varid'>dtdPart</span> <span class='varid'>attrDecl</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-52"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkValue</span> <span class='varid'>attrType</span> <span class='varid'>dtdPart</span> <span class='varid'>normalizedVal</span> <span class='varid'>attrDecl</span> <span class='varid'>n</span>
-<a name="line-53"></a>      <span class='keyword'>where</span>
-<a name="line-54"></a>      <span class='varid'>attrType</span>      <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_type</span> <span class='varid'>al</span>
-<a name="line-55"></a>      <span class='varid'>attrValue</span>     <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_default</span> <span class='varid'>al'</span>
-<a name="line-56"></a>      <span class='varid'>normalizedVal</span> <span class='keyglyph'>=</span> <span class='varid'>normalizeAttributeValue</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='varid'>attrDecl</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-57"></a>
-<a name="line-58"></a><span class='definition'>checkAttributeValue</span> <span class='keyword'>_</span> <span class='varid'>nd</span> <span class='varid'>n</span>
-<a name="line-59"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkAttributeValue: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-60"></a>
-<a name="line-61"></a>
-<a name="line-62"></a><span class='comment'>-- |</span>
-<a name="line-63"></a><span class='comment'>-- Dispatches the attibute check by the attribute type.</span>
-<a name="line-64"></a><span class='comment'>--</span>
-<a name="line-65"></a><span class='comment'>--    * 1.parameter typ :  the attribute type</span>
-<a name="line-66"></a><span class='comment'>--</span>
-<a name="line-67"></a><span class='comment'>--    - 2.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-68"></a><span class='comment'>--</span>
-<a name="line-69"></a><span class='comment'>--    - 3.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-70"></a><span class='comment'>--</span>
-<a name="line-71"></a><span class='comment'>--    - 4.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-72"></a><span class='comment'>--</span>
-<a name="line-73"></a><span class='comment'>--    - returns : a functions which takes an element (XTag or XDTD ATTLIST),</span>
-<a name="line-74"></a><span class='comment'>--                        checks if the attribute value meets the lexical constraints</span>
-<a name="line-75"></a><span class='comment'>--                        of its type and returns a list of errors</span>
-<a name="line-76"></a>
-<a name="line-77"></a><a name="checkValue"></a><span class='definition'>checkValue</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-78"></a><span class='definition'>checkValue</span> <span class='varid'>typ</span> <span class='varid'>dtdPart</span> <span class='varid'>attrValue</span> <span class='varid'>attrDecl</span>
-<a name="line-79"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_cdata</span>	<span class='keyglyph'>=</span> <span class='varid'>none</span>
-<a name="line-80"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_enumeration</span>	<span class='keyglyph'>=</span> <span class='varid'>checkValueEnumeration</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-81"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_entity</span>	<span class='keyglyph'>=</span> <span class='varid'>checkValueEntity</span> <span class='varid'>dtdPart</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-82"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_entities</span>	<span class='keyglyph'>=</span> <span class='varid'>checkValueEntities</span> <span class='varid'>dtdPart</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-83"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_id</span>		<span class='keyglyph'>=</span> <span class='varid'>checkValueId</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-84"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_idref</span>	<span class='keyglyph'>=</span> <span class='varid'>checkValueIdref</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-85"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_idrefs</span>	<span class='keyglyph'>=</span> <span class='varid'>checkValueIdrefs</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-86"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_nmtoken</span>	<span class='keyglyph'>=</span> <span class='varid'>checkValueNmtoken</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-87"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_nmtokens</span>	<span class='keyglyph'>=</span> <span class='varid'>checkValueNmtokens</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-88"></a>	<span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_notation</span>	<span class='keyglyph'>=</span> <span class='varid'>checkValueEnumeration</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-89"></a>	<span class='keyglyph'>|</span> <span class='varid'>otherwise</span>		<span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"Attribute type "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>typ</span> <span class='varop'>++</span> <span class='str'>" unknown."</span><span class='layout'>)</span>
-<a name="line-90"></a>
-<a name="line-91"></a><span class='comment'>-- |</span>
-<a name="line-92"></a><span class='comment'>-- Checks the value of Enumeration attribute types. (3.3.1 \/ p.27 in Spec)</span>
-<a name="line-93"></a><span class='comment'>--</span>
-<a name="line-94"></a><span class='comment'>--    * 1.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-95"></a><span class='comment'>--</span>
-<a name="line-96"></a><span class='comment'>--    - 2.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-97"></a>
-<a name="line-98"></a><a name="checkValueEnumeration"></a><span class='definition'>checkValueEnumeration</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-99"></a><span class='definition'>checkValueEnumeration</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-100"></a>    <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>attrValue</span> <span class='varop'>`elem`</span> <span class='varid'>enumVals</span>
-<a name="line-101"></a>      <span class='keyword'>then</span> <span class='varid'>none</span>
-<a name="line-102"></a>      <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getAttrName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" for element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getElemName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-103"></a>                <span class='str'>" must have a value from list "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>enumVals</span> <span class='varop'>++</span> <span class='str'>"."</span><span class='layout'>)</span>
-<a name="line-104"></a>      <span class='keyword'>where</span>
-<a name="line-105"></a>      <span class='varid'>enumVals</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span>
-<a name="line-106"></a>      <span class='varid'>enumVals</span> <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>getEnumVal</span><span class='layout'>)</span> <span class='varid'>cs</span>
-<a name="line-107"></a>
-<a name="line-108"></a>      <span class='varid'>getEnumVal</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-109"></a>      <span class='varid'>getEnumVal</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>NAME</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al'</span>
-<a name="line-110"></a>      <span class='varid'>getEnumVal</span> <span class='keyword'>_</span>                         <span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-111"></a>
-<a name="line-112"></a><span class='definition'>checkValueEnumeration</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-113"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkValueEnumeration: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-114"></a>
-<a name="line-115"></a>
-<a name="line-116"></a><span class='comment'>-- |</span>
-<a name="line-117"></a><span class='comment'>-- Checks the value of ENTITY attribute types. (3.3.1 \/ p.26 in Spec)</span>
-<a name="line-118"></a><span class='comment'>--</span>
-<a name="line-119"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node, to get the</span>
-<a name="line-120"></a><span class='comment'>--                    unparsed entity declarations</span>
-<a name="line-121"></a><span class='comment'>--</span>
-<a name="line-122"></a><span class='comment'>--    - 2.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-123"></a><span class='comment'>--</span>
-<a name="line-124"></a><span class='comment'>--    - 3.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-125"></a>
-<a name="line-126"></a><a name="checkValueEntity"></a><span class='definition'>checkValueEntity</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-127"></a><span class='definition'>checkValueEntity</span> <span class='varid'>dtdPart</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-128"></a>    <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>attrValue</span> <span class='varop'>`elem`</span> <span class='varid'>upEntities</span>
-<a name="line-129"></a>      <span class='keyword'>then</span> <span class='varid'>none</span>
-<a name="line-130"></a>      <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Entity "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attrValue</span> <span class='varop'>++</span> <span class='str'>" of attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getAttrName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-131"></a>                <span class='str'>" for element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getElemName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" is not unparsed. "</span> <span class='varop'>++</span>
-<a name="line-132"></a>                <span class='str'>"The following unparsed entities exist: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>upEntities</span> <span class='varop'>++</span> <span class='str'>"."</span><span class='layout'>)</span>
-<a name="line-133"></a>      <span class='keyword'>where</span>
-<a name="line-134"></a>      <span class='varid'>upEntities</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span>
-<a name="line-135"></a>      <span class='varid'>upEntities</span> <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>getEnumVal</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>isUnparsedEntity</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span><span class='layout'>)</span>
-<a name="line-136"></a>
-<a name="line-137"></a>      <span class='varid'>getEnumVal</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-138"></a>      <span class='varid'>getEnumVal</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ENTITY</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al'</span>
-<a name="line-139"></a>      <span class='varid'>getEnumVal</span> <span class='keyword'>_</span>                           <span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-140"></a>
-<a name="line-141"></a>
-<a name="line-142"></a><span class='definition'>checkValueEntity</span> <span class='keyword'>_</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-143"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkValueEntity: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-144"></a>
-<a name="line-145"></a>
-<a name="line-146"></a><span class='comment'>-- |</span>
-<a name="line-147"></a><span class='comment'>-- Checks the value of ENTITIES attribute types. (3.3.1 \/ p.26 in Spec)</span>
-<a name="line-148"></a><span class='comment'>--</span>
-<a name="line-149"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node, to get the</span>
-<a name="line-150"></a><span class='comment'>--                    unparsed entity declarations</span>
-<a name="line-151"></a><span class='comment'>--</span>
-<a name="line-152"></a><span class='comment'>--    - 2.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-153"></a><span class='comment'>--</span>
-<a name="line-154"></a><span class='comment'>--    - 3.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-155"></a>
-<a name="line-156"></a><a name="checkValueEntities"></a><span class='definition'>checkValueEntities</span> <span class='keyglyph'>::</span><span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-157"></a><span class='definition'>checkValueEntities</span> <span class='varid'>dtdPart</span> <span class='varid'>attrDecl</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-158"></a>    <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>valueList</span>
-<a name="line-159"></a>      <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getAttrName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" of element "</span> <span class='varop'>++</span>
-<a name="line-160"></a>                 <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getElemName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" must be one or more names."</span><span class='layout'>)</span>
-<a name="line-161"></a>      <span class='keyword'>else</span> <span class='varid'>cat</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>checkValueEntity</span> <span class='varid'>dtdPart</span> <span class='varid'>attrDecl</span><span class='layout'>)</span> <span class='varid'>valueList</span><span class='layout'>)</span>
-<a name="line-162"></a>      <span class='keyword'>where</span>
-<a name="line-163"></a>      <span class='varid'>valueList</span> <span class='keyglyph'>=</span> <span class='varid'>words</span> <span class='varid'>attrValue</span>
-<a name="line-164"></a>
-<a name="line-165"></a><span class='definition'>checkValueEntities</span> <span class='keyword'>_</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-166"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkValueEntities: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-167"></a>
-<a name="line-168"></a>
-<a name="line-169"></a><span class='comment'>-- |</span>
-<a name="line-170"></a><span class='comment'>-- Checks the value of NMTOKEN attribute types. (3.3.1 \/ p.26 in Spec)</span>
-<a name="line-171"></a><span class='comment'>--</span>
-<a name="line-172"></a><span class='comment'>--    * 1.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-173"></a><span class='comment'>--</span>
-<a name="line-174"></a><span class='comment'>--    - 2.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-175"></a>
-<a name="line-176"></a><a name="checkValueNmtoken"></a><span class='definition'>checkValueNmtoken</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-177"></a><span class='definition'>checkValueNmtoken</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-178"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkNmtoken</span> <span class='varid'>parseRes</span>
-<a name="line-179"></a>      <span class='keyword'>where</span>
-<a name="line-180"></a>      <span class='varid'>parseRes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span>
-<a name="line-181"></a>      <span class='varid'>parseRes</span> <span class='keyglyph'>=</span> <span class='varid'>parseNMToken</span> <span class='str'>""</span> <span class='layout'>(</span><span class='varid'>mkXTextTree</span> <span class='varid'>attrValue</span><span class='layout'>)</span>
-<a name="line-182"></a>
-<a name="line-183"></a>      <span class='varid'>checkNmtoken</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-184"></a>      <span class='varid'>checkNmtoken</span> <span class='layout'>(</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XError</span> <span class='keyword'>_</span> <span class='varid'>s</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-185"></a>          <span class='keyglyph'>=</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute value "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attrValue</span> <span class='varop'>++</span> <span class='str'>" of attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getAttrName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-186"></a>	         <span class='str'>" for element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getElemName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" must be a name token, "</span><span class='varop'>++</span> <span class='layout'>(</span><span class='varid'>lines</span> <span class='varid'>s</span><span class='layout'>)</span> <span class='varop'>!!</span> <span class='num'>1</span> <span class='varop'>++</span><span class='str'>"."</span><span class='layout'>)</span>
-<a name="line-187"></a>
-<a name="line-188"></a>      <span class='varid'>checkNmtoken</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='varid'>none</span>
-<a name="line-189"></a>
-<a name="line-190"></a>
-<a name="line-191"></a><span class='definition'>checkValueNmtoken</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-192"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkValueNmtoken: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-193"></a>
-<a name="line-194"></a>
-<a name="line-195"></a><span class='comment'>-- |</span>
-<a name="line-196"></a><span class='comment'>-- Checks the value of NMTOKENS attribute types. (3.3.1 \/ p.26 in Spec)</span>
-<a name="line-197"></a><span class='comment'>--</span>
-<a name="line-198"></a><span class='comment'>--    * 1.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-199"></a><span class='comment'>--</span>
-<a name="line-200"></a><span class='comment'>--    - 2.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-201"></a>
-<a name="line-202"></a><a name="checkValueNmtokens"></a><span class='definition'>checkValueNmtokens</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-203"></a><span class='definition'>checkValueNmtokens</span> <span class='varid'>attrDecl</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-204"></a>    <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>valueList</span>
-<a name="line-205"></a>      <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getAttrName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span><span class='str'>" of element "</span> <span class='varop'>++</span>
-<a name="line-206"></a>                 <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getElemName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" must be one or more name tokens."</span><span class='layout'>)</span>
-<a name="line-207"></a>      <span class='keyword'>else</span> <span class='varid'>cat</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>checkValueNmtoken</span> <span class='varid'>attrDecl</span><span class='layout'>)</span> <span class='varid'>valueList</span><span class='layout'>)</span>
-<a name="line-208"></a>      <span class='keyword'>where</span>
-<a name="line-209"></a>      <span class='varid'>valueList</span> <span class='keyglyph'>=</span> <span class='varid'>words</span> <span class='varid'>attrValue</span>
-<a name="line-210"></a>
-<a name="line-211"></a><span class='definition'>checkValueNmtokens</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-212"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkValueNmtokens: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-213"></a>
-<a name="line-214"></a>
-<a name="line-215"></a><span class='comment'>-- |</span>
-<a name="line-216"></a><span class='comment'>-- Checks the value of ID attribute types. (3.3.1 \/ p.25 in Spec)</span>
-<a name="line-217"></a><span class='comment'>--</span>
-<a name="line-218"></a><span class='comment'>--    * 1.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-219"></a><span class='comment'>--</span>
-<a name="line-220"></a><span class='comment'>--    - 2.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-221"></a>
-<a name="line-222"></a><a name="checkValueId"></a><span class='definition'>checkValueId</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-223"></a><span class='definition'>checkValueId</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-224"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkForName</span> <span class='str'>"Attribute value"</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-225"></a>
-<a name="line-226"></a>
-<a name="line-227"></a><span class='comment'>-- |</span>
-<a name="line-228"></a><span class='comment'>-- Checks the value of IDREF attribute types. (3.3.1 \/ p.26 in Spec)</span>
-<a name="line-229"></a><span class='comment'>--</span>
-<a name="line-230"></a><span class='comment'>--    * 1.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-231"></a><span class='comment'>--</span>
-<a name="line-232"></a><span class='comment'>--    - 2.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-233"></a>
-<a name="line-234"></a><a name="checkValueIdref"></a><span class='definition'>checkValueIdref</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-235"></a><span class='definition'>checkValueIdref</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-236"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkForName</span> <span class='str'>"Attribute value"</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-237"></a>
-<a name="line-238"></a>
-<a name="line-239"></a><span class='comment'>-- |</span>
-<a name="line-240"></a><span class='comment'>-- Checks the value of IDREFS attribute types. (3.3.1 \/ p.26 in Spec)</span>
-<a name="line-241"></a><span class='comment'>--</span>
-<a name="line-242"></a><span class='comment'>--    * 1.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-243"></a><span class='comment'>--</span>
-<a name="line-244"></a><span class='comment'>--    - 2.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-245"></a>
-<a name="line-246"></a><a name="checkValueIdrefs"></a><span class='definition'>checkValueIdrefs</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-247"></a><span class='definition'>checkValueIdrefs</span> <span class='varid'>attrDecl</span> <span class='varid'>attrValue</span>
-<a name="line-248"></a>    <span class='keyglyph'>=</span> <span class='varid'>cat</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>checkValueIdref</span> <span class='varid'>attrDecl</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>words</span> <span class='varid'>attrValue</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-249"></a>
-<a name="line-250"></a>
-<a name="line-251"></a>
-<a name="line-252"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-253"></a><span class='comment'>-- General helper functions for checking attribute values</span>
-<a name="line-254"></a><span class='comment'>--</span>
-<a name="line-255"></a>
-<a name="line-256"></a><span class='comment'>-- |</span>
-<a name="line-257"></a><span class='comment'>-- Checks if the value of an attribute is a name.</span>
-<a name="line-258"></a><span class='comment'>--</span>
-<a name="line-259"></a><span class='comment'>--    * 1.parameter msg :  error message, should be "Entity" or "Attribute value"</span>
-<a name="line-260"></a><span class='comment'>--</span>
-<a name="line-261"></a><span class='comment'>--    - 2.parameter attrDecl :  the declaration of the attribute from the DTD</span>
-<a name="line-262"></a><span class='comment'>--</span>
-<a name="line-263"></a><span class='comment'>--    - 3.parameter attrValue :  the normalized attribute value to be checked</span>
-<a name="line-264"></a>
-<a name="line-265"></a><a name="checkForName"></a><span class='definition'>checkForName</span> <span class='keyglyph'>::</span>  <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-266"></a><span class='definition'>checkForName</span> <span class='varid'>msg</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-267"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkName</span> <span class='varid'>parseRes</span>
-<a name="line-268"></a>      <span class='keyword'>where</span>
-<a name="line-269"></a>      <span class='varid'>parseRes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span>
-<a name="line-270"></a>      <span class='varid'>parseRes</span> <span class='keyglyph'>=</span> <span class='varid'>parseName</span> <span class='str'>""</span> <span class='layout'>(</span><span class='varid'>mkXTextTree</span> <span class='varid'>attrValue</span><span class='layout'>)</span>
-<a name="line-271"></a>
-<a name="line-272"></a>      <span class='varid'>checkName</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-273"></a>      <span class='varid'>checkName</span> <span class='layout'>(</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XError</span> <span class='keyword'>_</span> <span class='varid'>s</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-274"></a>          <span class='keyglyph'>=</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='varid'>msg</span> <span class='varop'>++</span> <span class='str'>" "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attrValue</span> <span class='varop'>++</span><span class='str'>" of attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getAttrName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-275"></a>	    <span class='str'>" for element "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>getElemName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span><span class='str'>" must be a name, "</span> <span class='varop'>++</span> <span class='layout'>(</span><span class='varid'>lines</span> <span class='varid'>s</span><span class='layout'>)</span> <span class='varop'>!!</span> <span class='num'>1</span> <span class='varop'>++</span> <span class='str'>"."</span><span class='layout'>)</span>
-<a name="line-276"></a>
-<a name="line-277"></a>      <span class='varid'>checkName</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='varid'>none</span>
-<a name="line-278"></a>
-<a name="line-279"></a>
-<a name="line-280"></a><span class='definition'>checkForName</span> <span class='keyword'>_</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-281"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkForName: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-282"></a>
-<a name="line-283"></a>
-<a name="line-284"></a><span class='comment'>-- |</span>
-<a name="line-285"></a><span class='comment'>-- Gets the element name from an attribute list of an XDTD ATTLIST node.</span>
-<a name="line-286"></a><span class='comment'>--</span>
-<a name="line-287"></a><span class='comment'>--    * 1.parameter tag :  the attibute list of an XDTD ATTLIST</span>
-<a name="line-288"></a><span class='comment'>--</span>
-<a name="line-289"></a><span class='comment'>--    - returns : the element name</span>
-<a name="line-290"></a>
-<a name="line-291"></a><a name="getElemName"></a><span class='definition'>getElemName</span> <span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-292"></a><span class='definition'>getElemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span>
-<a name="line-293"></a>
-<a name="line-294"></a>
-<a name="line-295"></a><span class='comment'>-- |</span>
-<a name="line-296"></a><span class='comment'>-- Gets the attribute name from an attribute list of an XDTD ATTLIST node.</span>
-<a name="line-297"></a><span class='comment'>--</span>
-<a name="line-298"></a><span class='comment'>--    * 1.parameter tag :  the attibute list of an XDTD ATTLIST</span>
-<a name="line-299"></a><span class='comment'>--</span>
-<a name="line-300"></a><span class='comment'>--    - returns : the attribute name</span>
-<a name="line-301"></a>
-<a name="line-302"></a><a name="getAttrName"></a><span class='definition'>getAttrName</span> <span class='keyglyph'>::</span> <span class='conid'>Attributes</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-303"></a><span class='definition'>getAttrName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_value</span>
-<a name="line-304"></a>
-<a name="line-305"></a>
-<a name="line-306"></a>
-<a name="line-307"></a><span class='comment'>-- -----------------------------------------------------------------------------</span>
-<a name="line-308"></a>
-<a name="line-309"></a>
-<a name="line-310"></a><a name="normalizeAttributeValue"></a><span class='comment'>-- |</span>
-<a name="line-311"></a><span class='comment'>-- Normalizes an attribute value with respect to its type. (3.3.3 \/ p.29 in Spec)</span>
-<a name="line-312"></a><span class='comment'>--</span>
-<a name="line-313"></a><span class='comment'>--    * 1.parameter attrDecl :  the declaration of the attribute from the DTD. Expected</span>
-<a name="line-314"></a><span class='comment'>--                   is a list. If the list is empty, no declaration exists.</span>
-<a name="line-315"></a><span class='comment'>--</span>
-<a name="line-316"></a><span class='comment'>--    - 2.parameter value :  the attribute value to be normalized</span>
-<a name="line-317"></a><span class='comment'>--</span>
-<a name="line-318"></a><span class='comment'>--    - returns : the normalized value</span>
-<a name="line-319"></a><span class='comment'>--</span>
-<a name="line-320"></a><span class='definition'>normalizeAttributeValue</span> <span class='keyglyph'>::</span> <span class='conid'>Maybe</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-321"></a><span class='definition'>normalizeAttributeValue</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>value</span>
-<a name="line-322"></a>    <span class='keyglyph'>=</span> <span class='varid'>normalizeAttribute</span> <span class='varid'>attrType</span>
-<a name="line-323"></a>      <span class='keyword'>where</span>
-<a name="line-324"></a>      <span class='varid'>attrType</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_type</span> <span class='varid'>al</span>
-<a name="line-325"></a>
-<a name="line-326"></a>      <span class='varid'>normalizeAttribute</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-327"></a>      <span class='varid'>normalizeAttribute</span> <span class='varid'>typ</span>
-<a name="line-328"></a>          <span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_cdata</span>	<span class='keyglyph'>=</span> <span class='varid'>cdataNormalization</span> <span class='varid'>value</span>
-<a name="line-329"></a>          <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>		<span class='keyglyph'>=</span> <span class='varid'>otherNormalization</span> <span class='varid'>value</span>
-<a name="line-330"></a>
-<a name="line-331"></a>
-<a name="line-332"></a><span class='comment'>-- Attribute not declared in DTD, normalization as CDATA</span>
-<a name="line-333"></a><span class='definition'>normalizeAttributeValue</span> <span class='keyword'>_</span> <span class='varid'>value</span>
-<a name="line-334"></a>    <span class='keyglyph'>=</span> <span class='varid'>cdataNormalization</span> <span class='varid'>value</span>
-<a name="line-335"></a>
-<a name="line-336"></a>
-<a name="line-337"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-338"></a><span class='comment'>-- Helper functions for normalization</span>
-<a name="line-339"></a>
-<a name="line-340"></a>
-<a name="line-341"></a><a name="cdataNormalization"></a><span class='comment'>-- |</span>
-<a name="line-342"></a><span class='comment'>-- Normalization of CDATA attribute values.</span>
-<a name="line-343"></a><span class='comment'>-- is already done when parsing</span>
-<a name="line-344"></a><span class='comment'>-- during entity substituion for attribute values</span>
-<a name="line-345"></a><span class='definition'>cdataNormalization</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-346"></a><span class='definition'>cdataNormalization</span> <span class='keyglyph'>=</span> <span class='varid'>id</span>
-<a name="line-347"></a>
-<a name="line-348"></a>
-<a name="line-349"></a><a name="otherNormalization"></a><span class='comment'>-- | Normalization of attribute values other than CDATA.</span>
-<a name="line-350"></a><span class='definition'>otherNormalization</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-351"></a><span class='definition'>otherNormalization</span> <span class='keyglyph'>=</span> <span class='varid'>reduceWSSequences</span> <span class='varop'>.</span> <span class='varid'>stringTrim</span> <span class='varop'>.</span> <span class='varid'>cdataNormalization</span>
-<a name="line-352"></a>
-<a name="line-353"></a><a name="reduceWSSequences"></a><span class='comment'>-- | Reduce whitespace sequences to a single whitespace.</span>
-<a name="line-354"></a><span class='definition'>reduceWSSequences</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-355"></a><span class='definition'>reduceWSSequences</span> <span class='varid'>str</span> <span class='keyglyph'>=</span> <span class='varid'>unwords</span> <span class='layout'>(</span><span class='varid'>words</span> <span class='varid'>str</span><span class='layout'>)</span>
-<a name="line-356"></a>
-<a name="line-357"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-DTDValidation.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-DTDValidation.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-DTDValidation.html
+++ /dev/null
@@ -1,637 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This module provides functions for validating the DTD of XML documents</span>
-<a name="line-3"></a><span class='comment'>-- represented as XmlTree.</span>
-<a name="line-4"></a>
-<a name="line-5"></a><span class='comment'>-- Unlike other popular XML validation tools the validation process returns</span>
-<a name="line-6"></a><span class='comment'>-- a list of errors instead of aborting after the first error was found.</span>
-<a name="line-7"></a>
-<a name="line-8"></a>
-<a name="line-9"></a><span class='comment'>-- Unlike validation of the document, the DTD branch is traversed four times:</span>
-<a name="line-10"></a><span class='comment'>--</span>
-<a name="line-11"></a><span class='comment'>--  - Validation of Notations</span>
-<a name="line-12"></a><span class='comment'>--</span>
-<a name="line-13"></a><span class='comment'>--  - Validation of Unparsed Entities</span>
-<a name="line-14"></a><span class='comment'>--</span>
-<a name="line-15"></a><span class='comment'>--  - Validation of Element declarations</span>
-<a name="line-16"></a><span class='comment'>--</span>
-<a name="line-17"></a><span class='comment'>--  - Validation of Attribute declarations</span>
-<a name="line-18"></a>
-<a name="line-19"></a><span class='comment'>-- Special namings in source code:</span>
-<a name="line-20"></a><span class='comment'>--</span>
-<a name="line-21"></a><span class='comment'>--  - nd - XDTD node</span>
-<a name="line-22"></a><span class='comment'>--</span>
-<a name="line-23"></a><span class='comment'>-- Author : .\\artin Schmidt</span>
-<a name="line-24"></a>
-<a name="line-25"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>DTDValidation</span>
-<a name="line-26"></a>    <span class='layout'>(</span> <span class='varid'>removeDoublicateDefs</span>
-<a name="line-27"></a>    <span class='layout'>,</span> <span class='varid'>validateDTD</span>
-<a name="line-28"></a>    <span class='layout'>)</span>
-<a name="line-29"></a><span class='keyword'>where</span>
-<a name="line-30"></a>
-<a name="line-31"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-32"></a>
-<a name="line-33"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>AttributeValueValidation</span>
-<a name="line-34"></a>
-<a name="line-35"></a>
-<a name="line-36"></a>
-<a name="line-37"></a><span class='comment'>-- |</span>
-<a name="line-38"></a><span class='comment'>-- Validate a DTD.</span>
-<a name="line-39"></a><span class='comment'>--</span>
-<a name="line-40"></a><span class='comment'>--    - returns : a functions which takes the DTD subset of the XmlTree, checks</span>
-<a name="line-41"></a><span class='comment'>--                  if the DTD is valid and returns a list of errors</span>
-<a name="line-42"></a>
-<a name="line-43"></a><a name="validateDTD"></a><span class='definition'>validateDTD</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-44"></a><span class='definition'>validateDTD</span> <span class='varid'>dtdPart</span>
-<a name="line-45"></a>    <span class='keyglyph'>=</span> <span class='comment'>{-# SCC "validateNotations" #-}</span> <span class='varid'>validateNotations</span> <span class='varid'>dtdPart'</span>
-<a name="line-46"></a>      <span class='varop'>++</span>
-<a name="line-47"></a>      <span class='comment'>{-# SCC "validateEntities" #-}</span> <span class='varid'>validateEntities</span> <span class='varid'>dtdPart'</span> <span class='varid'>notationNames</span>
-<a name="line-48"></a>      <span class='varop'>++</span>
-<a name="line-49"></a>      <span class='comment'>{-# SCC "validateElements" #-}</span> <span class='varid'>validateElements</span> <span class='varid'>dtdPart'</span> <span class='varid'>elemNames</span>
-<a name="line-50"></a>      <span class='varop'>++</span>
-<a name="line-51"></a>      <span class='comment'>{-# SCC "validateAttributes" #-}</span> <span class='varid'>validateAttributes</span> <span class='varid'>dtdPart'</span> <span class='varid'>elemNames</span> <span class='varid'>notationNames</span>
-<a name="line-52"></a>
-<a name="line-53"></a>      <span class='keyword'>where</span>
-<a name="line-54"></a>      <span class='varid'>dtdPart'</span> <span class='keyglyph'>=</span> <span class='varid'>getChildren</span> <span class='varid'>dtdPart</span>
-<a name="line-55"></a>
-<a name="line-56"></a>      <span class='varid'>notationNames</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span>
-<a name="line-57"></a>      <span class='varid'>notationNames</span>
-<a name="line-58"></a>          <span class='keyglyph'>=</span> <span class='varid'>getXTextValues</span> <span class='layout'>(</span><span class='varid'>isNotation</span> <span class='varop'>.&gt;</span> <span class='varid'>getDTDValue</span> <span class='varid'>a_name</span> <span class='varop'>$$</span> <span class='varid'>dtdPart'</span><span class='layout'>)</span>
-<a name="line-59"></a>
-<a name="line-60"></a>      <span class='varid'>elemNames</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span>
-<a name="line-61"></a>      <span class='varid'>elemNames</span>
-<a name="line-62"></a>          <span class='keyglyph'>=</span> <span class='varid'>getXTextValues</span> <span class='layout'>(</span><span class='varid'>isElement</span>  <span class='varop'>.&gt;</span> <span class='varid'>getDTDValue</span> <span class='varid'>a_name</span> <span class='varop'>$$</span> <span class='varid'>dtdPart'</span><span class='layout'>)</span>
-<a name="line-63"></a>
-<a name="line-64"></a>
-<a name="line-65"></a>
-<a name="line-66"></a>
-<a name="line-67"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-68"></a>
-<a name="line-69"></a><span class='comment'>-- |</span>
-<a name="line-70"></a><span class='comment'>-- Returns a list of XText values.</span>
-<a name="line-71"></a><span class='comment'>--</span>
-<a name="line-72"></a><span class='comment'>--    * 1.parameter xtextList :  a list of XText nodes</span>
-<a name="line-73"></a><span class='comment'>--</span>
-<a name="line-74"></a><span class='comment'>--    - returns : the values of the XText nodes</span>
-<a name="line-75"></a>
-<a name="line-76"></a><a name="getXTextValues"></a><span class='definition'>getXTextValues</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span>
-<a name="line-77"></a><span class='definition'>getXTextValues</span>
-<a name="line-78"></a>  <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>showT</span>
-<a name="line-79"></a>  <span class='keyword'>where</span>
-<a name="line-80"></a>    <span class='varid'>showT</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-81"></a>	<span class='keyglyph'>|</span> <span class='varid'>isXTextNode</span> <span class='varid'>n</span> <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>textOfXNode</span> <span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-82"></a>    <span class='varid'>showT</span> <span class='keyword'>_</span>             <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-83"></a>
-<a name="line-84"></a>
-<a name="line-85"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-86"></a>
-<a name="line-87"></a>
-<a name="line-88"></a><span class='comment'>-- |</span>
-<a name="line-89"></a><span class='comment'>-- Validation of Notations, checks if all notation names are unique.</span>
-<a name="line-90"></a><span class='comment'>-- Validity constraint: Unique Notation Name (4.7 \/ p.44 in Spec)</span>
-<a name="line-91"></a><span class='comment'>--</span>
-<a name="line-92"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-93"></a><span class='comment'>--</span>
-<a name="line-94"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-95"></a>
-<a name="line-96"></a><a name="validateNotations"></a><span class='definition'>validateNotations</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-97"></a><span class='definition'>validateNotations</span> <span class='varid'>dtdPart</span>
-<a name="line-98"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkForUniqueNotation</span> <span class='varid'>notations</span> <span class='conid'>[]</span>
-<a name="line-99"></a>      <span class='keyword'>where</span>
-<a name="line-100"></a>      <span class='varid'>notations</span> <span class='keyglyph'>=</span> <span class='varid'>isNotation</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-101"></a>
-<a name="line-102"></a>      <span class='varid'>checkForUniqueNotation</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-103"></a>      <span class='varid'>checkForUniqueNotation</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>NOTATION</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-104"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>name</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-105"></a>	    <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Notation "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span> <span class='varop'>++</span> <span class='str'>" was already specified."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-106"></a>		 <span class='varop'>++</span>
-<a name="line-107"></a>		 <span class='varid'>checkForUniqueNotation</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-108"></a>
-<a name="line-109"></a>	    <span class='keyword'>else</span> <span class='varid'>checkForUniqueNotation</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>name</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-110"></a>	    <span class='keyword'>where</span>
-<a name="line-111"></a>	    <span class='varid'>name</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-112"></a>
-<a name="line-113"></a>      <span class='varid'>checkForUniqueNotation</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-114"></a>
-<a name="line-115"></a>      <span class='varid'>checkForUniqueNotation</span> <span class='varid'>nd</span> <span class='keyword'>_</span>
-<a name="line-116"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkForUniqueNotation: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-117"></a>
-<a name="line-118"></a>
-<a name="line-119"></a><span class='comment'>-- |</span>
-<a name="line-120"></a><span class='comment'>-- Validation of Entities.</span>
-<a name="line-121"></a><span class='comment'>--</span>
-<a name="line-122"></a><span class='comment'>-- 1. Issues a warning if entities are declared multiple times.</span>
-<a name="line-123"></a><span class='comment'>--</span>
-<a name="line-124"></a><span class='comment'>--    Optional warning: (4.2 \/ p.35 in Spec) </span>
-<a name="line-125"></a><span class='comment'>--</span>
-<a name="line-126"></a><span class='comment'>--</span>
-<a name="line-127"></a><span class='comment'>-- 2. Validates that a notation is declared for an unparsed entity.</span>
-<a name="line-128"></a><span class='comment'>--</span>
-<a name="line-129"></a><span class='comment'>--    Validity constraint: Notation Declared (4.2.2 \/ p.36 in Spec)</span>
-<a name="line-130"></a><span class='comment'>--</span>
-<a name="line-131"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-132"></a><span class='comment'>--</span>
-<a name="line-133"></a><span class='comment'>--    - 2.parameter notationNames :  list of all notation names declared in the DTD</span>
-<a name="line-134"></a><span class='comment'>--</span>
-<a name="line-135"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-136"></a>
-<a name="line-137"></a><a name="validateEntities"></a><span class='definition'>validateEntities</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-138"></a><span class='definition'>validateEntities</span> <span class='varid'>dtdPart</span> <span class='varid'>notationNames</span>
-<a name="line-139"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkForUniqueEntity</span> <span class='varid'>entities</span> <span class='conid'>[]</span>
-<a name="line-140"></a>      <span class='varop'>++</span>
-<a name="line-141"></a>      <span class='varid'>checkNotationDecls</span> <span class='varid'>notationNames</span> <span class='varid'>upEntities</span>
-<a name="line-142"></a>
-<a name="line-143"></a>      <span class='keyword'>where</span>
-<a name="line-144"></a>      <span class='varid'>entities</span>   <span class='keyglyph'>=</span> <span class='varid'>isEntity</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-145"></a>      <span class='varid'>upEntities</span> <span class='keyglyph'>=</span> <span class='varid'>isUnparsedEntity</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-146"></a>
-<a name="line-147"></a>      <span class='comment'>-- Check if entities are declared multiple times</span>
-<a name="line-148"></a>      <span class='varid'>checkForUniqueEntity</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-149"></a>      <span class='varid'>checkForUniqueEntity</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ENTITY</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-150"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>name</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-151"></a>	    <span class='keyword'>then</span> <span class='varid'>warn</span> <span class='layout'>(</span><span class='str'>"Entity "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span> <span class='varop'>++</span> <span class='str'>" was already specified. "</span> <span class='varop'>++</span>
-<a name="line-152"></a>	               <span class='str'>"First declaration will be used."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-153"></a>		 <span class='varop'>++</span>
-<a name="line-154"></a>		 <span class='varid'>checkForUniqueEntity</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-155"></a>
-<a name="line-156"></a>	    <span class='keyword'>else</span> <span class='varid'>checkForUniqueEntity</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>name</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-157"></a>	    <span class='keyword'>where</span>
-<a name="line-158"></a>	    <span class='varid'>name</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-159"></a>
-<a name="line-160"></a>      <span class='varid'>checkForUniqueEntity</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-161"></a>
-<a name="line-162"></a>      <span class='varid'>checkForUniqueEntity</span> <span class='varid'>nd</span> <span class='keyword'>_</span>
-<a name="line-163"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkForUniqueEntity: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-164"></a>
-<a name="line-165"></a>
-<a name="line-166"></a>      <span class='comment'>-- Find unparsed entities for which no notation is specified</span>
-<a name="line-167"></a>      <span class='varid'>checkNotationDecls</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-168"></a>      <span class='varid'>checkNotationDecls</span> <span class='varid'>notationNames'</span> <span class='varid'>upEntities'</span>
-<a name="line-169"></a>	  <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>checkNotationDecl</span><span class='layout'>)</span> <span class='varid'>upEntities'</span>
-<a name="line-170"></a>          <span class='keyword'>where</span>
-<a name="line-171"></a>          <span class='varid'>checkNotationDecl</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-172"></a>          <span class='varid'>checkNotationDecl</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ENTITY</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-173"></a>              <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>notationName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>`elem`</span> <span class='varid'>notationNames'</span>
-<a name="line-174"></a>	        <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-175"></a>                <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"The notation "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>notationName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" must be declared "</span> <span class='varop'>++</span>
-<a name="line-176"></a>	                  <span class='str'>"when referenced in the unparsed entity declaration for "</span> <span class='varop'>++</span>
-<a name="line-177"></a>		          <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>upEntityName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>"."</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-178"></a>                <span class='keyword'>where</span>
-<a name="line-179"></a>		<span class='varid'>notationName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>k_ndata</span>
-<a name="line-180"></a>                <span class='varid'>upEntityName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span>
-<a name="line-181"></a>
-<a name="line-182"></a>          <span class='varid'>checkNotationDecl</span> <span class='varid'>nd</span>
-<a name="line-183"></a>              <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkNotationDecl: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-184"></a>
-<a name="line-185"></a>
-<a name="line-186"></a>
-<a name="line-187"></a><span class='comment'>-- |</span>
-<a name="line-188"></a><span class='comment'>-- Validation of Element declarations.</span>
-<a name="line-189"></a><span class='comment'>--</span>
-<a name="line-190"></a><span class='comment'>-- 1. Validates that an element is not declared multiple times.</span>
-<a name="line-191"></a><span class='comment'>--</span>
-<a name="line-192"></a><span class='comment'>--    Validity constraint: Unique Element Type Declaration (3.2 \/ p.21 in Spec) </span>
-<a name="line-193"></a><span class='comment'>--</span>
-<a name="line-194"></a><span class='comment'>--</span>
-<a name="line-195"></a><span class='comment'>-- 2. Validates that an element name only appears once in a mixed-content declaration.</span>
-<a name="line-196"></a><span class='comment'>--</span>
-<a name="line-197"></a><span class='comment'>--    Validity constraint: No Duplicate Types (3.2 \/ p.21 in Spec) </span>
-<a name="line-198"></a><span class='comment'>--</span>
-<a name="line-199"></a><span class='comment'>--</span>
-<a name="line-200"></a><span class='comment'>-- 3. Issues a warning if an element mentioned in a content model is not declared in the</span>
-<a name="line-201"></a><span class='comment'>--    DTD.</span>
-<a name="line-202"></a><span class='comment'>--</span>
-<a name="line-203"></a><span class='comment'>--    Optional warning: (3.2 \/ p.21 in Spec)</span>
-<a name="line-204"></a><span class='comment'>--</span>
-<a name="line-205"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-206"></a><span class='comment'>--</span>
-<a name="line-207"></a><span class='comment'>--    - 2.parameter elemNames :  list of all element names declared in the DTD</span>
-<a name="line-208"></a><span class='comment'>--</span>
-<a name="line-209"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-210"></a>
-<a name="line-211"></a>
-<a name="line-212"></a><a name="validateElements"></a><span class='definition'>validateElements</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-213"></a><span class='definition'>validateElements</span> <span class='varid'>dtdPart</span> <span class='varid'>elemNames</span>
-<a name="line-214"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkForUniqueElement</span> <span class='varid'>elements</span> <span class='conid'>[]</span>
-<a name="line-215"></a>      <span class='varop'>++</span>
-<a name="line-216"></a>      <span class='varid'>checkMixedContents</span> <span class='varid'>mixedContentElems</span>
-<a name="line-217"></a>      <span class='varop'>++</span>
-<a name="line-218"></a>      <span class='varid'>checkContentModels</span> <span class='varid'>elemNames</span> <span class='varid'>elements</span>
-<a name="line-219"></a>
-<a name="line-220"></a>      <span class='keyword'>where</span>
-<a name="line-221"></a>      <span class='varid'>elements</span>          <span class='keyglyph'>=</span> <span class='varid'>isElement</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-222"></a>      <span class='varid'>mixedContentElems</span> <span class='keyglyph'>=</span> <span class='varid'>isMixedContentElement</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-223"></a>
-<a name="line-224"></a>
-<a name="line-225"></a>      <span class='comment'>-- Validates that an element is not declared multiple times</span>
-<a name="line-226"></a>      <span class='varid'>checkForUniqueElement</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-227"></a>      <span class='varid'>checkForUniqueElement</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-228"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>name</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-229"></a>	    <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Element type "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span> <span class='varop'>++</span>
-<a name="line-230"></a>		      <span class='str'>" must not be declared more than once."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-231"></a>		 <span class='varop'>++</span>
-<a name="line-232"></a>		 <span class='varid'>checkForUniqueElement</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-233"></a>
-<a name="line-234"></a>	    <span class='keyword'>else</span> <span class='varid'>checkForUniqueElement</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>name</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-235"></a>	    <span class='keyword'>where</span>
-<a name="line-236"></a>	    <span class='varid'>name</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-237"></a>
-<a name="line-238"></a>      <span class='varid'>checkForUniqueElement</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-239"></a>
-<a name="line-240"></a>      <span class='varid'>checkForUniqueElement</span> <span class='varid'>nd</span> <span class='keyword'>_</span>
-<a name="line-241"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkForUniqueElement: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-242"></a>
-<a name="line-243"></a>
-<a name="line-244"></a>      <span class='comment'>-- Validates that an element name only appears once in a mixed-content declaration</span>
-<a name="line-245"></a>      <span class='varid'>checkMixedContents</span> <span class='varid'>elems</span>
-<a name="line-246"></a>          <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>checkMixedContent</span><span class='layout'>)</span> <span class='varid'>elems</span>
-<a name="line-247"></a>	  <span class='keyword'>where</span>
-<a name="line-248"></a>          <span class='varid'>checkMixedContent</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-249"></a>	      <span class='keyglyph'>=</span> <span class='varid'>checkMC</span> <span class='layout'>(</span><span class='varid'>getChildren</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='varid'>cs</span><span class='layout'>)</span><span class='layout'>)</span> <span class='conid'>[]</span>
-<a name="line-250"></a>	      <span class='keyword'>where</span>
-<a name="line-251"></a>	      <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-252"></a>
-<a name="line-253"></a>	      <span class='varid'>checkMC</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-254"></a>	      <span class='varid'>checkMC</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>NAME</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-255"></a>                  <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>name</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-256"></a>	            <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"The element type "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span> <span class='varop'>++</span>
-<a name="line-257"></a>			      <span class='str'>" was already specified in the mixed-content model of the element declaration "</span> <span class='varop'>++</span>
-<a name="line-258"></a>		              <span class='varid'>show</span> <span class='varid'>elemName</span> <span class='varop'>++</span> <span class='str'>"."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-259"></a>		         <span class='varop'>++</span>
-<a name="line-260"></a>		         <span class='varid'>checkMC</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-261"></a>
-<a name="line-262"></a>	            <span class='keyword'>else</span> <span class='varid'>checkMC</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>name</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-263"></a>	            <span class='keyword'>where</span>
-<a name="line-264"></a>	            <span class='varid'>name</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al'</span>
-<a name="line-265"></a>
-<a name="line-266"></a>              <span class='varid'>checkMC</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-267"></a>
-<a name="line-268"></a>              <span class='varid'>checkMC</span> <span class='varid'>nd</span> <span class='keyword'>_</span>
-<a name="line-269"></a>	          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkMC: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-270"></a>
-<a name="line-271"></a>	  <span class='varid'>checkMixedContent</span> <span class='varid'>nd</span>
-<a name="line-272"></a>	      <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkMixedContent: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-273"></a>
-<a name="line-274"></a>
-<a name="line-275"></a>      <span class='comment'>-- Issues a warning if an element mentioned in a content model is not</span>
-<a name="line-276"></a>      <span class='comment'>-- declared in the DTD.</span>
-<a name="line-277"></a>      <span class='varid'>checkContentModels</span> <span class='varid'>names</span> <span class='varid'>elems</span>
-<a name="line-278"></a>          <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='varid'>checkContentModel</span> <span class='varid'>elems</span>
-<a name="line-279"></a>	  <span class='keyword'>where</span>
-<a name="line-280"></a>          <span class='varid'>checkContentModel</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-281"></a>          <span class='varid'>checkContentModel</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-282"></a>              <span class='keyglyph'>=</span> <span class='varid'>validateContent</span> <span class='layout'>(</span><span class='varid'>lookup1</span> <span class='varid'>a_type</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-283"></a>	      <span class='keyword'>where</span>
-<a name="line-284"></a>	      <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-285"></a>
-<a name="line-286"></a>	      <span class='varid'>validateContent</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-287"></a>	      <span class='varid'>validateContent</span> <span class='varid'>cm</span>
-<a name="line-288"></a>	          <span class='keyglyph'>|</span> <span class='varid'>cm</span> <span class='varop'>==</span> <span class='varid'>v_children</span> <span class='keyglyph'>=</span> <span class='varid'>checkContent</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-289"></a>	          <span class='keyglyph'>|</span> <span class='varid'>cm</span> <span class='varop'>==</span> <span class='varid'>v_mixed</span>    <span class='keyglyph'>=</span> <span class='varid'>checkContent</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-290"></a>	          <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>        <span class='keyglyph'>=</span> <span class='conid'>[]</span>  <span class='comment'>-- no child elements to check</span>
-<a name="line-291"></a>
-<a name="line-292"></a>	      <span class='varid'>checkContent</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-293"></a>	      <span class='varid'>checkContent</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>NAME</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-294"></a>	          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>childElemName</span> <span class='varop'>`elem`</span> <span class='varid'>names</span>
-<a name="line-295"></a>	            <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-296"></a>	            <span class='keyword'>else</span> <span class='varid'>warn</span> <span class='layout'>(</span><span class='str'>"The element type "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>childElemName</span> <span class='varop'>++</span>
-<a name="line-297"></a>		               <span class='str'>", used in content model of element "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>elemName</span> <span class='varop'>++</span>
-<a name="line-298"></a>			       <span class='str'>", is not declared."</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-299"></a>	            <span class='keyword'>where</span>
-<a name="line-300"></a>		    <span class='varid'>childElemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al'</span>
-<a name="line-301"></a>
-<a name="line-302"></a>	      <span class='varid'>checkContent</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>CONTENT</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs'</span><span class='layout'>)</span>
-<a name="line-303"></a>	          <span class='keyglyph'>=</span> <span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>checkContent</span><span class='layout'>)</span> <span class='varid'>cs'</span>
-<a name="line-304"></a>
-<a name="line-305"></a>	      <span class='varid'>checkContent</span> <span class='varid'>nd</span>
-<a name="line-306"></a>	          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkContent: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-307"></a>
-<a name="line-308"></a>          <span class='varid'>checkContentModel</span> <span class='varid'>nd</span>
-<a name="line-309"></a>              <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkContentModel: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-310"></a>
-<a name="line-311"></a>
-<a name="line-312"></a><span class='comment'>-- |</span>
-<a name="line-313"></a><span class='comment'>-- Validation of Attribute declarations.</span>
-<a name="line-314"></a><span class='comment'>--</span>
-<a name="line-315"></a><span class='comment'>-- (1) Issues a warning if an attribute is declared for an element type not itself</span>
-<a name="line-316"></a><span class='comment'>--    decared.</span>
-<a name="line-317"></a><span class='comment'>--</span>
-<a name="line-318"></a><span class='comment'>--    Optinal warning: (3.3 \/ p. 24 in Spec)</span>
-<a name="line-319"></a><span class='comment'>--</span>
-<a name="line-320"></a><span class='comment'>--</span>
-<a name="line-321"></a><span class='comment'>-- 2. Issues a warning if more than one definition is provided for the same</span>
-<a name="line-322"></a><span class='comment'>--    attribute of a given element type. Fist declaration is binding, later</span>
-<a name="line-323"></a><span class='comment'>--    definitions are ignored.</span>
-<a name="line-324"></a><span class='comment'>--</span>
-<a name="line-325"></a><span class='comment'>--    Optional warning: (3.3 \/ p.24 in Spec)</span>
-<a name="line-326"></a><span class='comment'>--</span>
-<a name="line-327"></a><span class='comment'>--</span>
-<a name="line-328"></a><span class='comment'>-- 3. Issues a warning if the same Nmtoken occures more than once in enumerated</span>
-<a name="line-329"></a><span class='comment'>--    attribute types of a single element type.</span>
-<a name="line-330"></a><span class='comment'>--</span>
-<a name="line-331"></a><span class='comment'>--    Optional warning: (3.3.1 \/ p.27 in Spec) </span>
-<a name="line-332"></a><span class='comment'>--</span>
-<a name="line-333"></a><span class='comment'>--</span>
-<a name="line-334"></a><span class='comment'>-- 4. Validates that an element type has not more than one ID attribute defined.</span>
-<a name="line-335"></a><span class='comment'>--</span>
-<a name="line-336"></a><span class='comment'>--    Validity constraint: One ID per Element Type (3.3.1 \/ p.26 in Spec) </span>
-<a name="line-337"></a><span class='comment'>--</span>
-<a name="line-338"></a><span class='comment'>--</span>
-<a name="line-339"></a><span class='comment'>-- 5. Validates that an element type has not more than one NOTATION attribute defined.</span>
-<a name="line-340"></a><span class='comment'>--</span>
-<a name="line-341"></a><span class='comment'>--    Validity constraint: One Notation per Element Type (3.3.1 \/ p.27 in Spec) </span>
-<a name="line-342"></a><span class='comment'>--</span>
-<a name="line-343"></a><span class='comment'>--</span>
-<a name="line-344"></a><span class='comment'>-- 6. Validates that an ID attributes has the type #IMPLIED or #REQUIRED.</span>
-<a name="line-345"></a><span class='comment'>--</span>
-<a name="line-346"></a><span class='comment'>--    Validity constraint: ID Attribute Default (3.3.1 \/ p.26 in Spec) </span>
-<a name="line-347"></a><span class='comment'>--</span>
-<a name="line-348"></a><span class='comment'>--</span>
-<a name="line-349"></a><span class='comment'>-- 7. Validates that all referenced notations are declared.</span>
-<a name="line-350"></a><span class='comment'>--</span>
-<a name="line-351"></a><span class='comment'>--    Validity constraint: Notation Attributes (3.3.1 \/ p.27 in Spec) </span>
-<a name="line-352"></a><span class='comment'>--</span>
-<a name="line-353"></a><span class='comment'>--</span>
-<a name="line-354"></a><span class='comment'>-- 8. Validates that notations are not declared for EMPTY elements.</span>
-<a name="line-355"></a><span class='comment'>--</span>
-<a name="line-356"></a><span class='comment'>--    Validity constraint: No Notation on Empty Element (3.3.1 \/p.27 in Spec) </span>
-<a name="line-357"></a><span class='comment'>--</span>
-<a name="line-358"></a><span class='comment'>--</span>
-<a name="line-359"></a><span class='comment'>-- 9. Validates that the default value matches the lexical constraints of it's type.</span>
-<a name="line-360"></a><span class='comment'>--</span>
-<a name="line-361"></a><span class='comment'>--    Validity constraint: Attribute default legal (3.3.2 \/ p.28 in Spec)</span>
-<a name="line-362"></a><span class='comment'>--</span>
-<a name="line-363"></a><span class='comment'>--</span>
-<a name="line-364"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-365"></a><span class='comment'>--</span>
-<a name="line-366"></a><span class='comment'>--    - 2.parameter elemNames :  list of all element names declared in the DTD</span>
-<a name="line-367"></a><span class='comment'>--</span>
-<a name="line-368"></a><span class='comment'>--    - 3.parameter notationNames :  list of all notation names declared in the DTD</span>
-<a name="line-369"></a><span class='comment'>--</span>
-<a name="line-370"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-371"></a>
-<a name="line-372"></a><a name="validateAttributes"></a><span class='definition'>validateAttributes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-373"></a><span class='definition'>validateAttributes</span> <span class='varid'>dtdPart</span> <span class='varid'>elemNames</span> <span class='varid'>notationNames</span>
-<a name="line-374"></a>    <span class='keyglyph'>=</span> <span class='comment'>-- 1. Find attributes for which no elements are declared</span>
-<a name="line-375"></a>      <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>checkDeclaredElements</span> <span class='varid'>elemNames</span><span class='layout'>)</span> <span class='varop'>$$</span> <span class='varid'>attributes</span><span class='layout'>)</span>
-<a name="line-376"></a>      <span class='varop'>++</span>
-<a name="line-377"></a>      <span class='comment'>-- 2. Find attributes which are declared more than once</span>
-<a name="line-378"></a>      <span class='layout'>(</span><span class='varid'>checkForUniqueAttributeDeclaration</span> <span class='varid'>attributes</span> <span class='conid'>[]</span><span class='layout'>)</span>
-<a name="line-379"></a>      <span class='varop'>++</span>
-<a name="line-380"></a>      <span class='comment'>-- 3. Find enumerated attribute types which nmtokens are declared more than once</span>
-<a name="line-381"></a>      <span class='layout'>(</span><span class='varid'>checkEnumeratedTypes</span>
-<a name="line-382"></a>      <span class='varop'>`o`</span>
-<a name="line-383"></a>      <span class='layout'>(</span><span class='varid'>isEnumAttrType</span> <span class='varop'>`orElse`</span> <span class='varid'>isNotationAttrType</span><span class='layout'>)</span> <span class='varop'>$$</span> <span class='varid'>attributes</span><span class='layout'>)</span>
-<a name="line-384"></a>      <span class='varop'>++</span>
-<a name="line-385"></a>      <span class='comment'>-- 4. Validate that there exists only one ID attribute for an element</span>
-<a name="line-386"></a>      <span class='layout'>(</span><span class='varid'>checkForUniqueId</span> <span class='varid'>idAttributes</span> <span class='conid'>[]</span><span class='layout'>)</span>
-<a name="line-387"></a>      <span class='varop'>++</span>
-<a name="line-388"></a>      <span class='comment'>-- 5. Validate that there exists only one NOTATION attribute for an element</span>
-<a name="line-389"></a>      <span class='layout'>(</span><span class='varid'>checkForUniqueNotation</span> <span class='varid'>notationAttributes</span> <span class='conid'>[]</span><span class='layout'>)</span>
-<a name="line-390"></a>      <span class='varop'>++</span>
-<a name="line-391"></a>      <span class='comment'>-- 6. Validate that ID attributes have the type #IMPLIED or #REQUIRED</span>
-<a name="line-392"></a>      <span class='layout'>(</span><span class='varid'>checkIdKindConstraint</span> <span class='varop'>$$</span> <span class='varid'>idAttributes</span><span class='layout'>)</span>
-<a name="line-393"></a>      <span class='varop'>++</span>
-<a name="line-394"></a>      <span class='comment'>-- 7. Validate that all referenced notations are declared</span>
-<a name="line-395"></a>      <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>checkNotationDeclaration</span> <span class='varid'>notationNames</span><span class='layout'>)</span> <span class='varop'>$$</span> <span class='varid'>notationAttributes</span><span class='layout'>)</span>
-<a name="line-396"></a>      <span class='varop'>++</span>
-<a name="line-397"></a>      <span class='comment'>-- 8. Validate that notations are not declared for EMPTY elements</span>
-<a name="line-398"></a>      <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>checkNoNotationForEmptyElement</span>
-<a name="line-399"></a>      	  <span class='layout'>(</span>
-<a name="line-400"></a>    	      <span class='varid'>getXTextValues</span> <span class='layout'>(</span><span class='varid'>getDTDValue</span> <span class='varid'>a_name</span> <span class='varop'>$$</span> <span class='layout'>(</span><span class='varid'>isEmptyElement</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-401"></a>       	  <span class='layout'>)</span>
-<a name="line-402"></a>        <span class='layout'>)</span> <span class='varop'>$$</span> <span class='varid'>notationAttributes</span><span class='layout'>)</span>
-<a name="line-403"></a>      <span class='varop'>++</span>
-<a name="line-404"></a>      <span class='comment'>-- 9. Validate that the default value matches the lexical constraints of it's type</span>
-<a name="line-405"></a>      <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>checkDefaultValueTypes</span> <span class='varid'>dtdPart</span><span class='layout'>)</span> <span class='varop'>$$</span> <span class='layout'>(</span><span class='varid'>isDefaultAttrKind</span> <span class='varop'>$$</span> <span class='varid'>attributes</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-406"></a>
-<a name="line-407"></a>      <span class='keyword'>where</span>
-<a name="line-408"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-409"></a>      <span class='comment'>-- helper functions</span>
-<a name="line-410"></a>      <span class='varid'>attributes</span>         <span class='keyglyph'>=</span> <span class='varid'>isAttlist</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-411"></a>      <span class='varid'>idAttributes</span>       <span class='keyglyph'>=</span> <span class='varid'>isIdAttrType</span> <span class='varop'>$$</span> <span class='varid'>attributes</span>
-<a name="line-412"></a>      <span class='varid'>notationAttributes</span> <span class='keyglyph'>=</span> <span class='varid'>isNotationAttrType</span> <span class='varop'>$$</span> <span class='varid'>attributes</span>
-<a name="line-413"></a>
-<a name="line-414"></a>
-<a name="line-415"></a>      <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span>
-<a name="line-416"></a>      <span class='varid'>attName</span>  <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_value</span>
-<a name="line-417"></a>
-<a name="line-418"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-419"></a>      <span class='comment'>-- 1. Find attributes for which no elements are declared</span>
-<a name="line-420"></a>      <span class='varid'>checkDeclaredElements</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-421"></a>      <span class='varid'>checkDeclaredElements</span> <span class='varid'>elemNames'</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-422"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>elemName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>`elem`</span> <span class='varid'>elemNames'</span>
-<a name="line-423"></a>	    <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-424"></a>	    <span class='keyword'>else</span> <span class='varid'>warn</span> <span class='layout'>(</span><span class='str'>"The element type \""</span><span class='varop'>++</span> <span class='varid'>elemName</span> <span class='varid'>al</span> <span class='varop'>++</span> <span class='str'>"\" used in declaration "</span><span class='varop'>++</span>
-<a name="line-425"></a>	               <span class='str'>"of attribute \""</span><span class='varop'>++</span> <span class='varid'>attName</span> <span class='varid'>al</span> <span class='varop'>++</span><span class='str'>"\" is not declared."</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-426"></a>
-<a name="line-427"></a>      <span class='varid'>checkDeclaredElements</span> <span class='keyword'>_</span> <span class='varid'>nd</span>
-<a name="line-428"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkDeclaredElements: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-429"></a>
-<a name="line-430"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-431"></a>      <span class='comment'>-- 2. Find attributes which are declared more than once</span>
-<a name="line-432"></a>      <span class='varid'>checkForUniqueAttributeDeclaration</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-433"></a>      <span class='varid'>checkForUniqueAttributeDeclaration</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-434"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>name</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-435"></a>	    <span class='keyword'>then</span> <span class='varid'>warn</span> <span class='layout'>(</span><span class='str'>"Attribute \""</span><span class='varop'>++</span> <span class='varid'>aname</span> <span class='varop'>++</span><span class='str'>"\" for element type \""</span><span class='varop'>++</span>
-<a name="line-436"></a>		        <span class='varid'>ename</span> <span class='varop'>++</span><span class='str'>"\" is already declared. First "</span><span class='varop'>++</span>
-<a name="line-437"></a>		        <span class='str'>"declaration will be used."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-438"></a>		 <span class='varop'>++</span>
-<a name="line-439"></a>		 <span class='varid'>checkForUniqueAttributeDeclaration</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-440"></a>
-<a name="line-441"></a>	    <span class='keyword'>else</span> <span class='varid'>checkForUniqueAttributeDeclaration</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>name</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-442"></a>	    <span class='keyword'>where</span>
-<a name="line-443"></a>	    <span class='varid'>ename</span> <span class='keyglyph'>=</span> <span class='varid'>elemName</span> <span class='varid'>al</span>
-<a name="line-444"></a>	    <span class='varid'>aname</span> <span class='keyglyph'>=</span> <span class='varid'>attName</span> <span class='varid'>al</span>
-<a name="line-445"></a>	    <span class='varid'>name</span>  <span class='keyglyph'>=</span> <span class='varid'>ename</span> <span class='varop'>++</span> <span class='str'>"|"</span> <span class='varop'>++</span> <span class='varid'>aname</span>
-<a name="line-446"></a>
-<a name="line-447"></a>      <span class='varid'>checkForUniqueAttributeDeclaration</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-448"></a>
-<a name="line-449"></a>      <span class='varid'>checkForUniqueAttributeDeclaration</span> <span class='varid'>nd</span> <span class='keyword'>_</span>
-<a name="line-450"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkForUniqueAttributeDeclaration: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-451"></a>
-<a name="line-452"></a>
-<a name="line-453"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-454"></a>      <span class='comment'>-- 3. Find enumerated attribute types which nmtokens are declared more than once</span>
-<a name="line-455"></a>      <span class='varid'>checkEnumeratedTypes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-456"></a>      <span class='varid'>checkEnumeratedTypes</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-457"></a>          <span class='keyglyph'>=</span> <span class='varid'>checkForUniqueType</span> <span class='varid'>cs</span> <span class='conid'>[]</span>
-<a name="line-458"></a>	  <span class='keyword'>where</span>
-<a name="line-459"></a>	  <span class='varid'>checkForUniqueType</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-460"></a>          <span class='varid'>checkForUniqueType</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>NAME</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-461"></a>              <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>nmtoken</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-462"></a>	        <span class='keyword'>then</span> <span class='varid'>warn</span> <span class='layout'>(</span><span class='str'>"Nmtoken \""</span><span class='varop'>++</span> <span class='varid'>nmtoken</span> <span class='varop'>++</span><span class='str'>"\" should not "</span><span class='varop'>++</span>
-<a name="line-463"></a>		        <span class='str'>"occur more than once in attribute \""</span><span class='varop'>++</span> <span class='varid'>attName</span> <span class='varid'>al</span> <span class='varop'>++</span>
-<a name="line-464"></a>			<span class='str'>"\" for element \""</span><span class='varop'>++</span> <span class='varid'>elemName</span> <span class='varid'>al</span> <span class='varop'>++</span> <span class='str'>"\"."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-465"></a>		     <span class='varop'>++</span>
-<a name="line-466"></a>		     <span class='varid'>checkForUniqueType</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-467"></a>
-<a name="line-468"></a>	        <span class='keyword'>else</span> <span class='varid'>checkForUniqueType</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>nmtoken</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-469"></a>	        <span class='keyword'>where</span>
-<a name="line-470"></a>	        <span class='varid'>nmtoken</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al'</span>
-<a name="line-471"></a>
-<a name="line-472"></a>          <span class='varid'>checkForUniqueType</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-473"></a>
-<a name="line-474"></a>          <span class='varid'>checkForUniqueType</span> <span class='varid'>nd</span> <span class='keyword'>_</span>
-<a name="line-475"></a>              <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkForUniqueType: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-476"></a>
-<a name="line-477"></a>      <span class='varid'>checkEnumeratedTypes</span> <span class='varid'>nd</span>
-<a name="line-478"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkEnumeratedTypes: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-479"></a>
-<a name="line-480"></a>
-<a name="line-481"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-482"></a>      <span class='comment'>-- 4. Validate that there exists only one ID attribute for an element</span>
-<a name="line-483"></a>      <span class='varid'>checkForUniqueId</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-484"></a>      <span class='varid'>checkForUniqueId</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-485"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>ename</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-486"></a>	    <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Element \""</span><span class='varop'>++</span> <span class='varid'>ename</span> <span class='varop'>++</span> <span class='str'>"\" already has attribute of type "</span><span class='varop'>++</span>
-<a name="line-487"></a>		       <span class='str'>"ID, another attribute \""</span><span class='varop'>++</span> <span class='varid'>attName</span> <span class='varid'>al</span> <span class='varop'>++</span> <span class='str'>"\" of type ID is "</span><span class='varop'>++</span>
-<a name="line-488"></a>		       <span class='str'>"not permitted."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-489"></a>		 <span class='varop'>++</span>
-<a name="line-490"></a>		 <span class='varid'>checkForUniqueId</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-491"></a>
-<a name="line-492"></a>	    <span class='keyword'>else</span> <span class='varid'>checkForUniqueId</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>ename</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-493"></a>	    <span class='keyword'>where</span>
-<a name="line-494"></a>	    <span class='varid'>ename</span> <span class='keyglyph'>=</span> <span class='varid'>elemName</span> <span class='varid'>al</span>
-<a name="line-495"></a>
-<a name="line-496"></a>      <span class='varid'>checkForUniqueId</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-497"></a>
-<a name="line-498"></a>      <span class='varid'>checkForUniqueId</span> <span class='varid'>nd</span> <span class='keyword'>_</span>
-<a name="line-499"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkForUniqueId: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-500"></a>
-<a name="line-501"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-502"></a>      <span class='comment'>-- 5. Validate that there exists only one NOTATION attribute for an element</span>
-<a name="line-503"></a>      <span class='varid'>checkForUniqueNotation</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-504"></a>      <span class='varid'>checkForUniqueNotation</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-505"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>ename</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-506"></a>	    <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Element \""</span><span class='varop'>++</span> <span class='varid'>elemName</span> <span class='varid'>al</span> <span class='varop'>++</span> <span class='str'>"\" already has attribute of type "</span><span class='varop'>++</span>
-<a name="line-507"></a>		       <span class='str'>"NOTATION, another attribute \""</span><span class='varop'>++</span> <span class='varid'>attName</span> <span class='varid'>al</span> <span class='varop'>++</span> <span class='str'>"\" of type NOTATION "</span><span class='varop'>++</span>
-<a name="line-508"></a>		       <span class='str'>"is not permitted."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-509"></a>		 <span class='varop'>++</span>
-<a name="line-510"></a>		 <span class='varid'>checkForUniqueNotation</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-511"></a>
-<a name="line-512"></a>	    <span class='keyword'>else</span> <span class='varid'>checkForUniqueNotation</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>ename</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-513"></a>	    <span class='keyword'>where</span>
-<a name="line-514"></a>	    <span class='varid'>ename</span> <span class='keyglyph'>=</span> <span class='varid'>elemName</span> <span class='varid'>al</span>
-<a name="line-515"></a>
-<a name="line-516"></a>      <span class='varid'>checkForUniqueNotation</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-517"></a>
-<a name="line-518"></a>      <span class='varid'>checkForUniqueNotation</span> <span class='varid'>nd</span> <span class='keyword'>_</span>
-<a name="line-519"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkForUniqueNotation: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-520"></a>
-<a name="line-521"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-522"></a>      <span class='comment'>-- 6. Validate that ID attributes have the type #IMPLIED or #REQUIRED</span>
-<a name="line-523"></a>      <span class='varid'>checkIdKindConstraint</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-524"></a>      <span class='varid'>checkIdKindConstraint</span> <span class='varid'>nd</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-525"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>attKind</span> <span class='varop'>==</span> <span class='varid'>k_implied</span><span class='layout'>)</span> <span class='varop'>||</span> <span class='layout'>(</span><span class='varid'>attKind</span> <span class='varop'>==</span> <span class='varid'>k_required</span><span class='layout'>)</span>
-<a name="line-526"></a>	    <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-527"></a>	    <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"ID attribute \""</span><span class='varop'>++</span> <span class='varid'>attName</span> <span class='varid'>al</span> <span class='varop'>++</span><span class='str'>"\" must have a declared default "</span><span class='varop'>++</span>
-<a name="line-528"></a>	              <span class='str'>"of \"#IMPLIED\" or \"REQUIRED\""</span><span class='layout'>)</span> <span class='varid'>nd</span>
-<a name="line-529"></a>	    <span class='keyword'>where</span>
-<a name="line-530"></a>	    <span class='varid'>attKind</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_kind</span> <span class='varid'>al</span>
-<a name="line-531"></a>
-<a name="line-532"></a>      <span class='varid'>checkIdKindConstraint</span> <span class='varid'>nd</span>
-<a name="line-533"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkIdKindConstraint: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-534"></a>
-<a name="line-535"></a>
-<a name="line-536"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-537"></a>      <span class='comment'>-- 7. Validate that all referenced notations are declared</span>
-<a name="line-538"></a>      <span class='varid'>checkNotationDeclaration</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-539"></a>      <span class='varid'>checkNotationDeclaration</span> <span class='varid'>notations</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-540"></a>          <span class='keyglyph'>=</span> <span class='varid'>checkNotations</span> <span class='varop'>$$</span> <span class='varid'>cs</span>
-<a name="line-541"></a>	  <span class='keyword'>where</span>
-<a name="line-542"></a>	  <span class='varid'>checkNotations</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-543"></a>	  <span class='varid'>checkNotations</span> <span class='varid'>nd</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>NAME</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-544"></a>	      <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>notation</span> <span class='varop'>`elem`</span> <span class='varid'>notations</span>
-<a name="line-545"></a>	        <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-546"></a>	        <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"The notation \""</span><span class='varop'>++</span> <span class='varid'>notation</span> <span class='varop'>++</span><span class='str'>"\" must be declared when "</span><span class='varop'>++</span>
-<a name="line-547"></a>		          <span class='str'>"referenced in the notation type list for attribute \""</span><span class='varop'>++</span> <span class='varid'>attName</span> <span class='varid'>al</span> <span class='varop'>++</span>
-<a name="line-548"></a>			  <span class='str'>"\" of element \""</span><span class='varop'>++</span> <span class='varid'>elemName</span> <span class='varid'>al</span> <span class='varop'>++</span><span class='str'>"\"."</span><span class='layout'>)</span> <span class='varid'>nd</span>
-<a name="line-549"></a>                <span class='keyword'>where</span>
-<a name="line-550"></a>	        <span class='varid'>notation</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al'</span>
-<a name="line-551"></a>
-<a name="line-552"></a>          <span class='varid'>checkNotations</span> <span class='varid'>nd</span>
-<a name="line-553"></a>              <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkNotations: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-554"></a>
-<a name="line-555"></a>      <span class='varid'>checkNotationDeclaration</span> <span class='keyword'>_</span> <span class='varid'>nd</span>
-<a name="line-556"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkNotationDeclaration: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-557"></a>
-<a name="line-558"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-559"></a>      <span class='comment'>-- 8. Validate that notations are not declared for EMPTY elements</span>
-<a name="line-560"></a>      <span class='varid'>checkNoNotationForEmptyElement</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-561"></a>      <span class='varid'>checkNoNotationForEmptyElement</span> <span class='varid'>emptyElems</span> <span class='varid'>nd</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-562"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>elemName</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varop'>`elem`</span> <span class='varid'>emptyElems</span>
-<a name="line-563"></a>	    <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute \""</span><span class='varop'>++</span> <span class='varid'>attName</span> <span class='varid'>al</span> <span class='varop'>++</span><span class='str'>"\" of type NOTATION must not be "</span><span class='varop'>++</span>
-<a name="line-564"></a>	              <span class='str'>"declared on the element \""</span><span class='varop'>++</span> <span class='varid'>elemName</span> <span class='varid'>al</span> <span class='varop'>++</span><span class='str'>"\" declared EMPTY."</span><span class='layout'>)</span>
-<a name="line-565"></a>		      <span class='varid'>nd</span>
-<a name="line-566"></a>	    <span class='keyword'>else</span> <span class='conid'>[]</span>
-<a name="line-567"></a>
-<a name="line-568"></a>      <span class='varid'>checkNoNotationForEmptyElement</span> <span class='keyword'>_</span> <span class='varid'>nd</span>
-<a name="line-569"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkNoNotationForEmptyElement: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-570"></a>
-<a name="line-571"></a>      <span class='comment'>--------------------------------------------------------------------------</span>
-<a name="line-572"></a>      <span class='comment'>-- 9. Validate that default values meet the lexical constraints of the attribute types</span>
-<a name="line-573"></a>      <span class='varid'>checkDefaultValueTypes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-574"></a>      <span class='varid'>checkDefaultValueTypes</span> <span class='varid'>dtdPart'</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-575"></a>          <span class='keyglyph'>=</span> <span class='varid'>checkAttributeValue</span> <span class='varid'>dtdPart'</span> <span class='varid'>n</span> <span class='varid'>n</span>
-<a name="line-576"></a>
-<a name="line-577"></a>      <span class='varid'>checkDefaultValueTypes</span> <span class='keyword'>_</span> <span class='varid'>nd</span>
-<a name="line-578"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkDefaultValueTypes: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-579"></a>
-<a name="line-580"></a>
-<a name="line-581"></a>
-<a name="line-582"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-583"></a>
-<a name="line-584"></a><span class='comment'>-- |</span>
-<a name="line-585"></a><span class='comment'>-- Removes doublicate declarations from the DTD, which first declaration is</span>
-<a name="line-586"></a><span class='comment'>-- binding. This is the case for ATTLIST and ENTITY declarations.</span>
-<a name="line-587"></a><span class='comment'>--</span>
-<a name="line-588"></a><span class='comment'>--    - returns : A function that replaces the children of DOCTYPE nodes by a list</span>
-<a name="line-589"></a><span class='comment'>--               where all multiple declarations are removed.</span>
-<a name="line-590"></a>
-<a name="line-591"></a><a name="removeDoublicateDefs"></a><span class='definition'>removeDoublicateDefs</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-592"></a><span class='definition'>removeDoublicateDefs</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>DOCTYPE</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-593"></a>    <span class='keyglyph'>=</span> <span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>removeDoubleDefs</span> <span class='conid'>[]</span> <span class='varid'>cs</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-594"></a>      <span class='keyword'>where</span>
-<a name="line-595"></a>      <span class='varid'>removeDoubleDefs</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-596"></a>      <span class='varid'>removeDoubleDefs</span> <span class='varid'>used</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span>
-<a name="line-597"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>elemAttr</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-598"></a>            <span class='keyword'>then</span> <span class='varid'>removeDoubleDefs</span> <span class='varid'>used</span> <span class='varid'>xs</span>
-<a name="line-599"></a>            <span class='keyword'>else</span> <span class='varid'>x</span>
-<a name="line-600"></a>	         <span class='conop'>:</span>
-<a name="line-601"></a>	         <span class='varid'>removeDoubleDefs</span> <span class='layout'>(</span><span class='varid'>elemAttr</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span> <span class='varid'>xs</span>
-<a name="line-602"></a>            <span class='keyword'>where</span>
-<a name="line-603"></a>	    <span class='varid'>elemAttr</span> <span class='keyglyph'>=</span> <span class='varid'>elemName</span> <span class='varop'>++</span> <span class='str'>"|"</span> <span class='varop'>++</span> <span class='varid'>attrName</span>
-<a name="line-604"></a>            <span class='varid'>attrName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al</span>
-<a name="line-605"></a>            <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-606"></a>
-<a name="line-607"></a>
-<a name="line-608"></a>      <span class='varid'>removeDoubleDefs</span> <span class='varid'>used</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ENTITY</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span>
-<a name="line-609"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>name</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-610"></a>            <span class='keyword'>then</span> <span class='varid'>removeDoubleDefs</span> <span class='varid'>used</span> <span class='varid'>xs</span>
-<a name="line-611"></a>            <span class='keyword'>else</span> <span class='varid'>x</span>
-<a name="line-612"></a>	         <span class='conop'>:</span>
-<a name="line-613"></a>	         <span class='varid'>removeDoubleDefs</span> <span class='layout'>(</span><span class='varid'>name</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span> <span class='varid'>xs</span>
-<a name="line-614"></a>            <span class='keyword'>where</span>
-<a name="line-615"></a>            <span class='varid'>name</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-616"></a>
-<a name="line-617"></a>
-<a name="line-618"></a>      <span class='varid'>removeDoubleDefs</span> <span class='varid'>used</span> <span class='layout'>(</span><span class='varid'>x</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span>
-<a name="line-619"></a>          <span class='keyglyph'>=</span> <span class='varid'>x</span> <span class='conop'>:</span> <span class='varid'>removeDoubleDefs</span> <span class='varid'>used</span> <span class='varid'>xs</span>
-<a name="line-620"></a>
-<a name="line-621"></a>      <span class='varid'>removeDoubleDefs</span> <span class='keyword'>_</span> <span class='conid'>[]</span>
-<a name="line-622"></a>          <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-623"></a>
-<a name="line-624"></a>
-<a name="line-625"></a><span class='definition'>removeDoublicateDefs</span> <span class='varid'>n</span>
-<a name="line-626"></a>    <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-627"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-DocTransformation.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-DocTransformation.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-DocTransformation.html
+++ /dev/null
@@ -1,244 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This module provides functions for transforming XML documents represented as</span>
-<a name="line-3"></a><span class='comment'>-- XmlTree with respect to its DTD.</span>
-<a name="line-4"></a>
-<a name="line-5"></a><span class='comment'>-- Transforming an XML document with respect to its DTD means:</span>
-<a name="line-6"></a><span class='comment'>--</span>
-<a name="line-7"></a><span class='comment'>--  - add all attributes with default values</span>
-<a name="line-8"></a><span class='comment'>--</span>
-<a name="line-9"></a><span class='comment'>--  - normalize all attribute values</span>
-<a name="line-10"></a><span class='comment'>--</span>
-<a name="line-11"></a><span class='comment'>--  - sort all attributes in lexical order</span>
-<a name="line-12"></a><span class='comment'>--</span>
-<a name="line-13"></a>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='comment'>-- Note: Transformation should be started after validation.</span>
-<a name="line-16"></a>
-<a name="line-17"></a>
-<a name="line-18"></a><span class='comment'>-- Before the document is validated, a lookup-table is build on the basis of</span>
-<a name="line-19"></a><span class='comment'>-- the DTD which maps element names to their transformation functions.</span>
-<a name="line-20"></a><span class='comment'>-- After this initialization phase the whole document is traversed in preorder</span>
-<a name="line-21"></a><span class='comment'>-- and every element is transformed by the XmlFilter from the lookup-table.</span>
-<a name="line-22"></a>
-<a name="line-23"></a><span class='comment'>-- Special namings in source code:</span>
-<a name="line-24"></a><span class='comment'>--</span>
-<a name="line-25"></a><span class='comment'>--  - nd - XDTD node</span>
-<a name="line-26"></a><span class='comment'>--</span>
-<a name="line-27"></a><span class='comment'>--  - n  - XTag node</span>
-<a name="line-28"></a><span class='comment'>--</span>
-<a name="line-29"></a><span class='comment'>-- Author : .\\artin Schmidt</span>
-<a name="line-30"></a>
-<a name="line-31"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>DocTransformation</span>
-<a name="line-32"></a>    <span class='layout'>(</span> <span class='varid'>transform</span>
-<a name="line-33"></a>    <span class='layout'>)</span>
-<a name="line-34"></a><span class='keyword'>where</span>
-<a name="line-35"></a>
-<a name="line-36"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-37"></a>
-<a name="line-38"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>AttributeValueValidation</span>
-<a name="line-39"></a>
-<a name="line-40"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Maybe</span>
-<a name="line-41"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>List</span>
-<a name="line-42"></a>
-<a name="line-43"></a>
-<a name="line-44"></a>
-<a name="line-45"></a><span class='comment'>-- |</span>
-<a name="line-46"></a><span class='comment'>-- Lookup-table which maps element names to their transformation functions. The</span>
-<a name="line-47"></a><span class='comment'>-- transformation functions are XmlFilters.</span>
-<a name="line-48"></a>
-<a name="line-49"></a><a name="TransEnvTable"></a><span class='keyword'>type</span> <span class='conid'>TransEnvTable</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>TransEnv</span><span class='keyglyph'>]</span>
-<a name="line-50"></a><a name="TransEnv"></a><span class='keyword'>type</span> <span class='conid'>TransEnv</span> 		<span class='keyglyph'>=</span> <span class='layout'>(</span><span class='conid'>ElemName</span><span class='layout'>,</span> <span class='conid'>TransFct</span><span class='layout'>)</span>
-<a name="line-51"></a><a name="ElemName"></a><span class='keyword'>type</span> <span class='conid'>ElemName</span>		<span class='keyglyph'>=</span> <span class='conid'>String</span>
-<a name="line-52"></a><a name="TransFct"></a><span class='keyword'>type</span> <span class='conid'>TransFct</span>		<span class='keyglyph'>=</span> <span class='conid'>XmlFilter</span>
-<a name="line-53"></a>
-<a name="line-54"></a>
-<a name="line-55"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-56"></a>
-<a name="line-57"></a>
-<a name="line-58"></a><span class='comment'>-- |</span>
-<a name="line-59"></a><span class='comment'>-- filter for transforming the document.</span>
-<a name="line-60"></a><span class='comment'>--</span>
-<a name="line-61"></a><span class='comment'>--    * 1.parameter dtdPart :  the DTD subset (Node @DOCTYPE@) of the XmlTree</span>
-<a name="line-62"></a><span class='comment'>--</span>
-<a name="line-63"></a><span class='comment'>--    - 2.parameter doc :  the document subset of the XmlTree</span>
-<a name="line-64"></a><span class='comment'>--</span>
-<a name="line-65"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-66"></a>
-<a name="line-67"></a><a name="transform"></a><span class='definition'>transform</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-68"></a><span class='definition'>transform</span> <span class='varid'>dtdPart</span> <span class='varid'>dom</span>
-<a name="line-69"></a>    <span class='keyglyph'>=</span> <span class='varid'>traverseTree</span> <span class='varid'>transTable</span> <span class='varid'>dom</span>
-<a name="line-70"></a>    <span class='keyword'>where</span>
-<a name="line-71"></a>    <span class='varid'>transTable</span> <span class='keyglyph'>=</span> <span class='comment'>{-# SCC "buildAllTransFcts" #-}</span> <span class='varid'>buildAllTransformationFunctions</span> <span class='varid'>dtdPart</span>
-<a name="line-72"></a>
-<a name="line-73"></a>
-<a name="line-74"></a>
-<a name="line-75"></a><span class='comment'>-- |</span>
-<a name="line-76"></a><span class='comment'>-- Traverse the XmlTree in preorder.</span>
-<a name="line-77"></a><span class='comment'>--</span>
-<a name="line-78"></a><span class='comment'>--    * 1.parameter transEnv :  lookup-table which maps element names to their transformation functions</span>
-<a name="line-79"></a><span class='comment'>--</span>
-<a name="line-80"></a><span class='comment'>--    - returns : the whole transformed document</span>
-<a name="line-81"></a>
-<a name="line-82"></a><a name="traverseTree"></a><span class='definition'>traverseTree</span> <span class='keyglyph'>::</span> <span class='conid'>TransEnvTable</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-83"></a><span class='definition'>traverseTree</span> <span class='varid'>transEnv</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-84"></a>    <span class='keyglyph'>=</span> <span class='varid'>replaceChildren</span> <span class='layout'>(</span><span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>traverseTree</span> <span class='varid'>transEnv</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='layout'>(</span><span class='varid'>transFct</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-85"></a>      <span class='keyword'>where</span>
-<a name="line-86"></a>      <span class='varid'>transFct</span> <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='layout'>(</span><span class='varid'>lookup</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varid'>transEnv</span><span class='layout'>)</span> <span class='keyword'>of</span>
-<a name="line-87"></a>          <span class='conid'>Nothing</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>this</span>   <span class='comment'>-- element not in DTD, can't be transformed</span>
-<a name="line-88"></a>	  <span class='conid'>Just</span> <span class='varid'>f</span>  <span class='keyglyph'>-&gt;</span> <span class='varid'>f</span>
-<a name="line-89"></a>
-<a name="line-90"></a><span class='definition'>traverseTree</span> <span class='keyword'>_</span> <span class='varid'>n</span> <span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='varid'>n</span><span class='keyglyph'>]</span>
-<a name="line-91"></a>
-<a name="line-92"></a>
-<a name="line-93"></a><span class='comment'>-- |</span>
-<a name="line-94"></a><span class='comment'>-- Build all transformation functions.</span>
-<a name="line-95"></a><span class='comment'>--</span>
-<a name="line-96"></a><span class='comment'>--    * 1.parameter dtdPart :  the DTD subset, root node should be of type @DOCTYPE@</span>
-<a name="line-97"></a><span class='comment'>--</span>
-<a name="line-98"></a><span class='comment'>--    - returns : lookup-table which maps element names to their transformation functions</span>
-<a name="line-99"></a>
-<a name="line-100"></a><a name="buildAllTransformationFunctions"></a><span class='definition'>buildAllTransformationFunctions</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TransEnvTable</span>
-<a name="line-101"></a><span class='definition'>buildAllTransformationFunctions</span> <span class='varid'>dtdPart</span>
-<a name="line-102"></a>    <span class='keyglyph'>=</span> <span class='varid'>buildTransRoot</span>
-<a name="line-103"></a>      <span class='conop'>:</span>
-<a name="line-104"></a>      <span class='comment'>-- construct the list of filters</span>
-<a name="line-105"></a>      <span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>buildTransformationFunctions</span> <span class='varid'>dtdNodes</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>isElement</span> <span class='varop'>$$</span> <span class='varid'>dtdNodes</span><span class='layout'>)</span>
-<a name="line-106"></a>      <span class='keyword'>where</span>
-<a name="line-107"></a>      <span class='varid'>dtdNodes</span> <span class='keyglyph'>=</span> <span class='varid'>getChildren</span> <span class='varid'>dtdPart</span>
-<a name="line-108"></a>
-<a name="line-109"></a>
-<a name="line-110"></a><span class='comment'>-- |</span>
-<a name="line-111"></a><span class='comment'>-- Build a transformation function for the document root. By root @\/@</span>
-<a name="line-112"></a><span class='comment'>-- is meant, which is the topmost dummy created by the parser. This function is only a</span>
-<a name="line-113"></a><span class='comment'>-- dummy, too.</span>
-<a name="line-114"></a><span class='comment'>--</span>
-<a name="line-115"></a><span class='comment'>--    * returns : entry for the lookup-table</span>
-<a name="line-116"></a>
-<a name="line-117"></a><a name="buildTransRoot"></a><span class='definition'>buildTransRoot</span> <span class='keyglyph'>::</span> <span class='conid'>TransEnv</span>
-<a name="line-118"></a><span class='definition'>buildTransRoot</span> <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>t_root</span><span class='layout'>,</span> <span class='varid'>this</span><span class='layout'>)</span>
-<a name="line-119"></a>
-<a name="line-120"></a>
-<a name="line-121"></a>
-<a name="line-122"></a><span class='comment'>-- |</span>
-<a name="line-123"></a><span class='comment'>-- Build transformation functions for an element.</span>
-<a name="line-124"></a><span class='comment'>--</span>
-<a name="line-125"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-126"></a><span class='comment'>--</span>
-<a name="line-127"></a><span class='comment'>--    * 1.parameter nd :  element declaration for which the transformation functions are</span>
-<a name="line-128"></a><span class='comment'>--                    created</span>
-<a name="line-129"></a><span class='comment'>--</span>
-<a name="line-130"></a><span class='comment'>--    - returns : entry for the lookup-table</span>
-<a name="line-131"></a>
-<a name="line-132"></a><a name="buildTransformationFunctions"></a><span class='definition'>buildTransformationFunctions</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>TransEnv</span>
-<a name="line-133"></a>
-<a name="line-134"></a><span class='definition'>buildTransformationFunctions</span> <span class='varid'>dtdPart</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-135"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>name</span><span class='layout'>,</span> <span class='varid'>transFct</span><span class='layout'>)</span>
-<a name="line-136"></a>    <span class='keyword'>where</span>
-<a name="line-137"></a>    <span class='varid'>name</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-138"></a>    <span class='varid'>transFct</span> <span class='keyglyph'>=</span> <span class='varid'>lexicographicAttributeOrder</span>
-<a name="line-139"></a>               <span class='varop'>`o`</span>
-<a name="line-140"></a>	       <span class='varid'>normalizeAttributeValues</span> <span class='varid'>n</span> <span class='varid'>dtdPart</span>
-<a name="line-141"></a>	       <span class='varop'>`o`</span>
-<a name="line-142"></a>	       <span class='varid'>setDefaultAttributeValues</span> <span class='varid'>n</span> <span class='varid'>dtdPart</span>
-<a name="line-143"></a>
-<a name="line-144"></a><span class='definition'>buildTransformationFunctions</span> <span class='keyword'>_</span> <span class='varid'>n</span>
-<a name="line-145"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"buildTransformationFunctions: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-146"></a>
-<a name="line-147"></a>
-<a name="line-148"></a>
-<a name="line-149"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-150"></a>
-<a name="line-151"></a>
-<a name="line-152"></a><span class='comment'>-- |</span>
-<a name="line-153"></a><span class='comment'>-- Sort the attributes of an element in lexicographic order.</span>
-<a name="line-154"></a><span class='comment'>--</span>
-<a name="line-155"></a><span class='comment'>--    * returns : a function which takes an element (XTag), sorts its</span>
-<a name="line-156"></a><span class='comment'>--                  attributes in lexicographic order and returns the changed element</span>
-<a name="line-157"></a>
-<a name="line-158"></a><a name="lexicographicAttributeOrder"></a><span class='definition'>lexicographicAttributeOrder</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-159"></a><span class='definition'>lexicographicAttributeOrder</span>
-<a name="line-160"></a>    <span class='keyglyph'>=</span> <span class='varid'>processAttrl</span> <span class='varid'>sortAttrl</span>
-<a name="line-161"></a>      <span class='keyword'>where</span>
-<a name="line-162"></a>      <span class='varid'>sortAttrl</span> <span class='varid'>al</span>
-<a name="line-163"></a>	  <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>al</span> <span class='varop'>!!</span><span class='layout'>)</span> <span class='varid'>ixs</span>
-<a name="line-164"></a>	    <span class='keyword'>where</span>
-<a name="line-165"></a>	    <span class='varid'>ns</span>  <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='varid'>nameOf</span> <span class='varid'>al</span>
-<a name="line-166"></a>	    <span class='varid'>ixs</span> <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='varid'>snd</span> <span class='varop'>.</span> <span class='varid'>sort</span> <span class='varop'>.</span> <span class='varid'>zip</span> <span class='varid'>ns</span> <span class='varop'>$</span> <span class='keyglyph'>[</span><span class='layout'>(</span><span class='num'>0</span><span class='keyglyph'>::</span><span class='conid'>Int</span><span class='layout'>)</span><span class='keyglyph'>..</span><span class='keyglyph'>]</span>
-<a name="line-167"></a>
-<a name="line-168"></a><span class='comment'>-- |</span>
-<a name="line-169"></a><span class='comment'>-- Normalize attribute values.</span>
-<a name="line-170"></a><span class='comment'>--</span>
-<a name="line-171"></a><span class='comment'>--    * returns : a function which takes an element (XTag), normalizes its</span>
-<a name="line-172"></a><span class='comment'>--                  attribute values and returns the changed element</span>
-<a name="line-173"></a>
-<a name="line-174"></a><a name="normalizeAttributeValues"></a><span class='definition'>normalizeAttributeValues</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-175"></a><span class='definition'>normalizeAttributeValues</span> <span class='varid'>elemDescr</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>dtdPart</span>
-<a name="line-176"></a>    <span class='keyglyph'>=</span> <span class='varid'>processAttr</span> <span class='varid'>normalizeAttr</span>
-<a name="line-177"></a>      <span class='keyword'>where</span>
-<a name="line-178"></a>      <span class='varid'>elemName</span>     <span class='keyglyph'>=</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_name</span> <span class='varid'>elemDescr</span>
-<a name="line-179"></a>      <span class='varid'>declaredAtts</span> <span class='keyglyph'>=</span> <span class='varid'>isAttlistOfElement</span> <span class='varid'>elemName</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-180"></a>
-<a name="line-181"></a>      <span class='varid'>normalizeAttr</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-182"></a>      <span class='varid'>normalizeAttr</span> <span class='varid'>att</span>
-<a name="line-183"></a>	  <span class='keyglyph'>=</span> <span class='varid'>normalizeAttrValue</span> <span class='layout'>(</span><span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>attDescr</span>
-<a name="line-184"></a>				<span class='keyword'>then</span> <span class='conid'>Nothing</span>
-<a name="line-185"></a>				<span class='keyword'>else</span> <span class='conid'>Just</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='varid'>attDescr</span><span class='layout'>)</span><span class='layout'>)</span> <span class='varid'>att</span>
-<a name="line-186"></a>	    <span class='keyword'>where</span>
-<a name="line-187"></a>	    <span class='varid'>attDescr</span> <span class='keyglyph'>=</span> <span class='varid'>filter</span> <span class='layout'>(</span><span class='keyglyph'>\</span> <span class='varid'>x</span> <span class='keyglyph'>-&gt;</span> <span class='layout'>(</span><span class='varid'>valueOfDTD</span> <span class='varid'>a_value</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='varop'>==</span> <span class='varid'>nameOf</span> <span class='varid'>att</span><span class='layout'>)</span> <span class='varid'>declaredAtts</span>
-<a name="line-188"></a>
-<a name="line-189"></a>      <span class='varid'>normalizeAttrValue</span> <span class='keyglyph'>::</span> <span class='conid'>Maybe</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-190"></a>      <span class='varid'>normalizeAttrValue</span> <span class='varid'>descr</span>
-<a name="line-191"></a>	  <span class='keyglyph'>=</span> <span class='varid'>modifyChildren</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>modifyText</span> <span class='layout'>(</span><span class='varid'>normalizeAttributeValue</span> <span class='varid'>descr</span><span class='layout'>)</span> <span class='varop'>$$</span><span class='layout'>)</span> <span class='varop'>.</span> <span class='varid'>xmlTreesToText</span><span class='layout'>)</span>
-<a name="line-192"></a>
-<a name="line-193"></a><span class='definition'>normalizeAttributeValues</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-194"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"normalizeAttributeValues: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-195"></a>
-<a name="line-196"></a>
-<a name="line-197"></a>
-<a name="line-198"></a><span class='comment'>-- |</span>
-<a name="line-199"></a><span class='comment'>-- Set default attribute values if they are not set.</span>
-<a name="line-200"></a><span class='comment'>--</span>
-<a name="line-201"></a><span class='comment'>--    * returns : a function which takes an element (XTag), adds missing attribute</span>
-<a name="line-202"></a><span class='comment'>--                  defaults and returns the changed element</span>
-<a name="line-203"></a>
-<a name="line-204"></a><a name="setDefaultAttributeValues"></a><span class='definition'>setDefaultAttributeValues</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-205"></a><span class='definition'>setDefaultAttributeValues</span> <span class='varid'>elemDescr</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>dtdPart</span>
-<a name="line-206"></a>    <span class='keyglyph'>=</span> <span class='varid'>seqF</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='varid'>setDefault</span> <span class='varid'>defaultAtts</span><span class='layout'>)</span>
-<a name="line-207"></a>      <span class='keyword'>where</span>
-<a name="line-208"></a>						<span class='comment'>-- select the element name from the dtd</span>
-<a name="line-209"></a>      <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_name</span> <span class='varid'>elemDescr</span>
-<a name="line-210"></a>
-<a name="line-211"></a>      <span class='varid'>defaultAtts</span> <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>isFixedAttrKind</span>		<span class='comment'>-- select attributes with default values</span>
-<a name="line-212"></a>		      <span class='varop'>`orElse`</span>
-<a name="line-213"></a>		      <span class='varid'>isDefaultAttrKind</span>
-<a name="line-214"></a>		    <span class='layout'>)</span>
-<a name="line-215"></a>                    <span class='varop'>$$</span>
-<a name="line-216"></a>		    <span class='layout'>(</span><span class='varid'>isAttlistOfElement</span> <span class='varid'>elemName</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span><span class='layout'>)</span>
-<a name="line-217"></a>
-<a name="line-218"></a>      <span class='varid'>setDefault</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-219"></a>      <span class='varid'>setDefault</span> <span class='varid'>attrDescr</span>			<span class='comment'>-- add the default attributes</span>
-<a name="line-220"></a>	  <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>addAttr</span> <span class='varid'>attName</span> <span class='varid'>defaultValue</span>	<span class='comment'>-- to tag nodes with missing attributes</span>
-<a name="line-221"></a>	      <span class='varop'>`whenNot`</span>
-<a name="line-222"></a>	      <span class='varid'>hasAttr</span> <span class='varid'>attName</span>
-<a name="line-223"></a>	    <span class='layout'>)</span>
-<a name="line-224"></a>	    <span class='varop'>`when`</span>
-<a name="line-225"></a>	    <span class='varid'>isXTag</span>
-<a name="line-226"></a>	    <span class='keyword'>where</span>
-<a name="line-227"></a>	    <span class='varid'>attName</span>      <span class='keyglyph'>=</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_value</span>   <span class='varid'>attrDescr</span>
-<a name="line-228"></a>	    <span class='varid'>defaultValue</span> <span class='keyglyph'>=</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_default</span> <span class='varid'>attrDescr</span>
-<a name="line-229"></a>
-<a name="line-230"></a>
-<a name="line-231"></a><span class='definition'>setDefaultAttributeValues</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-232"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"setDefaultAttributeValues: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-233"></a>
-<a name="line-234"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-DocValidation.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-DocValidation.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-DocValidation.html
+++ /dev/null
@@ -1,547 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This module provides functions for validating XML Documents represented as</span>
-<a name="line-3"></a><span class='comment'>-- XmlTree.</span>
-<a name="line-4"></a>
-<a name="line-5"></a><span class='comment'>-- Unlike other popular XML validation tools the validation process returns</span>
-<a name="line-6"></a><span class='comment'>-- a list of errors instead of aborting after the first error was found.</span>
-<a name="line-7"></a>
-<a name="line-8"></a>
-<a name="line-9"></a><span class='comment'>-- Before the document is validated, a lookup-table is build on the basis of</span>
-<a name="line-10"></a><span class='comment'>-- the DTD which maps element names to their validation functions.</span>
-<a name="line-11"></a><span class='comment'>-- After this initialization phase the whole document is traversed in preorder</span>
-<a name="line-12"></a><span class='comment'>-- and every element is validated by the XmlFilter from the lookup-table.</span>
-<a name="line-13"></a>
-<a name="line-14"></a><span class='comment'>-- Special namings in source code:</span>
-<a name="line-15"></a><span class='comment'>--</span>
-<a name="line-16"></a><span class='comment'>--  - nd - XDTD node</span>
-<a name="line-17"></a><span class='comment'>--</span>
-<a name="line-18"></a><span class='comment'>--  - n  - XTag node</span>
-<a name="line-19"></a><span class='comment'>--</span>
-<a name="line-20"></a><span class='comment'>-- Author : .\\artin Schmidt</span>
-<a name="line-21"></a>
-<a name="line-22"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>DocValidation</span>
-<a name="line-23"></a>    <span class='layout'>(</span> <span class='varid'>validateDoc</span>
-<a name="line-24"></a>    <span class='layout'>)</span>
-<a name="line-25"></a><span class='keyword'>where</span>
-<a name="line-26"></a>
-<a name="line-27"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-28"></a>
-<a name="line-29"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>AttributeValueValidation</span>
-<a name="line-30"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>XmlRE</span>
-<a name="line-31"></a>
-<a name="line-32"></a><span class='keyword'>import</span> <span class='conid'>Data</span><span class='varop'>.</span><span class='conid'>Maybe</span>
-<a name="line-33"></a>
-<a name="line-34"></a><span class='comment'>-- |</span>
-<a name="line-35"></a><span class='comment'>-- Lookup-table which maps element names to their validation functions. The</span>
-<a name="line-36"></a><span class='comment'>-- validation functions are XmlFilters.</span>
-<a name="line-37"></a>
-<a name="line-38"></a><a name="ValiEnvTable"></a><span class='keyword'>type</span> <span class='conid'>ValiEnvTable</span>	<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>ValiEnv</span><span class='keyglyph'>]</span>
-<a name="line-39"></a><a name="ValiEnv"></a><span class='keyword'>type</span> <span class='conid'>ValiEnv</span> 		<span class='keyglyph'>=</span> <span class='layout'>(</span><span class='conid'>ElemName</span><span class='layout'>,</span> <span class='conid'>ValFct</span><span class='layout'>)</span>
-<a name="line-40"></a><a name="ElemName"></a><span class='keyword'>type</span> <span class='conid'>ElemName</span>		<span class='keyglyph'>=</span> <span class='conid'>String</span>
-<a name="line-41"></a><a name="ValFct"></a><span class='keyword'>type</span> <span class='conid'>ValFct</span>		<span class='keyglyph'>=</span> <span class='conid'>XmlFilter</span>
-<a name="line-42"></a>
-<a name="line-43"></a>
-<a name="line-44"></a>
-<a name="line-45"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-46"></a>
-<a name="line-47"></a>
-<a name="line-48"></a><span class='comment'>-- |</span>
-<a name="line-49"></a><span class='comment'>-- Validate a document.</span>
-<a name="line-50"></a><span class='comment'>--</span>
-<a name="line-51"></a><span class='comment'>--    * 1.parameter dtdPart :  the DTD subset (Node @DOCTYPE@) of the XmlTree</span>
-<a name="line-52"></a><span class='comment'>--</span>
-<a name="line-53"></a><span class='comment'>--    - 2.parameter doc :  the document subset of the XmlTree</span>
-<a name="line-54"></a><span class='comment'>--</span>
-<a name="line-55"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-56"></a>
-<a name="line-57"></a><a name="validateDoc"></a><span class='definition'>validateDoc</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-58"></a><span class='definition'>validateDoc</span> <span class='varid'>dtdPart</span> <span class='varid'>doc</span>
-<a name="line-59"></a>    <span class='keyglyph'>=</span> <span class='varid'>traverseTree</span> <span class='varid'>valTable</span> <span class='varid'>doc</span>
-<a name="line-60"></a>    <span class='keyword'>where</span>
-<a name="line-61"></a>    <span class='varid'>valTable</span> <span class='keyglyph'>=</span> <span class='comment'>{-# SCC "buildAllValFcts" #-}</span> <span class='varid'>buildAllValidationFunctions</span> <span class='varid'>dtdPart</span>
-<a name="line-62"></a>
-<a name="line-63"></a>
-<a name="line-64"></a><span class='comment'>-- |</span>
-<a name="line-65"></a><span class='comment'>-- Traverse the XmlTree in preorder.</span>
-<a name="line-66"></a><span class='comment'>--</span>
-<a name="line-67"></a><span class='comment'>--    * 1.parameter valiEnv :  lookup-table which maps element names to their validation functions</span>
-<a name="line-68"></a><span class='comment'>--</span>
-<a name="line-69"></a><span class='comment'>--    - returns : list of errors</span>
-<a name="line-70"></a>
-<a name="line-71"></a><a name="traverseTree"></a><span class='definition'>traverseTree</span> <span class='keyglyph'>::</span> <span class='conid'>ValiEnvTable</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-72"></a><span class='definition'>traverseTree</span> <span class='varid'>valiEnv</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-73"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>valFct</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>traverseTree</span> <span class='varid'>valiEnv</span><span class='layout'>)</span> <span class='varid'>cs</span>
-<a name="line-74"></a>      <span class='keyword'>where</span>
-<a name="line-75"></a>      <span class='varid'>valFct</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-76"></a>      <span class='varid'>valFct</span>
-<a name="line-77"></a>          <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='layout'>(</span><span class='varid'>lookup</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varid'>valiEnv</span><span class='layout'>)</span> <span class='keyword'>of</span>
-<a name="line-78"></a>	    <span class='conid'>Nothing</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" not declared in DTD."</span><span class='layout'>)</span>
-<a name="line-79"></a>	    <span class='conid'>Just</span> <span class='varid'>f</span>  <span class='keyglyph'>-&gt;</span> <span class='varid'>f</span>
-<a name="line-80"></a>
-<a name="line-81"></a><span class='definition'>traverseTree</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-82"></a>
-<a name="line-83"></a>
-<a name="line-84"></a>
-<a name="line-85"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-86"></a>
-<a name="line-87"></a>
-<a name="line-88"></a><span class='comment'>-- |</span>
-<a name="line-89"></a><span class='comment'>-- Build all validation functions.</span>
-<a name="line-90"></a><span class='comment'>--</span>
-<a name="line-91"></a><span class='comment'>--    * 1.parameter dtdPart :  DTD subset, root node should be of type @DOCTYPE@</span>
-<a name="line-92"></a><span class='comment'>--</span>
-<a name="line-93"></a><span class='comment'>--    - returns : lookup-table which maps element names to their validation functions</span>
-<a name="line-94"></a>
-<a name="line-95"></a><a name="buildAllValidationFunctions"></a><span class='definition'>buildAllValidationFunctions</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>ValiEnvTable</span>
-<a name="line-96"></a><span class='definition'>buildAllValidationFunctions</span> <span class='varid'>dtdPart</span>
-<a name="line-97"></a>    <span class='keyglyph'>=</span> <span class='varid'>buildValidateRoot</span> <span class='varid'>dtdPart</span>
-<a name="line-98"></a>      <span class='conop'>:</span>
-<a name="line-99"></a>      <span class='comment'>-- construct a list of validation filters for all element declarations</span>
-<a name="line-100"></a>      <span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>buildValidateFunctions</span> <span class='varid'>dtdNodes</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>isElement</span> <span class='varop'>$$</span> <span class='varid'>dtdNodes</span><span class='layout'>)</span>
-<a name="line-101"></a>      <span class='keyword'>where</span>
-<a name="line-102"></a>      <span class='varid'>dtdNodes</span> <span class='keyglyph'>=</span> <span class='varid'>getChildren</span> <span class='varid'>dtdPart</span>
-<a name="line-103"></a>
-<a name="line-104"></a>
-<a name="line-105"></a><span class='comment'>-- |</span>
-<a name="line-106"></a><span class='comment'>-- Build a validation function for the document root. By root node @\/@</span>
-<a name="line-107"></a><span class='comment'>-- is meant, which is the topmost dummy created by the parser.</span>
-<a name="line-108"></a><span class='comment'>--</span>
-<a name="line-109"></a><span class='comment'>--    * 1.parameter dtdPart :  DTD subset, root node should be of type @DOCTYPE@</span>
-<a name="line-110"></a><span class='comment'>--</span>
-<a name="line-111"></a><span class='comment'>--    - returns : entry for the lookup-table</span>
-<a name="line-112"></a>
-<a name="line-113"></a><a name="buildValidateRoot"></a><span class='definition'>buildValidateRoot</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>ValiEnv</span>
-<a name="line-114"></a><span class='definition'>buildValidateRoot</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>DOCTYPE</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-115"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>t_root</span><span class='layout'>,</span> <span class='varid'>valFct</span><span class='layout'>)</span>
-<a name="line-116"></a>      <span class='keyword'>where</span>
-<a name="line-117"></a>      <span class='varid'>name</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-118"></a>
-<a name="line-119"></a>      <span class='varid'>valFct</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-120"></a>      <span class='varid'>valFct</span> <span class='varid'>nd</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-121"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>msg</span> <span class='varop'>==</span> <span class='str'>""</span>
-<a name="line-122"></a>            <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-123"></a>            <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Root Element must be "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span> <span class='varop'>++</span> <span class='str'>". "</span> <span class='varop'>++</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varid'>nd</span>
-<a name="line-124"></a>	    <span class='keyword'>where</span>
-<a name="line-125"></a>	    <span class='varid'>re</span> <span class='keyglyph'>=</span> <span class='varid'>re_sym</span> <span class='layout'>(</span><span class='varid'>name</span><span class='layout'>)</span>
-<a name="line-126"></a>	    <span class='varid'>msg</span> <span class='keyglyph'>=</span> <span class='varid'>checkRE</span> <span class='layout'>(</span><span class='varid'>matches</span> <span class='varid'>re</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-127"></a>
-<a name="line-128"></a>      <span class='varid'>valFct</span> <span class='varid'>n</span> <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"buildValidateRoot: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-129"></a>
-<a name="line-130"></a><span class='definition'>buildValidateRoot</span> <span class='varid'>nd</span>
-<a name="line-131"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"buildValidateRoot: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-132"></a>
-<a name="line-133"></a>
-<a name="line-134"></a><span class='comment'>-- |</span>
-<a name="line-135"></a><span class='comment'>-- Build validation functions for an element.</span>
-<a name="line-136"></a><span class='comment'>--</span>
-<a name="line-137"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-138"></a><span class='comment'>--</span>
-<a name="line-139"></a><span class='comment'>--    - 2.parameter nd :  element declaration for which the validation functions are</span>
-<a name="line-140"></a><span class='comment'>--                   created</span>
-<a name="line-141"></a><span class='comment'>--</span>
-<a name="line-142"></a><span class='comment'>--    - returns : entry for the lookup-table</span>
-<a name="line-143"></a>
-<a name="line-144"></a><a name="buildValidateFunctions"></a><span class='definition'>buildValidateFunctions</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>ValiEnv</span>
-<a name="line-145"></a>
-<a name="line-146"></a><span class='definition'>buildValidateFunctions</span> <span class='varid'>dtdPart</span> <span class='varid'>nd</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-147"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>elemName</span><span class='layout'>,</span> <span class='varid'>valFct</span><span class='layout'>)</span>
-<a name="line-148"></a>      <span class='keyword'>where</span>
-<a name="line-149"></a>      <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-150"></a>
-<a name="line-151"></a>      <span class='varid'>valFct</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-152"></a>      <span class='varid'>valFct</span> <span class='keyglyph'>=</span> <span class='varid'>buildContentValidation</span> <span class='varid'>nd</span>
-<a name="line-153"></a>               <span class='varop'>+++</span>
-<a name="line-154"></a>	       <span class='varid'>buildAttributeValidation</span> <span class='varid'>dtdPart</span> <span class='varid'>nd</span>
-<a name="line-155"></a>
-<a name="line-156"></a><span class='definition'>buildValidateFunctions</span> <span class='keyword'>_</span> <span class='varid'>nd</span>
-<a name="line-157"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"buildValidateFunctions: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-158"></a>
-<a name="line-159"></a>
-<a name="line-160"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-161"></a>
-<a name="line-162"></a>
-<a name="line-163"></a><span class='comment'>-- |</span>
-<a name="line-164"></a><span class='comment'>-- Build validation functions for the content model of an element.</span>
-<a name="line-165"></a><span class='comment'>-- Validity constraint: Element Valid (3 \/ p.18 in Spec)</span>
-<a name="line-166"></a><span class='comment'>--</span>
-<a name="line-167"></a><span class='comment'>--    * 1.parameter nd :  element declaration for which the content validation functions</span>
-<a name="line-168"></a><span class='comment'>--                  are built</span>
-<a name="line-169"></a><span class='comment'>--</span>
-<a name="line-170"></a><span class='comment'>--    - returns : a function which takes an element (XTag), checks if its</span>
-<a name="line-171"></a><span class='comment'>--                  children match its content model and returns a list of errors</span>
-<a name="line-172"></a>
-<a name="line-173"></a><a name="buildContentValidation"></a><span class='definition'>buildContentValidation</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-174"></a><span class='definition'>buildContentValidation</span> <span class='varid'>nd</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-175"></a>    <span class='keyglyph'>=</span> <span class='varid'>contentValidation</span> <span class='varid'>attrType</span> <span class='varid'>nd</span>
-<a name="line-176"></a>      <span class='keyword'>where</span>
-<a name="line-177"></a>      <span class='varid'>attrType</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_type</span> <span class='varid'>al</span>
-<a name="line-178"></a>
-<a name="line-179"></a>
-<a name="line-180"></a>      <span class='comment'>-- Delegates construction of the validation function on the basis of the</span>
-<a name="line-181"></a>      <span class='comment'>-- content model type</span>
-<a name="line-182"></a>      <span class='varid'>contentValidation</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-183"></a>      <span class='varid'>contentValidation</span> <span class='varid'>typ</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-184"></a>          <span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_pcdata</span>   <span class='keyglyph'>=</span> <span class='varid'>contentValidationPcdata</span>
-<a name="line-185"></a>          <span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_empty</span>    <span class='keyglyph'>=</span> <span class='varid'>contentValidationEmpty</span>
-<a name="line-186"></a>          <span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>k_any</span>      <span class='keyglyph'>=</span> <span class='varid'>contentValidationAny</span>
-<a name="line-187"></a>          <span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>v_children</span> <span class='keyglyph'>=</span> <span class='varid'>contentValidationChildren</span> <span class='varid'>cs</span>
-<a name="line-188"></a>          <span class='keyglyph'>|</span> <span class='varid'>typ</span> <span class='varop'>==</span> <span class='varid'>v_mixed</span>    <span class='keyglyph'>=</span> <span class='varid'>contentValidationMixed</span> <span class='varid'>cs</span>
-<a name="line-189"></a>          <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>         <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"contentValidation: unknown type: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>typ</span><span class='layout'>)</span>
-<a name="line-190"></a>
-<a name="line-191"></a>      <span class='varid'>contentValidation</span> <span class='keyword'>_</span> <span class='varid'>nd'</span>
-<a name="line-192"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"contentValidation: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd'</span><span class='layout'>)</span>
-<a name="line-193"></a>
-<a name="line-194"></a>
-<a name="line-195"></a>      <span class='comment'>-- Checks #PCDATA content models</span>
-<a name="line-196"></a>      <span class='varid'>contentValidationPcdata</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-197"></a>      <span class='varid'>contentValidationPcdata</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-198"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>msg</span> <span class='varop'>==</span> <span class='str'>""</span>
-<a name="line-199"></a>            <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-200"></a>            <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"The content of element "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-201"></a>	              <span class='str'>" must match (#PCDATA). "</span><span class='varop'>++</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-202"></a>	    <span class='keyword'>where</span>
-<a name="line-203"></a>	    <span class='varid'>re</span> <span class='keyglyph'>=</span> <span class='varid'>re_rep</span> <span class='layout'>(</span><span class='varid'>re_sym</span> <span class='varid'>k_pcdata</span><span class='layout'>)</span>
-<a name="line-204"></a>	    <span class='varid'>msg</span> <span class='keyglyph'>=</span> <span class='varid'>checkRE</span> <span class='layout'>(</span><span class='varid'>matches</span> <span class='varid'>re</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-205"></a>
-<a name="line-206"></a>      <span class='varid'>contentValidationPcdata</span> <span class='varid'>n</span>
-<a name="line-207"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"contentValidationPcdata: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-208"></a>
-<a name="line-209"></a>
-<a name="line-210"></a>      <span class='comment'>-- Checks EMPTY content models</span>
-<a name="line-211"></a>      <span class='varid'>contentValidationEmpty</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-212"></a>      <span class='varid'>contentValidationEmpty</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-213"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>msg</span> <span class='varop'>==</span> <span class='str'>""</span>
-<a name="line-214"></a>            <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-215"></a>            <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"The content of element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-216"></a>	              <span class='str'>" must match EMPTY. "</span> <span class='varop'>++</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-217"></a>	    <span class='keyword'>where</span>
-<a name="line-218"></a>	    <span class='varid'>re</span> <span class='keyglyph'>=</span> <span class='varid'>re_unit</span>
-<a name="line-219"></a>	    <span class='varid'>msg</span> <span class='keyglyph'>=</span> <span class='varid'>checkRE</span> <span class='layout'>(</span><span class='varid'>matches</span> <span class='varid'>re</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-220"></a>
-<a name="line-221"></a>      <span class='varid'>contentValidationEmpty</span> <span class='varid'>n</span>
-<a name="line-222"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"contentValidationEmpty: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-223"></a>
-<a name="line-224"></a>
-<a name="line-225"></a>      <span class='comment'>-- Checks ANY content models</span>
-<a name="line-226"></a>      <span class='varid'>contentValidationAny</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-227"></a>      <span class='varid'>contentValidationAny</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-228"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>msg</span> <span class='varop'>==</span> <span class='str'>""</span>
-<a name="line-229"></a>            <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-230"></a>            <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"The content of element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-231"></a>	              <span class='str'>" must match ANY. "</span> <span class='varop'>++</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-232"></a>	    <span class='keyword'>where</span>
-<a name="line-233"></a>	    <span class='varid'>re</span> <span class='keyglyph'>=</span> <span class='varid'>re_rep</span> <span class='layout'>(</span><span class='varid'>re_dot</span><span class='layout'>)</span>
-<a name="line-234"></a>	    <span class='varid'>msg</span> <span class='keyglyph'>=</span> <span class='varid'>checkRE</span> <span class='layout'>(</span><span class='varid'>matches</span> <span class='varid'>re</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-235"></a>
-<a name="line-236"></a>      <span class='varid'>contentValidationAny</span> <span class='varid'>n</span>
-<a name="line-237"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"contentValidationAny: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-238"></a>
-<a name="line-239"></a>
-<a name="line-240"></a>      <span class='comment'>-- Checks "children" content models</span>
-<a name="line-241"></a>      <span class='varid'>contentValidationChildren</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-242"></a>      <span class='varid'>contentValidationChildren</span> <span class='varid'>cm</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-243"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>msg</span> <span class='varop'>==</span> <span class='str'>""</span>
-<a name="line-244"></a>            <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-245"></a>            <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"The content of element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-246"></a>	              <span class='str'>" must match "</span> <span class='varop'>++</span> <span class='varid'>printRE</span> <span class='varid'>re</span> <span class='varop'>++</span> <span class='str'>". "</span> <span class='varop'>++</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-247"></a>	    <span class='keyword'>where</span>
-<a name="line-248"></a>	    <span class='varid'>re</span> <span class='keyglyph'>=</span> <span class='varid'>createRE</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='varid'>cm</span><span class='layout'>)</span>
-<a name="line-249"></a>	    <span class='varid'>msg</span> <span class='keyglyph'>=</span> <span class='varid'>checkRE</span> <span class='layout'>(</span><span class='varid'>matches</span> <span class='varid'>re</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-250"></a>
-<a name="line-251"></a>      <span class='varid'>contentValidationChildren</span> <span class='keyword'>_</span> <span class='varid'>n</span>
-<a name="line-252"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"contentValidationChildren: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-253"></a>
-<a name="line-254"></a>
-<a name="line-255"></a>      <span class='comment'>-- Checks "mixed content" content models</span>
-<a name="line-256"></a>      <span class='varid'>contentValidationMixed</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-257"></a>      <span class='varid'>contentValidationMixed</span> <span class='varid'>cm</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-258"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>msg</span> <span class='varop'>==</span> <span class='str'>""</span>
-<a name="line-259"></a>            <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-260"></a>            <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"The content of element "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-261"></a>	              <span class='str'>" must match "</span> <span class='varop'>++</span> <span class='varid'>printRE</span> <span class='varid'>re</span> <span class='varop'>++</span> <span class='str'>". "</span> <span class='varop'>++</span> <span class='varid'>msg</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-262"></a>	    <span class='keyword'>where</span>
-<a name="line-263"></a>	    <span class='varid'>re</span> <span class='keyglyph'>=</span> <span class='varid'>re_rep</span> <span class='layout'>(</span><span class='varid'>re_alt</span> <span class='layout'>(</span><span class='varid'>re_sym</span> <span class='varid'>k_pcdata</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>createRE</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='varid'>cm</span><span class='layout'>)</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-264"></a>	    <span class='varid'>msg</span> <span class='keyglyph'>=</span> <span class='varid'>checkRE</span> <span class='layout'>(</span><span class='varid'>matches</span> <span class='varid'>re</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-265"></a>
-<a name="line-266"></a>      <span class='varid'>contentValidationMixed</span> <span class='keyword'>_</span> <span class='varid'>n</span>
-<a name="line-267"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"contentValidationMixed: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-268"></a>
-<a name="line-269"></a>
-<a name="line-270"></a><span class='definition'>buildContentValidation</span> <span class='varid'>nd</span>
-<a name="line-271"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"buildContentValidation: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-272"></a>
-<a name="line-273"></a>
-<a name="line-274"></a>
-<a name="line-275"></a><span class='comment'>-- |</span>
-<a name="line-276"></a><span class='comment'>-- Build a regular expression from the content model. The regular expression</span>
-<a name="line-277"></a><span class='comment'>-- is provided by the module XmlRE.</span>
-<a name="line-278"></a><span class='comment'>--</span>
-<a name="line-279"></a><span class='comment'>--    * 1.parameter nd :  node of the content model. Expected: @CONTENT@ or</span>
-<a name="line-280"></a><span class='comment'>--              @NAME@</span>
-<a name="line-281"></a><span class='comment'>--</span>
-<a name="line-282"></a><span class='comment'>--    - returns : regular expression of the content model</span>
-<a name="line-283"></a>
-<a name="line-284"></a><a name="createRE"></a><span class='definition'>createRE</span> <span class='keyglyph'>::</span>  <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='conid'>String</span>
-<a name="line-285"></a><span class='definition'>createRE</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>CONTENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-286"></a>    <span class='keyglyph'>=</span> <span class='varid'>processModifier</span> <span class='varid'>modifier</span>
-<a name="line-287"></a>      <span class='keyword'>where</span>
-<a name="line-288"></a>      <span class='varid'>modifier</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_modifier</span> <span class='varid'>al</span>
-<a name="line-289"></a>      <span class='varid'>kind</span>     <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_kind</span> <span class='varid'>al</span>
-<a name="line-290"></a>
-<a name="line-291"></a>      <span class='varid'>processModifier</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='conid'>String</span>
-<a name="line-292"></a>      <span class='varid'>processModifier</span> <span class='varid'>m</span>
-<a name="line-293"></a>          <span class='keyglyph'>|</span> <span class='varid'>m</span> <span class='varop'>==</span> <span class='varid'>v_plus</span>	  <span class='keyglyph'>=</span> <span class='varid'>re_plus</span> <span class='layout'>(</span><span class='varid'>processKind</span> <span class='varid'>kind</span><span class='layout'>)</span>
-<a name="line-294"></a>	  <span class='keyglyph'>|</span> <span class='varid'>m</span> <span class='varop'>==</span> <span class='varid'>v_star</span>	  <span class='keyglyph'>=</span> <span class='varid'>re_rep</span>  <span class='layout'>(</span><span class='varid'>processKind</span> <span class='varid'>kind</span><span class='layout'>)</span>
-<a name="line-295"></a>	  <span class='keyglyph'>|</span> <span class='varid'>m</span> <span class='varop'>==</span> <span class='varid'>v_option</span> <span class='keyglyph'>=</span> <span class='varid'>re_opt</span>  <span class='layout'>(</span><span class='varid'>processKind</span> <span class='varid'>kind</span><span class='layout'>)</span>
-<a name="line-296"></a>	  <span class='keyglyph'>|</span> <span class='varid'>m</span> <span class='varop'>==</span> <span class='varid'>v_null</span>	  <span class='keyglyph'>=</span> <span class='varid'>processKind</span> <span class='varid'>kind</span>
-<a name="line-297"></a>	  <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>     <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"Unknown modifier: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>m</span><span class='layout'>)</span>
-<a name="line-298"></a>
-<a name="line-299"></a>      <span class='varid'>processKind</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='conid'>String</span>
-<a name="line-300"></a>      <span class='varid'>processKind</span> <span class='varid'>k</span>
-<a name="line-301"></a>          <span class='keyglyph'>|</span> <span class='varid'>k</span> <span class='varop'>==</span> <span class='varid'>v_seq</span>	  <span class='keyglyph'>=</span> <span class='varid'>makeSequence</span> <span class='varid'>cs</span>
-<a name="line-302"></a>	  <span class='keyglyph'>|</span> <span class='varid'>k</span> <span class='varop'>==</span> <span class='varid'>v_choice</span> <span class='keyglyph'>=</span> <span class='varid'>makeChoice</span> <span class='varid'>cs</span>
-<a name="line-303"></a>	  <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>	  <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"Unknown kind: "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>k</span><span class='layout'>)</span>
-<a name="line-304"></a>
-<a name="line-305"></a>      <span class='varid'>makeSequence</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='conid'>String</span>
-<a name="line-306"></a>      <span class='varid'>makeSequence</span> <span class='conid'>[]</span>     <span class='keyglyph'>=</span> <span class='varid'>re_unit</span>
-<a name="line-307"></a>      <span class='varid'>makeSequence</span> <span class='layout'>(</span><span class='varid'>x</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>createRE</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>makeSequence</span> <span class='varid'>xs</span><span class='layout'>)</span>
-<a name="line-308"></a>
-<a name="line-309"></a>      <span class='varid'>makeChoice</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='conid'>String</span>
-<a name="line-310"></a>      <span class='varid'>makeChoice</span> <span class='conid'>[]</span>       <span class='keyglyph'>=</span> <span class='varid'>re_zero</span> <span class='str'>""</span>
-<a name="line-311"></a>      <span class='varid'>makeChoice</span> <span class='layout'>(</span><span class='varid'>x</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span>   <span class='keyglyph'>=</span> <span class='varid'>re_alt</span> <span class='layout'>(</span><span class='varid'>createRE</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>makeChoice</span> <span class='varid'>xs</span><span class='layout'>)</span>
-<a name="line-312"></a>
-<a name="line-313"></a><span class='definition'>createRE</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>NAME</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-314"></a>    <span class='keyglyph'>=</span> <span class='varid'>re_sym</span> <span class='layout'>(</span><span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span><span class='layout'>)</span>
-<a name="line-315"></a>
-<a name="line-316"></a><span class='definition'>createRE</span> <span class='varid'>nd</span>
-<a name="line-317"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"createRE: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-318"></a>
-<a name="line-319"></a>
-<a name="line-320"></a>
-<a name="line-321"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-322"></a>
-<a name="line-323"></a>
-<a name="line-324"></a>
-<a name="line-325"></a><span class='comment'>-- |</span>
-<a name="line-326"></a><span class='comment'>-- Build validation functions for the attributes of an element.</span>
-<a name="line-327"></a><span class='comment'>--</span>
-<a name="line-328"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-329"></a><span class='comment'>--</span>
-<a name="line-330"></a><span class='comment'>--    - 2.parameter nd :  element declaration for which the attribute validation functions</span>
-<a name="line-331"></a><span class='comment'>--                  are created</span>
-<a name="line-332"></a><span class='comment'>--</span>
-<a name="line-333"></a><span class='comment'>--    - returns : a function which takes an element (XTag), checks if its</span>
-<a name="line-334"></a><span class='comment'>--                  attributes are valid and returns a list of errors</span>
-<a name="line-335"></a>
-<a name="line-336"></a><a name="buildAttributeValidation"></a><span class='definition'>buildAttributeValidation</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-337"></a><span class='definition'>buildAttributeValidation</span> <span class='varid'>dtdPart</span> <span class='varid'>nd</span> <span class='keyglyph'>=</span>
-<a name="line-338"></a>    <span class='varid'>noDoublicateAttributes</span>
-<a name="line-339"></a>    <span class='varop'>+++</span>
-<a name="line-340"></a>    <span class='varid'>checkNotDeclardAttributes</span> <span class='varid'>attrDecls</span> <span class='varid'>nd</span>
-<a name="line-341"></a>    <span class='varop'>+++</span>
-<a name="line-342"></a>    <span class='varid'>checkRequiredAttributes</span> <span class='varid'>attrDecls</span> <span class='varid'>nd</span>
-<a name="line-343"></a>    <span class='varop'>+++</span>
-<a name="line-344"></a>    <span class='varid'>checkFixedAttributes</span> <span class='varid'>attrDecls</span> <span class='varid'>nd</span>
-<a name="line-345"></a>    <span class='varop'>+++</span>
-<a name="line-346"></a>    <span class='varid'>checkValuesOfAttributes</span> <span class='varid'>attrDecls</span> <span class='varid'>dtdPart</span> <span class='varid'>nd</span>
-<a name="line-347"></a>    <span class='keyword'>where</span>
-<a name="line-348"></a>    <span class='varid'>attrDecls</span> <span class='keyglyph'>=</span> <span class='varid'>isAttlist</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-349"></a>
-<a name="line-350"></a>
-<a name="line-351"></a><span class='comment'>-- |</span>
-<a name="line-352"></a><span class='comment'>-- Validate that all attributes of an element are unique.</span>
-<a name="line-353"></a><span class='comment'>-- Well-formdness constraint: Unique AttSpec (3.1 \/ p.19 in Spec)</span>
-<a name="line-354"></a><span class='comment'>--</span>
-<a name="line-355"></a><span class='comment'>--    - returns : a function which takes an element (XTag), checks if its</span>
-<a name="line-356"></a><span class='comment'>--                  attributes are unique and returns a list of errors</span>
-<a name="line-357"></a>
-<a name="line-358"></a><a name="noDoublicateAttributes"></a><span class='definition'>noDoublicateAttributes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-359"></a><span class='definition'>noDoublicateAttributes</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-360"></a>    <span class='keyglyph'>=</span> <span class='varid'>doubles</span> <span class='varop'>.</span> <span class='varid'>reverse</span> <span class='varop'>$</span> <span class='varid'>names</span>
-<a name="line-361"></a>      <span class='keyword'>where</span>
-<a name="line-362"></a>      <span class='varid'>tagname</span> <span class='keyglyph'>=</span> <span class='varid'>nameOf</span> <span class='varid'>n</span>
-<a name="line-363"></a>      <span class='varid'>names</span>   <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='varid'>nameOf</span> <span class='varop'>.</span> <span class='varid'>getAttrl</span> <span class='varop'>$</span> <span class='varid'>n</span>
-<a name="line-364"></a>
-<a name="line-365"></a>      <span class='varid'>doubles</span> <span class='keyglyph'>::</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-366"></a>      <span class='varid'>doubles</span> <span class='conid'>[]</span>
-<a name="line-367"></a>	  <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-368"></a>      <span class='varid'>doubles</span> <span class='layout'>(</span><span class='varid'>n1</span><span class='conop'>:</span><span class='varid'>ns</span><span class='layout'>)</span>
-<a name="line-369"></a>	  <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>n1</span> <span class='varop'>`elem`</span> <span class='varid'>ns</span>
-<a name="line-370"></a>	      <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n1</span> <span class='varop'>++</span> <span class='str'>" was already specified for element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>tagname</span> <span class='varop'>++</span> <span class='str'>"."</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-371"></a>	      <span class='keyword'>else</span> <span class='conid'>[]</span>
-<a name="line-372"></a>	    <span class='layout'>)</span> <span class='varop'>++</span> <span class='varid'>doubles</span> <span class='varid'>ns</span>
-<a name="line-373"></a>
-<a name="line-374"></a><span class='definition'>noDoublicateAttributes</span> <span class='varid'>n</span>
-<a name="line-375"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"noDoublicateAttributes: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-376"></a>
-<a name="line-377"></a>
-<a name="line-378"></a><span class='comment'>-- |</span>
-<a name="line-379"></a><span class='comment'>-- Validate that all \#REQUIRED attributes are provided.</span>
-<a name="line-380"></a><span class='comment'>-- Validity constraint: Required Attributes (3.3.2 \/ p.28 in Spec)</span>
-<a name="line-381"></a><span class='comment'>--</span>
-<a name="line-382"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-383"></a><span class='comment'>--</span>
-<a name="line-384"></a><span class='comment'>--    - 2.parameter nd :  element declaration which attributes have to be checked</span>
-<a name="line-385"></a><span class='comment'>--</span>
-<a name="line-386"></a><span class='comment'>--    - returns : a function which takes an element (XTag), checks if all</span>
-<a name="line-387"></a><span class='comment'>--                  required attributes are provided and returns a list of errors</span>
-<a name="line-388"></a>
-<a name="line-389"></a><a name="checkRequiredAttributes"></a><span class='definition'>checkRequiredAttributes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-390"></a><span class='definition'>checkRequiredAttributes</span> <span class='varid'>attrDecls</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-391"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkRequired</span> <span class='varid'>requiredAtts</span>
-<a name="line-392"></a>      <span class='keyword'>where</span>
-<a name="line-393"></a>      <span class='varid'>elemName</span>     <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-394"></a>      <span class='varid'>requiredAtts</span> <span class='keyglyph'>=</span> <span class='varid'>isRequiredAttrKind</span> <span class='varop'>$$</span> <span class='layout'>(</span><span class='varid'>isAttlistOfElement</span> <span class='varid'>elemName</span> <span class='varop'>$$</span> <span class='varid'>attrDecls</span><span class='layout'>)</span>
-<a name="line-395"></a>
-<a name="line-396"></a>
-<a name="line-397"></a>      <span class='varid'>checkRequired</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-398"></a>      <span class='varid'>checkRequired</span> <span class='layout'>(</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-399"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>satisfies</span> <span class='layout'>(</span><span class='varid'>hasAttr</span> <span class='varid'>attName</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-400"></a>	    <span class='keyword'>then</span> <span class='varid'>checkRequired</span> <span class='varid'>xs</span> <span class='varid'>n</span>
-<a name="line-401"></a>	    <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attName</span> <span class='varop'>++</span> <span class='str'>" must be declared for element type "</span> <span class='varop'>++</span>
-<a name="line-402"></a>	             <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>"."</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-403"></a>	         <span class='varop'>++</span>
-<a name="line-404"></a>		 <span class='varid'>checkRequired</span> <span class='varid'>xs</span> <span class='varid'>n</span>
-<a name="line-405"></a>	    <span class='keyword'>where</span>
-<a name="line-406"></a>	    <span class='varid'>attName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al'</span>
-<a name="line-407"></a>
-<a name="line-408"></a>      <span class='varid'>checkRequired</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-409"></a>
-<a name="line-410"></a>      <span class='varid'>checkRequired</span> <span class='varid'>nd</span> <span class='varid'>n</span>
-<a name="line-411"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkRequired: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-412"></a>
-<a name="line-413"></a>
-<a name="line-414"></a><span class='definition'>checkRequiredAttributes</span> <span class='keyword'>_</span> <span class='varid'>nd</span>
-<a name="line-415"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkRequiredAttributes: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-416"></a>
-<a name="line-417"></a>
-<a name="line-418"></a>
-<a name="line-419"></a><span class='comment'>-- |</span>
-<a name="line-420"></a><span class='comment'>-- Validate that \#FIXED attributes match the default value.</span>
-<a name="line-421"></a><span class='comment'>-- Validity constraint: Fixed Attribute Default (3.3.2 \/ p.28 in Spec)</span>
-<a name="line-422"></a><span class='comment'>--</span>
-<a name="line-423"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-424"></a><span class='comment'>--</span>
-<a name="line-425"></a><span class='comment'>--    - 2.parameter nd :  element declaration which attributes have to be checked</span>
-<a name="line-426"></a><span class='comment'>--</span>
-<a name="line-427"></a><span class='comment'>--    - returns : a function which takes an element (XTag), checks if all</span>
-<a name="line-428"></a><span class='comment'>--                  fixed attributes match the default value and returns a list of errors</span>
-<a name="line-429"></a>
-<a name="line-430"></a><a name="checkFixedAttributes"></a><span class='definition'>checkFixedAttributes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-431"></a><span class='definition'>checkFixedAttributes</span> <span class='varid'>attrDecls</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-432"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkFixed</span> <span class='varid'>fixedAtts</span>
-<a name="line-433"></a>      <span class='keyword'>where</span>
-<a name="line-434"></a>      <span class='varid'>elemName</span>  <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-435"></a>      <span class='varid'>fixedAtts</span> <span class='keyglyph'>=</span> <span class='varid'>isFixedAttrKind</span> <span class='varop'>$$</span> <span class='layout'>(</span><span class='varid'>isAttlistOfElement</span> <span class='varid'>elemName</span> <span class='varop'>$$</span> <span class='varid'>attrDecls</span><span class='layout'>)</span>
-<a name="line-436"></a>
-<a name="line-437"></a>
-<a name="line-438"></a>      <span class='varid'>checkFixed</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-439"></a>      <span class='varid'>checkFixed</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-440"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>satisfies</span> <span class='layout'>(</span><span class='varid'>hasAttr</span> <span class='varid'>attName</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-441"></a>	    <span class='keyword'>then</span> <span class='keyword'>if</span> <span class='varid'>attValue</span> <span class='varop'>==</span> <span class='varid'>fixedValue</span>
-<a name="line-442"></a>	         <span class='keyword'>then</span> <span class='varid'>checkFixed</span> <span class='varid'>xs</span> <span class='varid'>n</span>
-<a name="line-443"></a>	         <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attName</span> <span class='varop'>++</span> <span class='str'>" of element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-444"></a>		           <span class='str'>" with value "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attValue</span> <span class='varop'>++</span> <span class='str'>" must have a value of "</span> <span class='varop'>++</span>
-<a name="line-445"></a>			   <span class='varid'>show</span> <span class='varid'>fixedValue</span> <span class='varop'>++</span> <span class='str'>"."</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-446"></a>	              <span class='varop'>++</span>
-<a name="line-447"></a>		      <span class='varid'>checkFixed</span> <span class='varid'>xs</span> <span class='varid'>n</span>
-<a name="line-448"></a>	    <span class='keyword'>else</span> <span class='varid'>checkFixed</span> <span class='varid'>xs</span> <span class='varid'>n</span>
-<a name="line-449"></a>	    <span class='keyword'>where</span>
-<a name="line-450"></a>	    <span class='varid'>attName</span>    <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al'</span>
-<a name="line-451"></a>	    <span class='varid'>fixedValue</span> <span class='keyglyph'>=</span> <span class='varid'>normalizeAttributeValue</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>lookup1</span> <span class='varid'>a_default</span> <span class='varid'>al'</span><span class='layout'>)</span>
-<a name="line-452"></a>	    <span class='varid'>attValue</span>   <span class='keyglyph'>=</span> <span class='varid'>normalizeAttributeValue</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>valueOf</span> <span class='varid'>attName</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-453"></a>
-<a name="line-454"></a>      <span class='varid'>checkFixed</span> <span class='conid'>[]</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-455"></a>
-<a name="line-456"></a>      <span class='varid'>checkFixed</span> <span class='varid'>nd</span> <span class='varid'>n</span>
-<a name="line-457"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkFixed: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-458"></a>
-<a name="line-459"></a>
-<a name="line-460"></a><span class='definition'>checkFixedAttributes</span> <span class='keyword'>_</span> <span class='varid'>nd</span>
-<a name="line-461"></a>    <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkFixedAttributes: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-462"></a>
-<a name="line-463"></a>
-<a name="line-464"></a><span class='comment'>-- |</span>
-<a name="line-465"></a><span class='comment'>-- Validate that an element has no attributes which are not declared.</span>
-<a name="line-466"></a><span class='comment'>-- Validity constraint: Attribute Value Type (3.1 \/ p.19 in Spec)</span>
-<a name="line-467"></a><span class='comment'>--</span>
-<a name="line-468"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-469"></a><span class='comment'>--</span>
-<a name="line-470"></a><span class='comment'>--    - 2.parameter nd :  element declaration which attributes have to be checked</span>
-<a name="line-471"></a><span class='comment'>--</span>
-<a name="line-472"></a><span class='comment'>--    - returns : a function which takes an element (XTag), checks if all</span>
-<a name="line-473"></a><span class='comment'>--                  attributes are declared and returns a list of errors</span>
-<a name="line-474"></a>
-<a name="line-475"></a><a name="checkNotDeclardAttributes"></a><span class='definition'>checkNotDeclardAttributes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-476"></a><span class='definition'>checkNotDeclardAttributes</span> <span class='varid'>attrDecls</span> <span class='varid'>elemDescr</span>
-<a name="line-477"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkNotDeclared</span>
-<a name="line-478"></a>      <span class='keyword'>where</span>
-<a name="line-479"></a>      <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_name</span> <span class='varid'>elemDescr</span>
-<a name="line-480"></a>      <span class='varid'>decls</span>    <span class='keyglyph'>=</span> <span class='varid'>isAttlistOfElement</span> <span class='varid'>elemName</span> <span class='varop'>$$</span> <span class='varid'>attrDecls</span>
-<a name="line-481"></a>
-<a name="line-482"></a>      <span class='varid'>checkNotDeclared</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-483"></a>      <span class='varid'>checkNotDeclared</span> <span class='varid'>n</span>
-<a name="line-484"></a>	  <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>isXTag</span>
-<a name="line-485"></a>	      <span class='varop'>`guards`</span>
-<a name="line-486"></a>	      <span class='varid'>cat</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>searchForDeclaredAtt</span> <span class='varid'>elemName</span> <span class='varid'>decls</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>getAttrl</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-487"></a>	    <span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-488"></a>
-<a name="line-489"></a>      <span class='varid'>searchForDeclaredAtt</span> <span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-490"></a>      <span class='varid'>searchForDeclaredAtt</span> <span class='varid'>name</span> <span class='layout'>(</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>att</span>
-<a name="line-491"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='varop'>==</span> <span class='varid'>nameOf</span> <span class='varid'>att</span>
-<a name="line-492"></a>            <span class='keyword'>then</span> <span class='varid'>none</span>
-<a name="line-493"></a>	    <span class='keyword'>else</span> <span class='varid'>searchForDeclaredAtt</span> <span class='varid'>name</span> <span class='varid'>xs</span> <span class='varid'>att</span>
-<a name="line-494"></a>
-<a name="line-495"></a>      <span class='varid'>searchForDeclaredAtt</span> <span class='varid'>name</span> <span class='conid'>[]</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XAttr</span> <span class='varid'>attrName</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-496"></a>          <span class='keyglyph'>=</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>attrName</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" of element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>name</span> <span class='varop'>++</span> <span class='str'>" is not declared in DTD."</span><span class='layout'>)</span>
-<a name="line-497"></a>
-<a name="line-498"></a>      <span class='varid'>searchForDeclaredAtt</span> <span class='keyword'>_</span> <span class='varid'>nd</span> <span class='varid'>a</span>
-<a name="line-499"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"searchForDeclaredAtt: illegeal paramter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>a</span><span class='layout'>)</span>
-<a name="line-500"></a>
-<a name="line-501"></a><span class='comment'>-- |</span>
-<a name="line-502"></a><span class='comment'>-- Validate that the attribute value meets the lexical constraints of its type.</span>
-<a name="line-503"></a><span class='comment'>-- Validity constaint: Attribute Value Type (3.1 \/ p.19 in Spec)</span>
-<a name="line-504"></a><span class='comment'>--</span>
-<a name="line-505"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-506"></a><span class='comment'>--</span>
-<a name="line-507"></a><span class='comment'>--    - 2.parameter nd :  element declaration which attributes have to be checked</span>
-<a name="line-508"></a><span class='comment'>--</span>
-<a name="line-509"></a><span class='comment'>--    - returns : a function which takes an element (XTag), checks if all</span>
-<a name="line-510"></a><span class='comment'>--                  attributes meet the lexical constraints and returns a list of errors</span>
-<a name="line-511"></a>
-<a name="line-512"></a><a name="checkValuesOfAttributes"></a><span class='definition'>checkValuesOfAttributes</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-513"></a><span class='definition'>checkValuesOfAttributes</span> <span class='varid'>attrDecls</span> <span class='varid'>dtdPart</span> <span class='varid'>elemDescr</span>
-<a name="line-514"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkValues</span>
-<a name="line-515"></a>      <span class='keyword'>where</span>
-<a name="line-516"></a>      <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>valueOfDTD</span> <span class='varid'>a_name</span> <span class='varid'>elemDescr</span>
-<a name="line-517"></a>      <span class='varid'>decls</span>    <span class='keyglyph'>=</span> <span class='varid'>isAttlistOfElement</span> <span class='varid'>elemName</span> <span class='varop'>$$</span> <span class='varid'>attrDecls</span>
-<a name="line-518"></a>
-<a name="line-519"></a>      <span class='varid'>checkValues</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-520"></a>      <span class='varid'>checkValues</span> <span class='varid'>n</span>
-<a name="line-521"></a>          <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='varid'>isXTag</span>
-<a name="line-522"></a>	      <span class='varop'>`guards`</span>
-<a name="line-523"></a>	      <span class='varid'>cat</span> <span class='layout'>(</span><span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>checkValue</span> <span class='varid'>decls</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>getAttrl</span> <span class='varid'>n</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-524"></a>	    <span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-525"></a>
-<a name="line-526"></a>      <span class='varid'>checkValue</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-527"></a>      <span class='varid'>checkValue</span> <span class='layout'>(</span><span class='varid'>attrDecl</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>att</span>
-<a name="line-528"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al'</span><span class='layout'>)</span> <span class='varop'>==</span> <span class='varid'>nameOf</span> <span class='varid'>att</span>
-<a name="line-529"></a>            <span class='keyword'>then</span> <span class='varid'>checkAttributeValue</span> <span class='varid'>dtdPart</span> <span class='varid'>attrDecl</span>
-<a name="line-530"></a>	    <span class='keyword'>else</span> <span class='varid'>checkValue</span> <span class='varid'>xs</span> <span class='varid'>att</span>
-<a name="line-531"></a>
-<a name="line-532"></a>      <span class='varid'>checkValue</span> <span class='conid'>[]</span> <span class='keyword'>_</span>
-<a name="line-533"></a>          <span class='keyglyph'>=</span> <span class='varid'>none</span>  <span class='comment'>-- undeclared attribute, reported by separate function</span>
-<a name="line-534"></a>
-<a name="line-535"></a>      <span class='varid'>checkValue</span> <span class='varid'>n</span> <span class='keyword'>_</span>
-<a name="line-536"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"checkValue: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-537"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-IdValidation.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-IdValidation.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-IdValidation.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This module provides functions for checking special ID/IDREF/IDREFS constraints.</span>
-<a name="line-3"></a>
-<a name="line-4"></a><span class='comment'>-- Checking special ID/IDREF/IDREFS constraints means:</span>
-<a name="line-5"></a><span class='comment'>--</span>
-<a name="line-6"></a><span class='comment'>--  - checking that all ID values are unique.</span>
-<a name="line-7"></a><span class='comment'>--</span>
-<a name="line-8"></a><span class='comment'>--  - checking that all IDREF/IDREFS values match the value of some ID attribute</span>
-<a name="line-9"></a><span class='comment'>--</span>
-<a name="line-10"></a>
-<a name="line-11"></a>
-<a name="line-12"></a><span class='comment'>-- ID-Validation should be started before or after validating the document.</span>
-<a name="line-13"></a>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='comment'>-- First all nodes with ID attributes are collected from the document, then</span>
-<a name="line-16"></a><span class='comment'>-- it is validated that values of ID attributes do not occure more than once.</span>
-<a name="line-17"></a><span class='comment'>-- During a second iteration over the document it is validated that there exists</span>
-<a name="line-18"></a><span class='comment'>-- an ID attribute value for IDREF/IDREFS attribute values.</span>
-<a name="line-19"></a>
-<a name="line-20"></a><span class='comment'>-- Special namings in source code:</span>
-<a name="line-21"></a><span class='comment'>--</span>
-<a name="line-22"></a><span class='comment'>--  - nd - XDTD node</span>
-<a name="line-23"></a><span class='comment'>--</span>
-<a name="line-24"></a><span class='comment'>--  - n  - XTag node</span>
-<a name="line-25"></a><span class='comment'>--</span>
-<a name="line-26"></a><span class='comment'>-- Author : .\\artin Schmidt</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>IdValidation</span>
-<a name="line-29"></a>    <span class='layout'>(</span> <span class='varid'>validateIds</span>
-<a name="line-30"></a>    <span class='layout'>)</span>
-<a name="line-31"></a><span class='keyword'>where</span>
-<a name="line-32"></a>
-<a name="line-33"></a>
-<a name="line-34"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-35"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>AttributeValueValidation</span>
-<a name="line-36"></a>
-<a name="line-37"></a>
-<a name="line-38"></a>
-<a name="line-39"></a><span class='comment'>-- |</span>
-<a name="line-40"></a><span class='comment'>-- Lookup-table which maps element names to their validation functions. The</span>
-<a name="line-41"></a><span class='comment'>-- validation functions are XmlFilters.</span>
-<a name="line-42"></a>
-<a name="line-43"></a><a name="IdEnvTable"></a><span class='keyword'>type</span> <span class='conid'>IdEnvTable</span>		<span class='keyglyph'>=</span> <span class='keyglyph'>[</span><span class='conid'>IdEnv</span><span class='keyglyph'>]</span>
-<a name="line-44"></a><a name="IdEnv"></a><span class='keyword'>type</span> <span class='conid'>IdEnv</span> 		<span class='keyglyph'>=</span> <span class='layout'>(</span><span class='conid'>ElemName</span><span class='layout'>,</span> <span class='conid'>IdFct</span><span class='layout'>)</span>
-<a name="line-45"></a><a name="ElemName"></a><span class='keyword'>type</span> <span class='conid'>ElemName</span>		<span class='keyglyph'>=</span> <span class='conid'>String</span>
-<a name="line-46"></a><a name="IdFct"></a><span class='keyword'>type</span> <span class='conid'>IdFct</span>		<span class='keyglyph'>=</span> <span class='conid'>XmlFilter</span>
-<a name="line-47"></a>
-<a name="line-48"></a>
-<a name="line-49"></a>
-<a name="line-50"></a><span class='comment'>-- |</span>
-<a name="line-51"></a><span class='comment'>-- Perform the validation of the ID/IDREF/IDREFS constraints.</span>
-<a name="line-52"></a><span class='comment'>--</span>
-<a name="line-53"></a><span class='comment'>--    * 1.parameter dtdPart :  the DTD subset (Node @DOCTYPE@) of the XmlTree</span>
-<a name="line-54"></a><span class='comment'>--</span>
-<a name="line-55"></a><span class='comment'>--    - 2.parameter doc :  the document subset of the XmlTree</span>
-<a name="line-56"></a><span class='comment'>--</span>
-<a name="line-57"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-58"></a>
-<a name="line-59"></a><a name="validateIds"></a><span class='definition'>validateIds</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-60"></a><span class='definition'>validateIds</span> <span class='varid'>dtdPart</span> <span class='varid'>doc</span>
-<a name="line-61"></a>    <span class='keyglyph'>=</span> <span class='comment'>{-# SCC "checkForUniqueIds" #-}</span> <span class='varid'>checkForUniqueIds</span> <span class='varid'>idNodeList</span> <span class='varid'>dtdNodes</span>
-<a name="line-62"></a>      <span class='varop'>++</span>
-<a name="line-63"></a>      <span class='comment'>{-# SCC "checkIdReferences" #-}</span> <span class='varid'>checkIdReferences</span> <span class='varid'>idRefEnv</span> <span class='varid'>doc</span>
-<a name="line-64"></a>      <span class='keyword'>where</span>
-<a name="line-65"></a>      <span class='varid'>idEnv</span>      <span class='keyglyph'>=</span> <span class='varid'>buildIdCollectorFcts</span> <span class='varid'>dtdNodes</span>
-<a name="line-66"></a>      <span class='varid'>idRefEnv</span>   <span class='keyglyph'>=</span> <span class='varid'>buildIdrefValidationFcts</span> <span class='varid'>dtdNodes</span> <span class='varid'>idNodeList</span>
-<a name="line-67"></a>      <span class='varid'>idNodeList</span> <span class='keyglyph'>=</span> <span class='varid'>traverseTree</span> <span class='varid'>idEnv</span> <span class='varid'>doc</span>
-<a name="line-68"></a>      <span class='varid'>dtdNodes</span>   <span class='keyglyph'>=</span> <span class='varid'>getChildren</span> <span class='varid'>dtdPart</span>
-<a name="line-69"></a>
-<a name="line-70"></a>
-<a name="line-71"></a><span class='comment'>-- |</span>
-<a name="line-72"></a><span class='comment'>-- Traverse the XmlTree in preorder.</span>
-<a name="line-73"></a><span class='comment'>--</span>
-<a name="line-74"></a><span class='comment'>--    * 1.parameter idEnv :  lookup-table which maps element names to their validation functions</span>
-<a name="line-75"></a><span class='comment'>--</span>
-<a name="line-76"></a><span class='comment'>--    - returns : list of errors</span>
-<a name="line-77"></a>
-<a name="line-78"></a><a name="traverseTree"></a><span class='definition'>traverseTree</span> <span class='keyglyph'>::</span> <span class='conid'>IdEnvTable</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-79"></a><span class='definition'>traverseTree</span> <span class='varid'>idEnv</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>cs</span><span class='layout'>)</span>
-<a name="line-80"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>idFct</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>traverseTree</span> <span class='varid'>idEnv</span><span class='layout'>)</span> <span class='varid'>cs</span>
-<a name="line-81"></a>      <span class='keyword'>where</span>
-<a name="line-82"></a>      <span class='varid'>idFct</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-83"></a>      <span class='varid'>idFct</span>
-<a name="line-84"></a>          <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='layout'>(</span><span class='varid'>lookup</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varid'>idEnv</span><span class='layout'>)</span> <span class='keyword'>of</span>
-<a name="line-85"></a>	    <span class='conid'>Nothing</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>none</span>
-<a name="line-86"></a>	    <span class='conid'>Just</span> <span class='varid'>f</span>  <span class='keyglyph'>-&gt;</span> <span class='varid'>f</span>
-<a name="line-87"></a>
-<a name="line-88"></a><span class='definition'>traverseTree</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-89"></a>
-<a name="line-90"></a>
-<a name="line-91"></a>
-<a name="line-92"></a><span class='comment'>-- |</span>
-<a name="line-93"></a><span class='comment'>-- Returns the value of an element's ID attribute. The attribute name has to be</span>
-<a name="line-94"></a><span class='comment'>-- retrieved first from the DTD.</span>
-<a name="line-95"></a><span class='comment'>--</span>
-<a name="line-96"></a><span class='comment'>--    * 1.parameter dtdPart :  list of ID attribute definitions from the DTD</span>
-<a name="line-97"></a><span class='comment'>--</span>
-<a name="line-98"></a><span class='comment'>--    - 2.parameter n :  element which ID attribute value should be returned</span>
-<a name="line-99"></a><span class='comment'>--</span>
-<a name="line-100"></a><span class='comment'>--    - returns : normalized value of the ID attribute</span>
-<a name="line-101"></a>
-<a name="line-102"></a><a name="getIdValue"></a><span class='definition'>getIdValue</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-103"></a><span class='definition'>getIdValue</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='sel'>_al'</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-104"></a>    <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>==</span> <span class='varid'>elemName</span>
-<a name="line-105"></a>      <span class='keyword'>then</span> <span class='varid'>attrValue</span>
-<a name="line-106"></a>      <span class='keyword'>else</span> <span class='varid'>getIdValue</span> <span class='varid'>xs</span> <span class='varid'>n</span>
-<a name="line-107"></a>      <span class='keyword'>where</span>
-<a name="line-108"></a>      <span class='varid'>elemName</span>  <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-109"></a>      <span class='varid'>attrName</span>  <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al</span>
-<a name="line-110"></a>      <span class='varid'>attrValue</span> <span class='keyglyph'>=</span> <span class='varid'>normalizeAttributeValue</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>valueOf</span> <span class='varid'>attrName</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-111"></a>
-<a name="line-112"></a><span class='definition'>getIdValue</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-113"></a>
-<a name="line-114"></a>
-<a name="line-115"></a>
-<a name="line-116"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-117"></a>
-<a name="line-118"></a>
-<a name="line-119"></a><span class='comment'>-- |</span>
-<a name="line-120"></a><span class='comment'>-- Build collector functions which return XTag nodes with ID attributes from</span>
-<a name="line-121"></a><span class='comment'>-- a document.</span>
-<a name="line-122"></a><span class='comment'>--</span>
-<a name="line-123"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-124"></a><span class='comment'>--</span>
-<a name="line-125"></a><span class='comment'>--    - returns : lookup-table which maps element names to their collector function</span>
-<a name="line-126"></a>
-<a name="line-127"></a><a name="buildIdCollectorFcts"></a><span class='definition'>buildIdCollectorFcts</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IdEnvTable</span>
-<a name="line-128"></a><span class='definition'>buildIdCollectorFcts</span> <span class='varid'>dtdPart</span>
-<a name="line-129"></a>    <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>buildIdCollectorFct</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>isIdAttrType</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span><span class='layout'>)</span>
-<a name="line-130"></a>      <span class='keyword'>where</span>
-<a name="line-131"></a>      <span class='varid'>buildIdCollectorFct</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IdEnv</span>
-<a name="line-132"></a>      <span class='varid'>buildIdCollectorFct</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-133"></a>          <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>elemName</span><span class='layout'>,</span> <span class='varid'>hasAttr</span> <span class='varid'>attrName</span><span class='layout'>)</span>
-<a name="line-134"></a>            <span class='keyword'>where</span>
-<a name="line-135"></a>            <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-136"></a>            <span class='varid'>attrName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al</span>
-<a name="line-137"></a>
-<a name="line-138"></a>      <span class='varid'>buildIdCollectorFct</span> <span class='varid'>nd</span>
-<a name="line-139"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"buildIdCollectorFct: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-140"></a>
-<a name="line-141"></a>
-<a name="line-142"></a><span class='comment'>-- |</span>
-<a name="line-143"></a><span class='comment'>-- Build validation functions for checking if IDREF\/IDREFS values match a value</span>
-<a name="line-144"></a><span class='comment'>-- of some ID attributes.</span>
-<a name="line-145"></a><span class='comment'>--</span>
-<a name="line-146"></a><span class='comment'>--    * 1.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-147"></a><span class='comment'>--</span>
-<a name="line-148"></a><span class='comment'>--    - 2.parameter idNodeList :  list of all XTag nodes with ID attributes</span>
-<a name="line-149"></a><span class='comment'>--</span>
-<a name="line-150"></a><span class='comment'>--    - returns : lookup-table which maps element names to their validation function</span>
-<a name="line-151"></a>
-<a name="line-152"></a><a name="buildIdrefValidationFcts"></a><span class='definition'>buildIdrefValidationFcts</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IdEnvTable</span>
-<a name="line-153"></a><span class='definition'>buildIdrefValidationFcts</span> <span class='varid'>dtdPart</span> <span class='varid'>idNodeList</span>
-<a name="line-154"></a>    <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='varid'>buildElemValidationFct</span> <span class='varid'>elements</span>
-<a name="line-155"></a>      <span class='keyword'>where</span>
-<a name="line-156"></a>      <span class='varid'>elements</span>    <span class='keyglyph'>=</span> <span class='varid'>isElement</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-157"></a>      <span class='varid'>idValueList</span> <span class='keyglyph'>=</span> <span class='varid'>getIdValues</span> <span class='layout'>(</span><span class='varid'>isIdAttrType</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span><span class='layout'>)</span>
-<a name="line-158"></a>
-<a name="line-159"></a>      <span class='varid'>getIdValues</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span>
-<a name="line-160"></a>      <span class='varid'>getIdValues</span> <span class='varid'>idAttrTypes</span>
-<a name="line-161"></a>          <span class='keyglyph'>=</span> <span class='varid'>map</span> <span class='layout'>(</span><span class='varid'>getIdValue</span> <span class='varid'>idAttrTypes</span><span class='layout'>)</span> <span class='varid'>idNodeList</span>
-<a name="line-162"></a>
-<a name="line-163"></a>
-<a name="line-164"></a>      <span class='varid'>buildElemValidationFct</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>IdEnv</span>
-<a name="line-165"></a>      <span class='varid'>buildElemValidationFct</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ELEMENT</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-166"></a>          <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>elemName</span><span class='layout'>,</span> <span class='varid'>buildIdrefValidationFct</span> <span class='varid'>idRefAttrTypes</span><span class='layout'>)</span>
-<a name="line-167"></a>	  <span class='keyword'>where</span>
-<a name="line-168"></a>	  <span class='varid'>elemName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_name</span> <span class='varid'>al</span>
-<a name="line-169"></a>	  <span class='varid'>idRefAttrTypes</span> <span class='keyglyph'>=</span> <span class='varid'>isIdRefAttrType</span> <span class='varop'>$$</span> <span class='layout'>(</span><span class='varid'>isAttlistOfElement</span> <span class='varid'>elemName</span><span class='layout'>)</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-170"></a>
-<a name="line-171"></a>      <span class='varid'>buildElemValidationFct</span> <span class='varid'>nd</span>
-<a name="line-172"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"buildIdrefValidationFct: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-173"></a>
-<a name="line-174"></a>
-<a name="line-175"></a>      <span class='varid'>buildIdrefValidationFct</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlFilter</span>
-<a name="line-176"></a>      <span class='varid'>buildIdrefValidationFct</span> <span class='layout'>(</span><span class='varid'>nd</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XDTD</span> <span class='conid'>ATTLIST</span> <span class='varid'>al</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span>
-<a name="line-177"></a>          <span class='keyglyph'>=</span> <span class='varid'>checkIdref</span> <span class='varop'>+++</span> <span class='varid'>buildIdrefValidationFct</span> <span class='varid'>xs</span>
-<a name="line-178"></a>            <span class='keyword'>where</span>
-<a name="line-179"></a>            <span class='varid'>attrName</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_value</span> <span class='varid'>al</span>
-<a name="line-180"></a>	    <span class='varid'>attrType</span> <span class='keyglyph'>=</span> <span class='varid'>lookup1</span> <span class='varid'>a_type</span> <span class='varid'>al</span>
-<a name="line-181"></a>
-<a name="line-182"></a>            <span class='varid'>checkIdref</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-183"></a>            <span class='varid'>checkIdref</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>
-<a name="line-184"></a>                <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>satisfies</span> <span class='layout'>(</span><span class='varid'>hasAttr</span> <span class='varid'>attrName</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-185"></a>	          <span class='keyword'>then</span> <span class='keyword'>if</span> <span class='varid'>attrType</span> <span class='varop'>==</span> <span class='varid'>k_idref</span>
-<a name="line-186"></a>		       <span class='keyword'>then</span> <span class='varid'>checkValueDeclared</span> <span class='varid'>n</span> <span class='varid'>attrValue</span>
-<a name="line-187"></a>		       <span class='keyword'>else</span> <span class='keyword'>let</span> <span class='varid'>valueList</span> <span class='keyglyph'>=</span> <span class='varid'>words</span> <span class='varid'>attrValue</span>
-<a name="line-188"></a>		            <span class='keyword'>in</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>valueList</span>
-<a name="line-189"></a>		               <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attrName</span> <span class='varop'>++</span>
-<a name="line-190"></a>					 <span class='str'>" of Element "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span>
-<a name="line-191"></a>					 <span class='str'>" must have at least one name."</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-192"></a>		               <span class='keyword'>else</span> <span class='varid'>concatMap</span> <span class='layout'>(</span><span class='varid'>checkValueDeclared</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>words</span> <span class='varid'>attrValue</span><span class='layout'>)</span>
-<a name="line-193"></a>	          <span class='keyword'>else</span> <span class='conid'>[]</span>
-<a name="line-194"></a>		  <span class='keyword'>where</span>
-<a name="line-195"></a>		  <span class='varid'>attrValue</span> <span class='keyglyph'>=</span> <span class='varid'>normalizeAttributeValue</span> <span class='layout'>(</span><span class='conid'>Just</span> <span class='varid'>nd</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>valueOf</span> <span class='varid'>attrName</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-196"></a>
-<a name="line-197"></a>	    <span class='varid'>checkIdref</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-198"></a>
-<a name="line-199"></a>
-<a name="line-200"></a>	    <span class='varid'>checkValueDeclared</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-201"></a>	    <span class='varid'>checkValueDeclared</span> <span class='varid'>n</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>attrValue</span>
-<a name="line-202"></a>	        <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>attrValue</span> <span class='varop'>`elem`</span> <span class='varid'>idValueList</span>
-<a name="line-203"></a>		  <span class='keyword'>then</span> <span class='conid'>[]</span>
-<a name="line-204"></a>		  <span class='keyword'>else</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"An Element with identifier "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attrValue</span> <span class='varop'>++</span>
-<a name="line-205"></a>		            <span class='str'>" must appear in the document."</span><span class='layout'>)</span> <span class='varid'>n</span>
-<a name="line-206"></a>
-<a name="line-207"></a>            <span class='varid'>checkValueDeclared</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-208"></a>
-<a name="line-209"></a>      <span class='varid'>buildIdrefValidationFct</span> <span class='conid'>[]</span>
-<a name="line-210"></a>          <span class='keyglyph'>=</span> <span class='varid'>none</span>
-<a name="line-211"></a>
-<a name="line-212"></a>      <span class='varid'>buildIdrefValidationFct</span> <span class='varid'>nd</span>
-<a name="line-213"></a>          <span class='keyglyph'>=</span> <span class='varid'>error</span> <span class='layout'>(</span><span class='str'>"buildIdCollectorFct: illegeal parameter:\n"</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>nd</span><span class='layout'>)</span>
-<a name="line-214"></a>
-<a name="line-215"></a>
-<a name="line-216"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-217"></a>
-<a name="line-218"></a>
-<a name="line-219"></a><span class='comment'>-- |</span>
-<a name="line-220"></a><span class='comment'>-- Validate that all ID values are unique within a document.</span>
-<a name="line-221"></a><span class='comment'>-- Validity constraint: ID (3.3.1 \/p. 25 in Spec)</span>
-<a name="line-222"></a><span class='comment'>--</span>
-<a name="line-223"></a><span class='comment'>--    * 1.parameter idNodeList :  list of all XTag nodes with ID attributes</span>
-<a name="line-224"></a><span class='comment'>--</span>
-<a name="line-225"></a><span class='comment'>--    - 2.parameter dtdPart :  the children of the @DOCTYPE@ node</span>
-<a name="line-226"></a><span class='comment'>--</span>
-<a name="line-227"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-228"></a>
-<a name="line-229"></a><a name="checkForUniqueIds"></a><span class='definition'>checkForUniqueIds</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-230"></a><span class='definition'>checkForUniqueIds</span> <span class='varid'>idNodeList</span> <span class='varid'>dtdPart</span>
-<a name="line-231"></a>    <span class='keyglyph'>=</span> <span class='varid'>checkForUniqueId</span> <span class='varid'>idNodeList</span> <span class='conid'>[]</span>
-<a name="line-232"></a>      <span class='keyword'>where</span>
-<a name="line-233"></a>      <span class='varid'>idAttrTypes</span> <span class='keyglyph'>=</span> <span class='varid'>isIdAttrType</span> <span class='varop'>$$</span> <span class='varid'>dtdPart</span>
-<a name="line-234"></a>
-<a name="line-235"></a>      <span class='varid'>checkForUniqueId</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='conid'>String</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-236"></a>      <span class='varid'>checkForUniqueId</span> <span class='layout'>(</span><span class='varid'>x</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>name</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span><span class='conop'>:</span><span class='varid'>xs</span><span class='layout'>)</span> <span class='varid'>used</span>
-<a name="line-237"></a>          <span class='keyglyph'>=</span> <span class='keyword'>if</span> <span class='varid'>attrValue</span> <span class='varop'>`elem`</span> <span class='varid'>used</span>
-<a name="line-238"></a>	    <span class='keyword'>then</span> <span class='varid'>err</span> <span class='layout'>(</span><span class='str'>"Attribute value "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>attrValue</span> <span class='varop'>++</span> <span class='str'>" of type ID for element "</span> <span class='varop'>++</span>
-<a name="line-239"></a>	              <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>++</span> <span class='str'>" must be unique within the document."</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-240"></a>		 <span class='varop'>++</span>
-<a name="line-241"></a>		 <span class='varid'>checkForUniqueId</span> <span class='varid'>xs</span> <span class='varid'>used</span>
-<a name="line-242"></a>
-<a name="line-243"></a>	    <span class='keyword'>else</span> <span class='varid'>checkForUniqueId</span> <span class='varid'>xs</span> <span class='layout'>(</span><span class='varid'>attrValue</span> <span class='conop'>:</span> <span class='varid'>used</span><span class='layout'>)</span>
-<a name="line-244"></a>	    <span class='keyword'>where</span>
-<a name="line-245"></a>	    <span class='varid'>attrValue</span> <span class='keyglyph'>=</span> <span class='varid'>getIdValue</span> <span class='layout'>(</span><span class='varid'>isAttlistOfElement</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>name</span><span class='layout'>)</span> <span class='varop'>$$</span> <span class='varid'>idAttrTypes</span><span class='layout'>)</span> <span class='varid'>x</span>
-<a name="line-246"></a>
-<a name="line-247"></a>      <span class='varid'>checkForUniqueId</span> <span class='keyword'>_</span> <span class='keyword'>_</span> <span class='keyglyph'>=</span> <span class='conid'>[]</span>
-<a name="line-248"></a>
-<a name="line-249"></a>
-<a name="line-250"></a>
-<a name="line-251"></a><span class='comment'>-- |</span>
-<a name="line-252"></a><span class='comment'>-- Validate that all IDREF\/IDREFS values match the value of some ID attribute.</span>
-<a name="line-253"></a><span class='comment'>-- Validity constraint: IDREF (3.3.1 \/ p.26 in Spec)</span>
-<a name="line-254"></a><span class='comment'>--</span>
-<a name="line-255"></a><span class='comment'>--    * 1.parameter idRefEnv :  lookup-table which maps element names to their validation function</span>
-<a name="line-256"></a><span class='comment'>--</span>
-<a name="line-257"></a><span class='comment'>--    - 2.parameter doc :  the document to validate</span>
-<a name="line-258"></a><span class='comment'>--</span>
-<a name="line-259"></a><span class='comment'>--    - returns : a list of errors</span>
-<a name="line-260"></a>
-<a name="line-261"></a><a name="checkIdReferences"></a><span class='definition'>checkIdReferences</span> <span class='keyglyph'>::</span> <span class='conid'>IdEnvTable</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span>
-<a name="line-262"></a><span class='definition'>checkIdReferences</span> <span class='varid'>idRefEnv</span> <span class='varid'>doc</span>
-<a name="line-263"></a>    <span class='keyglyph'>=</span> <span class='varid'>traverseTree</span> <span class='varid'>idRefEnv</span> <span class='varid'>doc</span>
-<a name="line-264"></a>
-<a name="line-265"></a>
-<a name="line-266"></a>
-<a name="line-267"></a>
-<a name="line-268"></a>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-RE.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-RE.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-RE.html
+++ /dev/null
@@ -1,340 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- A module for regular expression matching based on derivatives of regular expressions.</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- The code was taken from Joe English (&lt;<a href="http://www.flightlab.com/~joe/sgml/validate.html">http://www.flightlab.com/~joe/sgml/validate.html</a>&gt;).</span>
-<a name="line-5"></a><span class='comment'>-- Tested and extended by Martin Schmidt.</span>
-<a name="line-6"></a><span class='comment'>--</span>
-<a name="line-7"></a><span class='comment'>-- Further references for the algorithm:</span>
-<a name="line-8"></a><span class='comment'>--</span>
-<a name="line-9"></a><span class='comment'>-- Janusz A. Brzozowski.</span>
-<a name="line-10"></a><span class='comment'>--</span>
-<a name="line-11"></a><span class='comment'>-- 	Derivatives of Regular Expressions. Journal of the ACM, Volume 11, Issue 4, 1964. </span>
-<a name="line-12"></a><span class='comment'>--</span>
-<a name="line-13"></a><span class='comment'>-- Mark Hopkins.</span>
-<a name="line-14"></a><span class='comment'>--</span>
-<a name="line-15"></a><span class='comment'>--	Regular Expression Package. Posted to comp.compilers, 1994.</span>
-<a name="line-16"></a><span class='comment'>--      Available per FTP at &lt;ftp://iecc.com/pub/file/regex.tar.gz&gt;.</span>
-<a name="line-17"></a>
-<a name="line-18"></a>
-<a name="line-19"></a>
-<a name="line-20"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>RE</span>
-<a name="line-21"></a>    <span class='layout'>(</span> <span class='conid'>RE</span><span class='layout'>(</span><span class='keyglyph'>..</span><span class='layout'>)</span>
-<a name="line-22"></a>
-<a name="line-23"></a>    <span class='layout'>,</span> <span class='varid'>re_unit</span>
-<a name="line-24"></a>    <span class='layout'>,</span> <span class='varid'>re_zero</span>
-<a name="line-25"></a>    <span class='layout'>,</span> <span class='varid'>re_sym</span>
-<a name="line-26"></a>    <span class='layout'>,</span> <span class='varid'>re_rep</span>
-<a name="line-27"></a>    <span class='layout'>,</span> <span class='varid'>re_plus</span>
-<a name="line-28"></a>    <span class='layout'>,</span> <span class='varid'>re_opt</span>
-<a name="line-29"></a>    <span class='layout'>,</span> <span class='varid'>re_seq</span>
-<a name="line-30"></a>    <span class='layout'>,</span> <span class='varid'>re_alt</span>
-<a name="line-31"></a>    <span class='layout'>,</span> <span class='varid'>re_dot</span>
-<a name="line-32"></a>
-<a name="line-33"></a>    <span class='layout'>,</span> <span class='varid'>checkRE</span>
-<a name="line-34"></a>    <span class='layout'>,</span> <span class='varid'>matches</span>
-<a name="line-35"></a>    <span class='layout'>,</span> <span class='varid'>nullable</span>
-<a name="line-36"></a>    <span class='layout'>,</span> <span class='varid'>printRE</span>
-<a name="line-37"></a>  <span class='layout'>)</span>
-<a name="line-38"></a><span class='keyword'>where</span>
-<a name="line-39"></a>
-<a name="line-40"></a><span class='comment'>-- |</span>
-<a name="line-41"></a><span class='comment'>-- Data type for regular expressions.</span>
-<a name="line-42"></a>
-<a name="line-43"></a><a name="RE"></a><span class='keyword'>data</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>=</span>
-<a name="line-44"></a>	<span class='conid'>RE_ZERO</span>	<span class='conid'>String</span>		<span class='comment'>--' L(0)   = {} (empty set)</span>
-<a name="line-45"></a>	<span class='keyglyph'>|</span> <span class='conid'>RE_UNIT</span>		<span class='comment'>--' L(1)   = { [] } (empty sequence)</span>
-<a name="line-46"></a>	<span class='keyglyph'>|</span> <span class='conid'>RE_SYM</span> <span class='varid'>a</span>		<span class='comment'>--' L(x)   = { [x] }</span>
-<a name="line-47"></a>	<span class='keyglyph'>|</span> <span class='conid'>RE_DOT</span>                <span class='comment'>--' accept any single symbol</span>
-<a name="line-48"></a>	<span class='keyglyph'>|</span> <span class='conid'>RE_REP</span> <span class='layout'>(</span><span class='conid'>RE</span> <span class='varid'>a</span><span class='layout'>)</span>		<span class='comment'>--' L(e*)  = { [] } `union` L(e+)</span>
-<a name="line-49"></a>	<span class='keyglyph'>|</span> <span class='conid'>RE_PLUS</span> <span class='layout'>(</span><span class='conid'>RE</span> <span class='varid'>a</span><span class='layout'>)</span>	<span class='comment'>--' L(e+)  = { x ++ y | x &lt;- L(e), y &lt;- L(e*) }</span>
-<a name="line-50"></a>	<span class='keyglyph'>|</span> <span class='conid'>RE_OPT</span> <span class='layout'>(</span><span class='conid'>RE</span> <span class='varid'>a</span><span class='layout'>)</span>		<span class='comment'>--' L(e?)  = L(e) `union` { [] }</span>
-<a name="line-51"></a>	<span class='keyglyph'>|</span> <span class='conid'>RE_SEQ</span> <span class='layout'>(</span><span class='conid'>RE</span> <span class='varid'>a</span><span class='layout'>)</span> <span class='layout'>(</span><span class='conid'>RE</span> <span class='varid'>a</span><span class='layout'>)</span>	<span class='comment'>--' L(e,f) = { x ++ y | x &lt;- L(e), y &lt;- L(f) }</span>
-<a name="line-52"></a>	<span class='keyglyph'>|</span> <span class='conid'>RE_ALT</span> <span class='layout'>(</span><span class='conid'>RE</span> <span class='varid'>a</span><span class='layout'>)</span> <span class='layout'>(</span><span class='conid'>RE</span> <span class='varid'>a</span><span class='layout'>)</span>	<span class='comment'>--' L(e|f) = L(e) `union` L(f)</span>
-<a name="line-53"></a>	<span class='keyword'>deriving</span> <span class='layout'>(</span><span class='conid'>Show</span><span class='layout'>,</span> <span class='conid'>Eq</span><span class='layout'>)</span>
-<a name="line-54"></a>
-<a name="line-55"></a>
-<a name="line-56"></a>
-<a name="line-57"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-58"></a><span class='comment'>-- Constructor functions to simplify regular expressions when constructing them.</span>
-<a name="line-59"></a>
-<a name="line-60"></a><span class='comment'>-- |</span>
-<a name="line-61"></a><span class='comment'>-- Constructs a regular expression for an empty set.</span>
-<a name="line-62"></a><span class='comment'>--</span>
-<a name="line-63"></a><span class='comment'>--    * 1.parameter errMsg :  error message</span>
-<a name="line-64"></a><span class='comment'>--</span>
-<a name="line-65"></a><span class='comment'>--    - returns : regular expression for an empty set</span>
-<a name="line-66"></a>
-<a name="line-67"></a><a name="re_zero"></a><span class='definition'>re_zero</span>			<span class='keyglyph'>::</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-68"></a><span class='definition'>re_zero</span> <span class='varid'>m</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_ZERO</span> <span class='varid'>m</span>
-<a name="line-69"></a>
-<a name="line-70"></a>
-<a name="line-71"></a><span class='comment'>-- |</span>
-<a name="line-72"></a><span class='comment'>-- Constructs a regular expression for an empty sequence.</span>
-<a name="line-73"></a><span class='comment'>--</span>
-<a name="line-74"></a><span class='comment'>--    - returns : regular expression for an empty sequence</span>
-<a name="line-75"></a>
-<a name="line-76"></a><a name="re_unit"></a><span class='definition'>re_unit</span>			<span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-77"></a><span class='definition'>re_unit</span>			<span class='keyglyph'>=</span> <span class='conid'>RE_UNIT</span>
-<a name="line-78"></a>
-<a name="line-79"></a>
-<a name="line-80"></a><span class='comment'>-- |</span>
-<a name="line-81"></a><span class='comment'>-- Constructs a regular expression for accepting a symbol</span>
-<a name="line-82"></a><span class='comment'>--</span>
-<a name="line-83"></a><span class='comment'>--    * 1.parameter sym :  the symbol to be accepted</span>
-<a name="line-84"></a><span class='comment'>--</span>
-<a name="line-85"></a><span class='comment'>--    - returns : regular expression for accepting a symbol</span>
-<a name="line-86"></a>
-<a name="line-87"></a><a name="re_sym"></a><span class='definition'>re_sym</span>			<span class='keyglyph'>::</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-88"></a><span class='definition'>re_sym</span> <span class='varid'>x</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_SYM</span> <span class='varid'>x</span>
-<a name="line-89"></a>
-<a name="line-90"></a>
-<a name="line-91"></a><span class='comment'>-- |</span>
-<a name="line-92"></a><span class='comment'>-- Constructs a regular expression for accepting any singel symbol</span>
-<a name="line-93"></a><span class='comment'>--</span>
-<a name="line-94"></a><span class='comment'>--    - returns : regular expression for accepting any singel symbol</span>
-<a name="line-95"></a>
-<a name="line-96"></a><a name="re_dot"></a><span class='definition'>re_dot</span>			<span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-97"></a><span class='definition'>re_dot</span>			<span class='keyglyph'>=</span> <span class='conid'>RE_DOT</span>
-<a name="line-98"></a>
-<a name="line-99"></a>
-<a name="line-100"></a><span class='comment'>-- |</span>
-<a name="line-101"></a><span class='comment'>-- Constructs an optional repetition (*) of a regular expression</span>
-<a name="line-102"></a><span class='comment'>--</span>
-<a name="line-103"></a><span class='comment'>--    * 1.parameter re_a :  regular expression to be repeted</span>
-<a name="line-104"></a><span class='comment'>--</span>
-<a name="line-105"></a><span class='comment'>--    - returns : new regular expression</span>
-<a name="line-106"></a>
-<a name="line-107"></a><a name="re_rep"></a><span class='definition'>re_rep</span>			<span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-108"></a><span class='definition'>re_rep</span> <span class='conid'>RE_UNIT</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_UNIT</span>
-<a name="line-109"></a><span class='definition'>re_rep</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>RE_UNIT</span>
-<a name="line-110"></a><span class='definition'>re_rep</span> <span class='varid'>e</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>RE_REP</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>RE_REP</span> <span class='layout'>(</span><span class='varid'>rem_rep</span> <span class='varid'>e</span><span class='layout'>)</span>		<span class='comment'>-- remove nested reps</span>
-<a name="line-111"></a><span class='definition'>re_rep</span> <span class='varid'>e</span><span class='keyglyph'>@</span><span class='layout'>(</span><span class='conid'>RE_ALT</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>RE_REP</span> <span class='layout'>(</span><span class='varid'>rem_rep</span> <span class='varid'>e</span><span class='layout'>)</span>		<span class='comment'>-- remove nested reps in alternatives</span>
-<a name="line-112"></a><span class='definition'>re_rep</span> <span class='varid'>e</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_REP</span> <span class='varid'>e</span>
-<a name="line-113"></a>
-<a name="line-114"></a><span class='comment'>-- |</span>
-<a name="line-115"></a><span class='comment'>-- remove redundant nested *'s in RE</span>
-<a name="line-116"></a><span class='comment'>-- theoretically this is unneccessary,</span>
-<a name="line-117"></a><span class='comment'>-- but without this simplification the runtime can increase exponentally</span>
-<a name="line-118"></a><span class='comment'>-- when computing deltas, e.g. for a** or (a|b*)* which is the same as (a|b)*</span>
-<a name="line-119"></a>
-<a name="line-120"></a><a name="rem_rep"></a><span class='definition'>rem_rep</span>			<span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-121"></a><span class='definition'>rem_rep</span> <span class='layout'>(</span><span class='conid'>RE_ALT</span> <span class='varid'>e1</span> <span class='varid'>e2</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>RE_ALT</span> <span class='layout'>(</span><span class='varid'>rem_rep</span> <span class='varid'>e1</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>rem_rep</span> <span class='varid'>e2</span><span class='layout'>)</span>
-<a name="line-122"></a><span class='definition'>rem_rep</span> <span class='layout'>(</span><span class='conid'>RE_REP</span> <span class='varid'>e1</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>rem_rep</span> <span class='varid'>e1</span>
-<a name="line-123"></a><span class='definition'>rem_rep</span> <span class='varid'>e1</span>		<span class='keyglyph'>=</span> <span class='varid'>e1</span>
-<a name="line-124"></a>
-<a name="line-125"></a>
-<a name="line-126"></a><span class='comment'>-- |</span>
-<a name="line-127"></a><span class='comment'>-- Constructs a repetition (+) of a regular expression</span>
-<a name="line-128"></a><span class='comment'>--</span>
-<a name="line-129"></a><span class='comment'>--    * 1.parameter re_a :  regular expression to be repeted</span>
-<a name="line-130"></a><span class='comment'>--</span>
-<a name="line-131"></a><span class='comment'>--    - returns : new regular expression</span>
-<a name="line-132"></a>
-<a name="line-133"></a><a name="re_plus"></a><span class='definition'>re_plus</span>			<span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-134"></a><span class='definition'>re_plus</span> <span class='conid'>RE_UNIT</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_UNIT</span>
-<a name="line-135"></a><span class='definition'>re_plus</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='varid'>m</span><span class='layout'>)</span> 	<span class='keyglyph'>=</span> <span class='conid'>RE_ZERO</span> <span class='varid'>m</span>
-<a name="line-136"></a><span class='definition'>re_plus</span> <span class='varid'>e</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_PLUS</span> <span class='varid'>e</span>
-<a name="line-137"></a>
-<a name="line-138"></a>
-<a name="line-139"></a><span class='comment'>-- |</span>
-<a name="line-140"></a><span class='comment'>-- Constructs an option (?) of a regular expression</span>
-<a name="line-141"></a><span class='comment'>--</span>
-<a name="line-142"></a><span class='comment'>--    * 1.parameter re_a :  regular expression to be optional</span>
-<a name="line-143"></a><span class='comment'>--</span>
-<a name="line-144"></a><span class='comment'>--    - returns : new regular expression</span>
-<a name="line-145"></a>
-<a name="line-146"></a><a name="re_opt"></a><span class='definition'>re_opt</span>			<span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-147"></a><span class='definition'>re_opt</span> <span class='conid'>RE_UNIT</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_UNIT</span>
-<a name="line-148"></a><span class='definition'>re_opt</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>RE_UNIT</span>
-<a name="line-149"></a><span class='definition'>re_opt</span> <span class='varid'>e</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_OPT</span> <span class='varid'>e</span>
-<a name="line-150"></a>
-<a name="line-151"></a>
-<a name="line-152"></a><span class='comment'>-- |</span>
-<a name="line-153"></a><span class='comment'>-- Constructs a sequence (,) of two regular expressions</span>
-<a name="line-154"></a><span class='comment'>--</span>
-<a name="line-155"></a><span class='comment'>--    * 1.parameter re_a :  first regular expression in sequence</span>
-<a name="line-156"></a><span class='comment'>--</span>
-<a name="line-157"></a><span class='comment'>--    - 2.parameter re_b :  second regular expression in sequence</span>
-<a name="line-158"></a><span class='comment'>--</span>
-<a name="line-159"></a><span class='comment'>--    - returns : new regular expression</span>
-<a name="line-160"></a>
-<a name="line-161"></a><a name="re_seq"></a><span class='definition'>re_seq</span>			<span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-162"></a><span class='definition'>re_seq</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='varid'>m</span><span class='layout'>)</span> <span class='keyword'>_</span>	<span class='keyglyph'>=</span> <span class='conid'>RE_ZERO</span> <span class='varid'>m</span>
-<a name="line-163"></a><span class='definition'>re_seq</span> <span class='conid'>RE_UNIT</span> <span class='varid'>f</span>	<span class='keyglyph'>=</span> <span class='varid'>f</span>
-<a name="line-164"></a><span class='definition'>re_seq</span> <span class='keyword'>_</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='varid'>m</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>RE_ZERO</span> <span class='varid'>m</span>
-<a name="line-165"></a><span class='definition'>re_seq</span> <span class='varid'>e</span> <span class='conid'>RE_UNIT</span>	<span class='keyglyph'>=</span> <span class='varid'>e</span>
-<a name="line-166"></a><span class='definition'>re_seq</span> <span class='varid'>e</span> <span class='varid'>f</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_SEQ</span> <span class='varid'>e</span> <span class='varid'>f</span>
-<a name="line-167"></a>
-<a name="line-168"></a>
-<a name="line-169"></a><span class='comment'>-- |</span>
-<a name="line-170"></a><span class='comment'>-- Constructs an alternative (|) of two regular expressions</span>
-<a name="line-171"></a><span class='comment'>--</span>
-<a name="line-172"></a><span class='comment'>--    * 1.parameter re_a :  first regular expression of alternative</span>
-<a name="line-173"></a><span class='comment'>--</span>
-<a name="line-174"></a><span class='comment'>--    - 2.parameter re_b :  second regular expression of alternative</span>
-<a name="line-175"></a><span class='comment'>--</span>
-<a name="line-176"></a><span class='comment'>--    - returns : new regular expression</span>
-<a name="line-177"></a>
-<a name="line-178"></a><a name="re_alt"></a><span class='definition'>re_alt</span>			<span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-179"></a><span class='definition'>re_alt</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>f</span>	<span class='keyglyph'>=</span> <span class='varid'>f</span>
-<a name="line-180"></a><span class='definition'>re_alt</span> <span class='varid'>e</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>e</span>
-<a name="line-181"></a><span class='definition'>re_alt</span> <span class='varid'>e</span> <span class='varid'>f</span>		<span class='keyglyph'>=</span> <span class='conid'>RE_ALT</span> <span class='varid'>e</span> <span class='varid'>f</span>
-<a name="line-182"></a>
-<a name="line-183"></a>
-<a name="line-184"></a>
-<a name="line-185"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-186"></a>
-<a name="line-187"></a>
-<a name="line-188"></a><span class='comment'>-- |</span>
-<a name="line-189"></a><span class='comment'>-- Checks if a regular expression matches the empty sequence.</span>
-<a name="line-190"></a><span class='comment'>--</span>
-<a name="line-191"></a><span class='comment'>-- nullable e == [] `in` L(e)</span>
-<a name="line-192"></a><span class='comment'>--</span>
-<a name="line-193"></a><span class='comment'>-- This check indicates if a regular expression fits to a sentence or not.</span>
-<a name="line-194"></a><span class='comment'>--</span>
-<a name="line-195"></a><span class='comment'>--    * 1.parameter re :  regular expression to be checked</span>
-<a name="line-196"></a><span class='comment'>--</span>
-<a name="line-197"></a><span class='comment'>--    - returns : true if regular expression matches the empty sequence,</span>
-<a name="line-198"></a><span class='comment'>--                otherwise false</span>
-<a name="line-199"></a>
-<a name="line-200"></a><a name="nullable"></a><span class='definition'>nullable</span>		<span class='keyglyph'>::</span>  <span class='layout'>(</span><span class='conid'>Show</span> <span class='varid'>a</span><span class='layout'>)</span> <span class='keyglyph'>=&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-201"></a><span class='definition'>nullable</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-202"></a><span class='definition'>nullable</span> <span class='conid'>RE_UNIT</span>	<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-203"></a><span class='definition'>nullable</span> <span class='layout'>(</span><span class='conid'>RE_SYM</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-204"></a><span class='definition'>nullable</span> <span class='layout'>(</span><span class='conid'>RE_REP</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-205"></a><span class='definition'>nullable</span> <span class='layout'>(</span><span class='conid'>RE_PLUS</span> <span class='varid'>e</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>nullable</span> <span class='varid'>e</span>
-<a name="line-206"></a><span class='definition'>nullable</span> <span class='layout'>(</span><span class='conid'>RE_OPT</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-207"></a><span class='definition'>nullable</span> <span class='layout'>(</span><span class='conid'>RE_SEQ</span> <span class='varid'>e</span> <span class='varid'>f</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>nullable</span> <span class='varid'>e</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>nullable</span> <span class='varid'>f</span>
-<a name="line-208"></a><span class='definition'>nullable</span> <span class='layout'>(</span><span class='conid'>RE_ALT</span> <span class='varid'>e</span> <span class='varid'>f</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>nullable</span> <span class='varid'>e</span> <span class='varop'>||</span> <span class='varid'>nullable</span> <span class='varid'>f</span>
-<a name="line-209"></a><span class='definition'>nullable</span> <span class='conid'>RE_DOT</span>		<span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-210"></a>
-<a name="line-211"></a>
-<a name="line-212"></a><span class='comment'>-- |</span>
-<a name="line-213"></a><span class='comment'>-- Derives a regular expression with respect to one symbol.</span>
-<a name="line-214"></a><span class='comment'>--</span>
-<a name="line-215"></a><span class='comment'>-- L(delta e x) = x \ L(e)</span>
-<a name="line-216"></a><span class='comment'>--</span>
-<a name="line-217"></a><span class='comment'>--    * 1.parameter re :  regular expression to be derived</span>
-<a name="line-218"></a><span class='comment'>--</span>
-<a name="line-219"></a><span class='comment'>--    - 2.parameter sym :  the symbol on which the regular expression is applied</span>
-<a name="line-220"></a><span class='comment'>--</span>
-<a name="line-221"></a><span class='comment'>--    - returns : the derived regular expression</span>
-<a name="line-222"></a>
-<a name="line-223"></a><a name="delta"></a><span class='definition'>delta</span> <span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Eq</span> <span class='varid'>a</span><span class='layout'>,</span> <span class='conid'>Show</span> <span class='varid'>a</span><span class='layout'>)</span> <span class='keyglyph'>=&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-224"></a><span class='definition'>delta</span> <span class='varid'>re</span> <span class='varid'>x</span> <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='varid'>re</span> <span class='keyword'>of</span>
-<a name="line-225"></a>	<span class='conid'>RE_ZERO</span>	<span class='keyword'>_</span>		<span class='keyglyph'>-&gt;</span> <span class='varid'>re</span>					<span class='comment'>-- re_zero m</span>
-<a name="line-226"></a>	<span class='conid'>RE_UNIT</span>			<span class='keyglyph'>-&gt;</span> <span class='varid'>re_zero</span> <span class='layout'>(</span><span class='str'>"Symbol "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>x</span> <span class='varop'>++</span> <span class='str'>" unexpected."</span><span class='layout'>)</span>
-<a name="line-227"></a>	<span class='conid'>RE_SYM</span> <span class='varid'>sym</span>
-<a name="line-228"></a>		<span class='keyglyph'>|</span> <span class='varid'>x</span> <span class='varop'>==</span> <span class='varid'>sym</span>	<span class='keyglyph'>-&gt;</span> <span class='varid'>re_unit</span>
-<a name="line-229"></a>		<span class='keyglyph'>|</span> <span class='varid'>otherwise</span>	<span class='keyglyph'>-&gt;</span> <span class='varid'>re_zero</span> <span class='layout'>(</span><span class='str'>"Symbol "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>sym</span> <span class='varop'>++</span> <span class='str'>" expected, but symbol "</span> <span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>x</span> <span class='varop'>++</span> <span class='str'>" found."</span><span class='layout'>)</span>
-<a name="line-230"></a>	<span class='conid'>RE_REP</span>  <span class='varid'>e</span>		<span class='keyglyph'>-&gt;</span> <span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='varid'>re</span>		<span class='comment'>-- (re_rep e)</span>
-<a name="line-231"></a>	<span class='conid'>RE_PLUS</span> <span class='varid'>e</span>		<span class='keyglyph'>-&gt;</span> <span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>re_rep</span> <span class='varid'>e</span><span class='layout'>)</span>
-<a name="line-232"></a>	<span class='conid'>RE_OPT</span>  <span class='varid'>e</span>		<span class='keyglyph'>-&gt;</span> <span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>x</span>
-<a name="line-233"></a>	<span class='conid'>RE_SEQ</span>  <span class='varid'>e</span> <span class='varid'>f</span>
-<a name="line-234"></a>		<span class='keyglyph'>|</span> <span class='varid'>nullable</span> <span class='varid'>e</span>	<span class='keyglyph'>-&gt;</span> <span class='varid'>re_alt</span> <span class='layout'>(</span><span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>f</span> <span class='varid'>x</span><span class='layout'>)</span>
-<a name="line-235"></a>		<span class='keyglyph'>|</span> <span class='varid'>otherwise</span>	<span class='keyglyph'>-&gt;</span> <span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='varid'>f</span>
-<a name="line-236"></a>	<span class='conid'>RE_ALT</span>  <span class='varid'>e</span> <span class='varid'>f</span>		<span class='keyglyph'>-&gt;</span> <span class='varid'>re_alt</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>x</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>f</span> <span class='varid'>x</span><span class='layout'>)</span>
-<a name="line-237"></a>	<span class='conid'>RE_DOT</span>			<span class='keyglyph'>-&gt;</span> <span class='varid'>re_unit</span>
-<a name="line-238"></a>
-<a name="line-239"></a>
-<a name="line-240"></a><span class='comment'>-- |</span>
-<a name="line-241"></a><span class='comment'>-- Derives a regular expression with respect to a sentence.</span>
-<a name="line-242"></a><span class='comment'>--</span>
-<a name="line-243"></a><span class='comment'>--    * 1.parameter re :  regular expression</span>
-<a name="line-244"></a><span class='comment'>--</span>
-<a name="line-245"></a><span class='comment'>--    - 2.parameter s :  sentence to which the regular expression is applied</span>
-<a name="line-246"></a><span class='comment'>--</span>
-<a name="line-247"></a><span class='comment'>--    - returns : the derived regular expression</span>
-<a name="line-248"></a>
-<a name="line-249"></a><a name="matches"></a><span class='definition'>matches</span> <span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Eq</span> <span class='varid'>a</span><span class='layout'>,</span> <span class='conid'>Show</span> <span class='varid'>a</span><span class='layout'>)</span> <span class='keyglyph'>=&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='keyglyph'>[</span><span class='varid'>a</span><span class='keyglyph'>]</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span>
-<a name="line-250"></a><span class='definition'>matches</span> <span class='varid'>e</span> <span class='keyglyph'>=</span> <span class='varid'>foldl</span> <span class='varid'>delta</span> <span class='varid'>e</span>
-<a name="line-251"></a>
-<a name="line-252"></a>
-<a name="line-253"></a><span class='comment'>-- |</span>
-<a name="line-254"></a><span class='comment'>-- Checks if an input matched a regular expression. The function should be</span>
-<a name="line-255"></a><span class='comment'>-- called after matches.</span>
-<a name="line-256"></a><span class='comment'>--</span>
-<a name="line-257"></a><span class='comment'>-- Was the sentence used in @matches@ in the language of the regular expression?</span>
-<a name="line-258"></a><span class='comment'>-- -&gt; matches e s == s `in` L(e)?</span>
-<a name="line-259"></a><span class='comment'>--</span>
-<a name="line-260"></a><span class='comment'>--    * 1.parameter re :  the derived regular expression</span>
-<a name="line-261"></a><span class='comment'>--</span>
-<a name="line-262"></a><span class='comment'>--    - returns : empty String if input matched the regular expression, otherwise</span>
-<a name="line-263"></a><span class='comment'>--               an error message is returned</span>
-<a name="line-264"></a>
-<a name="line-265"></a><a name="checkRE"></a><span class='definition'>checkRE</span> <span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Show</span> <span class='varid'>a</span><span class='layout'>)</span> <span class='keyglyph'>=&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-266"></a><span class='definition'>checkRE</span> <span class='layout'>(</span><span class='conid'>RE_UNIT</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-267"></a><span class='definition'>checkRE</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='varid'>m</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='varid'>m</span>
-<a name="line-268"></a><span class='definition'>checkRE</span> <span class='varid'>re</span>
-<a name="line-269"></a>	<span class='keyglyph'>|</span> <span class='varid'>nullable</span> <span class='varid'>re</span>	<span class='keyglyph'>=</span> <span class='str'>""</span>
-<a name="line-270"></a>	<span class='keyglyph'>|</span> <span class='varid'>otherwise</span>	<span class='keyglyph'>=</span> <span class='str'>"Input must match "</span> <span class='varop'>++</span> <span class='varid'>printRE</span> <span class='varid'>re</span>
-<a name="line-271"></a>
-<a name="line-272"></a>
-<a name="line-273"></a>
-<a name="line-274"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-275"></a>
-<a name="line-276"></a>
-<a name="line-277"></a>
-<a name="line-278"></a><span class='comment'>-- |</span>
-<a name="line-279"></a><span class='comment'>-- Constructs a string representation of a regular expression.</span>
-<a name="line-280"></a><span class='comment'>--</span>
-<a name="line-281"></a><span class='comment'>--    * 1.parameter re :  a regular expression</span>
-<a name="line-282"></a><span class='comment'>--</span>
-<a name="line-283"></a><span class='comment'>--    - returns : the string representation of the regular expression</span>
-<a name="line-284"></a>
-<a name="line-285"></a><a name="printRE"></a><span class='definition'>printRE</span> <span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Show</span> <span class='varid'>a</span><span class='layout'>)</span> <span class='keyglyph'>=&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-286"></a><span class='definition'>printRE</span> <span class='varid'>re'</span>
-<a name="line-287"></a>    <span class='keyglyph'>=</span> <span class='str'>"( "</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>re'</span> <span class='varop'>++</span> <span class='str'>" )"</span>
-<a name="line-288"></a>      <span class='keyword'>where</span>
-<a name="line-289"></a>      <span class='varid'>printRE1</span> <span class='keyglyph'>::</span> <span class='layout'>(</span><span class='conid'>Show</span> <span class='varid'>a</span><span class='layout'>)</span> <span class='keyglyph'>=&gt;</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-290"></a>      <span class='varid'>printRE1</span> <span class='varid'>re</span> <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='varid'>re</span> <span class='keyword'>of</span>
-<a name="line-291"></a>	  <span class='conid'>RE_ZERO</span> <span class='varid'>m</span>				<span class='keyglyph'>-&gt;</span> <span class='str'>"ERROR: "</span> <span class='varop'>++</span> <span class='varid'>m</span>
-<a name="line-292"></a>	  <span class='conid'>RE_UNIT</span>				<span class='keyglyph'>-&gt;</span> <span class='str'>""</span>
-<a name="line-293"></a>	  <span class='conid'>RE_SYM</span> <span class='varid'>sym</span>				<span class='keyglyph'>-&gt;</span> <span class='varid'>show</span> <span class='varid'>sym</span>
-<a name="line-294"></a>	  <span class='conid'>RE_DOT</span>				<span class='keyglyph'>-&gt;</span> <span class='str'>"."</span>
-<a name="line-295"></a>	  <span class='conid'>RE_REP</span> <span class='varid'>e</span>
-<a name="line-296"></a>	      <span class='keyglyph'>|</span> <span class='varid'>isSingle</span> <span class='varid'>e</span>			<span class='keyglyph'>-&gt;</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>"*"</span>
-<a name="line-297"></a>	      <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>			<span class='keyglyph'>-&gt;</span> <span class='str'>"("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>")*"</span>
-<a name="line-298"></a>	  <span class='conid'>RE_PLUS</span> <span class='varid'>e</span>
-<a name="line-299"></a>	      <span class='keyglyph'>|</span> <span class='varid'>isSingle</span> <span class='varid'>e</span>			<span class='keyglyph'>-&gt;</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>"+"</span>
-<a name="line-300"></a>	      <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>			<span class='keyglyph'>-&gt;</span> <span class='str'>"("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>")+"</span>
-<a name="line-301"></a>	  <span class='conid'>RE_OPT</span> <span class='varid'>e</span>
-<a name="line-302"></a>	      <span class='keyglyph'>|</span> <span class='varid'>isSingle</span> <span class='varid'>e</span>			<span class='keyglyph'>-&gt;</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>"?"</span>
-<a name="line-303"></a>	      <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>			<span class='keyglyph'>-&gt;</span> <span class='str'>"("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>")?"</span>
-<a name="line-304"></a>	  <span class='conid'>RE_SEQ</span> <span class='varid'>e</span> <span class='varid'>f</span>
-<a name="line-305"></a>	      <span class='keyglyph'>|</span> <span class='varid'>isAlt</span> <span class='varid'>e</span>  <span class='varop'>&amp;&amp;</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>isAlt</span> <span class='varid'>f</span><span class='layout'>)</span>	<span class='keyglyph'>-&gt;</span> <span class='str'>"("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>") , "</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>f</span>
-<a name="line-306"></a>	      <span class='keyglyph'>|</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>isAlt</span> <span class='varid'>e</span><span class='layout'>)</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>isAlt</span> <span class='varid'>f</span>	<span class='keyglyph'>-&gt;</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>" , ("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>f</span> <span class='varop'>++</span> <span class='str'>")"</span>
-<a name="line-307"></a>	      <span class='keyglyph'>|</span> <span class='varid'>isAlt</span> <span class='varid'>e</span>  <span class='varop'>&amp;&amp;</span> <span class='varid'>isAlt</span> <span class='varid'>f</span>		<span class='keyglyph'>-&gt;</span> <span class='str'>"("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>") , ("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>f</span> <span class='varop'>++</span> <span class='str'>")"</span>
-<a name="line-308"></a>	      <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>			<span class='keyglyph'>-&gt;</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>" , "</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>f</span>
-<a name="line-309"></a>	  <span class='conid'>RE_ALT</span> <span class='varid'>e</span> <span class='varid'>f</span>
-<a name="line-310"></a>	      <span class='keyglyph'>|</span> <span class='varid'>isSeq</span> <span class='varid'>e</span>  <span class='varop'>&amp;&amp;</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>isSeq</span> <span class='varid'>f</span><span class='layout'>)</span>	<span class='keyglyph'>-&gt;</span> <span class='str'>"("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>") | "</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>f</span>
-<a name="line-311"></a>	      <span class='keyglyph'>|</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>isSeq</span> <span class='varid'>e</span><span class='layout'>)</span> <span class='varop'>&amp;&amp;</span> <span class='varid'>isSeq</span> <span class='varid'>f</span>	<span class='keyglyph'>-&gt;</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>" | ("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>f</span> <span class='varop'>++</span> <span class='str'>")"</span>
-<a name="line-312"></a>	      <span class='keyglyph'>|</span> <span class='varid'>isSeq</span> <span class='varid'>e</span>  <span class='varop'>&amp;&amp;</span> <span class='varid'>isSeq</span> <span class='varid'>f</span>		<span class='keyglyph'>-&gt;</span> <span class='str'>"("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>") | ("</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>f</span> <span class='varop'>++</span> <span class='str'>")"</span>
-<a name="line-313"></a>	      <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>			<span class='keyglyph'>-&gt;</span> <span class='varid'>printRE1</span> <span class='varid'>e</span> <span class='varop'>++</span> <span class='str'>" | "</span> <span class='varop'>++</span> <span class='varid'>printRE1</span> <span class='varid'>f</span>
-<a name="line-314"></a>
-<a name="line-315"></a>
-<a name="line-316"></a>      <span class='varid'>isSingle</span> <span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-317"></a>      <span class='varid'>isSingle</span> <span class='layout'>(</span><span class='conid'>RE_ZERO</span> <span class='keyword'>_</span><span class='layout'>)</span>    <span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-318"></a>      <span class='varid'>isSingle</span> <span class='conid'>RE_UNIT</span>        <span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-319"></a>      <span class='varid'>isSingle</span> <span class='layout'>(</span><span class='conid'>RE_SYM</span> <span class='keyword'>_</span><span class='layout'>)</span>     <span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-320"></a>      <span class='varid'>isSingle</span> <span class='keyword'>_</span>              <span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-321"></a>
-<a name="line-322"></a>
-<a name="line-323"></a>      <span class='varid'>isSeq</span> <span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-324"></a>      <span class='varid'>isSeq</span> <span class='layout'>(</span><span class='conid'>RE_SEQ</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span>      <span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-325"></a>      <span class='varid'>isSeq</span> <span class='keyword'>_</span>                 <span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-326"></a>
-<a name="line-327"></a>
-<a name="line-328"></a>      <span class='varid'>isAlt</span> <span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='varid'>a</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-329"></a>      <span class='varid'>isAlt</span> <span class='layout'>(</span><span class='conid'>RE_ALT</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span>      <span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-330"></a>      <span class='varid'>isAlt</span> <span class='keyword'>_</span>                 <span class='keyglyph'>=</span> <span class='conid'>False</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-Validation.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-Validation.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-Validation.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This module provides a state filter as a main function for validating XML documents.</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- The real validation is done with pure filters from module 'Text.XML.HXT.Validator.ValidationFilter'</span>
-<a name="line-5"></a><span class='comment'>--</span>
-<a name="line-6"></a><span class='comment'>-- Author : .\\artin Schmidt</span>
-<a name="line-7"></a>
-<a name="line-8"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>Validation</span>
-<a name="line-9"></a>    <span class='layout'>(</span> <span class='varid'>getValidatedDoc</span>
-<a name="line-10"></a>    <span class='layout'>,</span> <span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>ValidationFilter</span>
-<a name="line-11"></a>    <span class='layout'>)</span>
-<a name="line-12"></a>
-<a name="line-13"></a><span class='keyword'>where</span>
-<a name="line-14"></a>
-<a name="line-15"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-16"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlState</span>
-<a name="line-17"></a>
-<a name="line-18"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>ValidationFilter</span>
-<a name="line-19"></a>
-<a name="line-20"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Parser</span><span class='varop'>.</span><span class='conid'>XmlOutput</span>
-<a name="line-21"></a>    <span class='layout'>(</span> <span class='varid'>traceTree</span>
-<a name="line-22"></a>    <span class='layout'>,</span> <span class='varid'>traceSource</span>
-<a name="line-23"></a>    <span class='layout'>,</span> <span class='varid'>traceMsg</span>
-<a name="line-24"></a>    <span class='layout'>)</span>
-<a name="line-25"></a>
-<a name="line-26"></a><span class='comment'>-- ------------------------------------------------------------</span>
-<a name="line-27"></a>
-<a name="line-28"></a><span class='comment'>-- |</span>
-<a name="line-29"></a><span class='comment'>-- monadic filter for validating and transforming a wellformed document.</span>
-<a name="line-30"></a><span class='comment'>--</span>
-<a name="line-31"></a><span class='comment'>-- the "main" function for validation.</span>
-<a name="line-32"></a><span class='comment'>--</span>
-<a name="line-33"></a><span class='comment'>-- the input tree must consist of a root node with a complete document and DTD.</span>
-<a name="line-34"></a><span class='comment'>-- Result is the single element list containing same tree but tranformed with respect to the DTD,</span>
-<a name="line-35"></a><span class='comment'>-- or, in case of errors, the root with an empty list of children</span>
-<a name="line-36"></a>
-<a name="line-37"></a><a name="getValidatedDoc"></a><span class='definition'>getValidatedDoc</span>		<span class='keyglyph'>::</span> <span class='conid'>XmlStateFilter</span> <span class='varid'>state</span>
-<a name="line-38"></a><span class='definition'>getValidatedDoc</span>
-<a name="line-39"></a>    <span class='keyglyph'>=</span> <span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='str'>"validating document"</span>
-<a name="line-40"></a>      <span class='varop'>.&gt;&gt;</span>
-<a name="line-41"></a>      <span class='layout'>(</span> <span class='layout'>(</span> <span class='varid'>runValidation</span>
-<a name="line-42"></a>	  <span class='varop'>.&gt;&gt;</span>
-<a name="line-43"></a>	  <span class='varid'>traceTree</span>
-<a name="line-44"></a>	  <span class='varop'>.&gt;&gt;</span>
-<a name="line-45"></a>	  <span class='varid'>traceSource</span>
-<a name="line-46"></a>	<span class='layout'>)</span>
-<a name="line-47"></a>	<span class='varop'>`whenM`</span> <span class='layout'>(</span><span class='varid'>isRoot</span> <span class='varop'>.&gt;</span> <span class='varid'>getChildren</span><span class='layout'>)</span>
-<a name="line-48"></a>      <span class='layout'>)</span>
-<a name="line-49"></a>      <span class='keyword'>where</span>
-<a name="line-50"></a>      <span class='varid'>runValidation</span> <span class='varid'>t</span>
-<a name="line-51"></a>	  <span class='keyglyph'>=</span> <span class='keyword'>do</span>
-<a name="line-52"></a>	    <span class='varid'>issueError</span> <span class='varop'>$$&lt;</span> <span class='varid'>res</span>
-<a name="line-53"></a>	    <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>errs</span>
-<a name="line-54"></a>	      <span class='keyword'>then</span> <span class='layout'>(</span> <span class='varid'>traceMsg</span> <span class='num'>1</span> <span class='str'>"transforming validated document"</span>
-<a name="line-55"></a>		     <span class='varop'>.&gt;&gt;</span>
-<a name="line-56"></a>		     <span class='varid'>liftMf</span> <span class='varid'>transform</span>
-<a name="line-57"></a>		   <span class='layout'>)</span>
-<a name="line-58"></a>	      <span class='keyword'>else</span> <span class='varid'>liftMf</span> <span class='layout'>(</span><span class='varid'>setStatus</span> <span class='varid'>c_err</span> <span class='str'>"validating document"</span><span class='layout'>)</span>
-<a name="line-59"></a>	      <span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-60"></a>	    <span class='keyword'>where</span>
-<a name="line-61"></a>	    <span class='varid'>res</span>  <span class='keyglyph'>=</span> <span class='varid'>validate</span> <span class='varid'>t</span>
-<a name="line-62"></a>	    <span class='varid'>errs</span> <span class='keyglyph'>=</span> <span class='varid'>isXError</span> <span class='varop'>.&gt;</span> <span class='varid'>neg</span> <span class='varid'>isWarning</span> <span class='varop'>$$</span> <span class='varid'>res</span>
-<a name="line-63"></a>
-<a name="line-64"></a><span class='comment'>-- ------------------------------------------------------------</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-ValidationFilter.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-ValidationFilter.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-ValidationFilter.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- This module provides functions for validating XML documents represented as</span>
-<a name="line-3"></a><span class='comment'>-- XmlTree.</span>
-<a name="line-4"></a>
-<a name="line-5"></a><span class='comment'>-- Unlike other popular XML validation tools the validation functions return</span>
-<a name="line-6"></a><span class='comment'>-- a list of errors instead of aborting after the first error was found.</span>
-<a name="line-7"></a><span class='comment'>-- </span>
-<a name="line-8"></a><span class='comment'>-- Note: The validation process has been split into validation and transformation!</span>
-<a name="line-9"></a><span class='comment'>--       If @validate@ did not report any errors, @transform@</span>
-<a name="line-10"></a><span class='comment'>--       should be called, to change the document the way a validating parser</span>
-<a name="line-11"></a><span class='comment'>--       is expected to do.</span>
-<a name="line-12"></a>
-<a name="line-13"></a><span class='comment'>--</span>
-<a name="line-14"></a><span class='comment'>-- Author : .\\artin Schmidt</span>
-<a name="line-15"></a>
-<a name="line-16"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>ValidationFilter</span>
-<a name="line-17"></a>    <span class='layout'>(</span> <span class='varid'>getDTDSubset</span>
-<a name="line-18"></a>    <span class='layout'>,</span> <span class='varid'>validate</span>
-<a name="line-19"></a>    <span class='layout'>,</span> <span class='varid'>validateDTD</span>
-<a name="line-20"></a>    <span class='layout'>,</span> <span class='varid'>validateDoc</span>
-<a name="line-21"></a>    <span class='layout'>,</span> <span class='varid'>removeDoublicateDefs</span>
-<a name="line-22"></a>    <span class='layout'>,</span> <span class='varid'>transform</span>
-<a name="line-23"></a>    <span class='layout'>)</span>
-<a name="line-24"></a>
-<a name="line-25"></a><span class='keyword'>where</span>
-<a name="line-26"></a>
-<a name="line-27"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-28"></a>
-<a name="line-29"></a><span class='keyword'>import</span> <span class='keyword'>qualified</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>DTDValidation</span> <span class='keyword'>as</span> <span class='conid'>DTDValidation</span>
-<a name="line-30"></a><span class='keyword'>import</span> <span class='keyword'>qualified</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>DocValidation</span> <span class='keyword'>as</span> <span class='conid'>DocValidation</span>
-<a name="line-31"></a><span class='keyword'>import</span> <span class='keyword'>qualified</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>IdValidation</span> <span class='keyword'>as</span> <span class='conid'>IdValidation</span>
-<a name="line-32"></a><span class='keyword'>import</span> <span class='keyword'>qualified</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>DocTransformation</span> <span class='keyword'>as</span> <span class='conid'>DocTransformation</span>
-<a name="line-33"></a>
-<a name="line-34"></a><span class='comment'>-- |</span>
-<a name="line-35"></a><span class='comment'>-- Main validation filter. Check if the DTD and the document are valid.</span>
-<a name="line-36"></a><span class='comment'>--</span>
-<a name="line-37"></a><span class='comment'>--</span>
-<a name="line-38"></a><span class='comment'>--    - returns : a function which expects a complete document as XmlTree input</span>
-<a name="line-39"></a><span class='comment'>--                     and returns a list of all errors found.</span>
-<a name="line-40"></a>
-<a name="line-41"></a><a name="validate"></a><span class='definition'>validate</span> 	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-42"></a><span class='definition'>validate</span>	<span class='keyglyph'>=</span> <span class='varid'>validateDTD</span> <span class='varop'>+++</span> <span class='varid'>validateDoc</span>
-<a name="line-43"></a>
-<a name="line-44"></a><span class='comment'>-- |</span>
-<a name="line-45"></a><span class='comment'>-- Check if the DTD is valid.</span>
-<a name="line-46"></a><span class='comment'>--</span>
-<a name="line-47"></a><span class='comment'>--</span>
-<a name="line-48"></a><span class='comment'>--    - returns : a function which expects an XmlTree from the parser as input</span>
-<a name="line-49"></a><span class='comment'>--                     and returns a list of all errors found in the DTD.</span>
-<a name="line-50"></a>
-<a name="line-51"></a><a name="validateDTD"></a><span class='definition'>validateDTD</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-52"></a><span class='definition'>validateDTD</span>
-<a name="line-53"></a>    <span class='keyglyph'>=</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>getDTDSubset</span>
-<a name="line-54"></a>	       <span class='conop'>:-&gt;</span> <span class='conid'>DTDValidation</span><span class='varop'>.</span><span class='varid'>validateDTD</span>
-<a name="line-55"></a>	     <span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-56"></a>               <span class='conop'>:-&gt;</span> <span class='varid'>err</span> <span class='str'>"Can't validate DTD: There is no DOCTYPE declaration in the document."</span>
-<a name="line-57"></a>	     <span class='keyglyph'>]</span>
-<a name="line-58"></a><span class='comment'>-- |</span>
-<a name="line-59"></a><span class='comment'>-- Check if the document corresponds to the given DTD.</span>
-<a name="line-60"></a><span class='comment'>--</span>
-<a name="line-61"></a><span class='comment'>--</span>
-<a name="line-62"></a><span class='comment'>--    - returns : a function which expects a complete document as XmlTree input</span>
-<a name="line-63"></a><span class='comment'>--                     and returns a list of all errors found in the content part.</span>
-<a name="line-64"></a>
-<a name="line-65"></a><a name="validateDoc"></a><span class='definition'>validateDoc</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-66"></a><span class='definition'>validateDoc</span> <span class='varid'>t</span>
-<a name="line-67"></a>    <span class='keyglyph'>=</span> <span class='layout'>(</span> <span class='keyword'>if</span> <span class='varid'>null</span> <span class='varid'>dtds</span>
-<a name="line-68"></a>	<span class='keyword'>then</span> <span class='varid'>err</span> <span class='str'>"Can't validate document: There is no DOCTYPE declaration in the document."</span>
-<a name="line-69"></a>	<span class='keyword'>else</span> <span class='layout'>(</span> <span class='conid'>DocValidation</span><span class='varop'>.</span><span class='varid'>validateDoc</span> <span class='varid'>dtdPart</span>
-<a name="line-70"></a>               <span class='varop'>+++</span>
-<a name="line-71"></a>	       <span class='conid'>IdValidation</span><span class='varop'>.</span><span class='varid'>validateIds</span> <span class='varid'>dtdPart</span>
-<a name="line-72"></a>	     <span class='layout'>)</span>
-<a name="line-73"></a>      <span class='layout'>)</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-74"></a>      <span class='keyword'>where</span>
-<a name="line-75"></a>      <span class='varid'>dtds</span> <span class='keyglyph'>=</span> <span class='varid'>getDTDSubset</span> <span class='varop'>.&gt;</span> <span class='varid'>processBottomUp</span> <span class='varid'>removeDoublicateDefs</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-76"></a>      <span class='varid'>dtdPart</span>  <span class='keyglyph'>=</span> <span class='varid'>head</span> <span class='varid'>dtds</span>
-<a name="line-77"></a>
-<a name="line-78"></a><span class='comment'>-- |</span>
-<a name="line-79"></a><span class='comment'>-- filter for transforming a document with respect to the given DTD.</span>
-<a name="line-80"></a><span class='comment'>--</span>
-<a name="line-81"></a><span class='comment'>-- Validating parsers</span>
-<a name="line-82"></a><span class='comment'>-- are expected to  normalize attribute values and add default values.</span>
-<a name="line-83"></a><span class='comment'>-- This function should be called after a successful validation.</span>
-<a name="line-84"></a><span class='comment'>--</span>
-<a name="line-85"></a><span class='comment'>--</span>
-<a name="line-86"></a><span class='comment'>--    - returns : a function which expects a complete XML document tree</span>
-<a name="line-87"></a><span class='comment'>--                and returns the transformed XmlTree</span>
-<a name="line-88"></a>
-<a name="line-89"></a><a name="transform"></a><span class='definition'>transform</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-90"></a><span class='definition'>transform</span>
-<a name="line-91"></a>    <span class='keyglyph'>=</span> <span class='varid'>choice</span> <span class='keyglyph'>[</span> <span class='varid'>isRoot</span>
-<a name="line-92"></a>               <span class='conop'>:-&gt;</span> <span class='varid'>transformDoc</span>
-<a name="line-93"></a>	     <span class='layout'>,</span> <span class='varid'>this</span>
-<a name="line-94"></a>	       <span class='conop'>:-&gt;</span> <span class='varid'>fatal</span> <span class='str'>"Can't transform document: No document root given"</span>
-<a name="line-95"></a>	     <span class='keyglyph'>]</span>
-<a name="line-96"></a>      <span class='keyword'>where</span>
-<a name="line-97"></a>      <span class='varid'>transformDoc</span> <span class='varid'>t</span>
-<a name="line-98"></a>	  <span class='keyglyph'>|</span> <span class='varid'>null</span> <span class='varid'>dtds</span>
-<a name="line-99"></a>	      <span class='keyglyph'>=</span> <span class='varid'>this</span> <span class='varid'>t</span>
-<a name="line-100"></a>	  <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>
-<a name="line-101"></a>	      <span class='keyglyph'>=</span> <span class='conid'>DocTransformation</span><span class='varop'>.</span><span class='varid'>transform</span> <span class='layout'>(</span><span class='varid'>head</span> <span class='varid'>dtds</span><span class='layout'>)</span> <span class='varid'>t</span>
-<a name="line-102"></a>	  <span class='keyword'>where</span>
-<a name="line-103"></a>	  <span class='varid'>dtds</span> <span class='keyglyph'>=</span> <span class='varid'>getDTDSubset</span> <span class='varop'>.&gt;</span> <span class='varid'>processBottomUp</span> <span class='varid'>removeDoublicateDefs</span> <span class='varop'>$</span> <span class='varid'>t</span>
-<a name="line-104"></a>
-<a name="line-105"></a><span class='comment'>-- |</span>
-<a name="line-106"></a><span class='comment'>-- Removes doublicate declarations from the DTD which first declaration is</span>
-<a name="line-107"></a><span class='comment'>-- binding. This is the case for ATTLIST and ENTITY declarations.</span>
-<a name="line-108"></a><span class='comment'>--</span>
-<a name="line-109"></a><span class='comment'>--</span>
-<a name="line-110"></a><span class='comment'>--    - returns : A function that replaces the children of DOCTYPE nodes by a list</span>
-<a name="line-111"></a><span class='comment'>--               where all multiple declarations are removed.</span>
-<a name="line-112"></a>
-<a name="line-113"></a><a name="removeDoublicateDefs"></a><span class='definition'>removeDoublicateDefs</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-114"></a><span class='definition'>removeDoublicateDefs</span>
-<a name="line-115"></a>    <span class='keyglyph'>=</span> <span class='conid'>DTDValidation</span><span class='varop'>.</span><span class='varid'>removeDoublicateDefs</span>
-<a name="line-116"></a>
-<a name="line-117"></a><span class='comment'>--</span>
-<a name="line-118"></a><span class='comment'>-- selects the DTD part of a document</span>
-<a name="line-119"></a><span class='comment'>-- but only, if there is more than the internal part for the 4 predefined XML entities</span>
-<a name="line-120"></a>
-<a name="line-121"></a><a name="getDTDSubset"></a><span class='definition'>getDTDSubset</span>	<span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-122"></a><span class='definition'>getDTDSubset</span>
-<a name="line-123"></a>    <span class='keyglyph'>=</span> <span class='varid'>getChildren</span> <span class='varop'>.&gt;</span> <span class='varid'>isDoctype</span> <span class='varop'>.&gt;</span> <span class='varid'>hasRootName</span>
-<a name="line-124"></a>      <span class='keyword'>where</span>
-<a name="line-125"></a>      <span class='varid'>hasRootName</span> <span class='keyglyph'>=</span> <span class='varid'>isOf</span> <span class='layout'>(</span><span class='varid'>hasEntry</span> <span class='varid'>a_name</span> <span class='varop'>.</span> <span class='varid'>attrlOfDTD</span><span class='layout'>)</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/Text-XML-HXT-Validator-XmlRE.html b/doc/hxt-filter/src/Text-XML-HXT-Validator-XmlRE.html
deleted file mode 100644
--- a/doc/hxt-filter/src/Text-XML-HXT-Validator-XmlRE.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html>
-<head>
-<!-- Generated by HsColour, http://www.cs.york.ac.uk/fp/darcs/hscolour/ -->
-<title>Haskell Code by HsColour</title>
-<link type='text/css' rel='stylesheet' href='hscolour.css' />
-</head>
-<body>
-<pre><a name="line-1"></a><span class='comment'>-- |</span>
-<a name="line-2"></a><span class='comment'>-- A module for regular expression matching, adapted for XML DTDs.</span>
-<a name="line-3"></a><span class='comment'>--</span>
-<a name="line-4"></a><span class='comment'>-- This module is based on the module RE.</span>
-<a name="line-5"></a><span class='comment'>--</span>
-<a name="line-6"></a><span class='comment'>-- Author .\\artin Schmidt</span>
-<a name="line-7"></a>
-<a name="line-8"></a><span class='keyword'>module</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>XmlRE</span>
-<a name="line-9"></a>    <span class='layout'>(</span> <span class='conid'>RE</span>
-<a name="line-10"></a>
-<a name="line-11"></a>    <span class='layout'>,</span> <span class='varid'>checkRE</span>
-<a name="line-12"></a>    <span class='layout'>,</span> <span class='varid'>matches</span>
-<a name="line-13"></a>    <span class='layout'>,</span> <span class='varid'>printRE</span>
-<a name="line-14"></a>
-<a name="line-15"></a>    <span class='layout'>,</span> <span class='varid'>re_unit</span>
-<a name="line-16"></a>    <span class='layout'>,</span> <span class='varid'>re_zero</span>
-<a name="line-17"></a>    <span class='layout'>,</span> <span class='varid'>re_sym</span>
-<a name="line-18"></a>    <span class='layout'>,</span> <span class='varid'>re_rep</span>
-<a name="line-19"></a>    <span class='layout'>,</span> <span class='varid'>re_plus</span>
-<a name="line-20"></a>    <span class='layout'>,</span> <span class='varid'>re_opt</span>
-<a name="line-21"></a>    <span class='layout'>,</span> <span class='varid'>re_seq</span>
-<a name="line-22"></a>    <span class='layout'>,</span> <span class='varid'>re_alt</span>
-<a name="line-23"></a>    <span class='layout'>,</span> <span class='varid'>re_dot</span>
-<a name="line-24"></a>    <span class='layout'>)</span>
-<a name="line-25"></a><span class='keyword'>where</span>
-<a name="line-26"></a>
-<a name="line-27"></a><span class='comment'>-- import Debug.Trace(trace)</span>
-<a name="line-28"></a>
-<a name="line-29"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>Validator</span><span class='varop'>.</span><span class='conid'>RE</span> <span class='varid'>hiding</span> <span class='layout'>(</span><span class='varid'>matches</span><span class='layout'>)</span>
-<a name="line-30"></a>
-<a name="line-31"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>XmlTree</span>
-<a name="line-32"></a>
-<a name="line-33"></a><span class='keyword'>import</span> <span class='conid'>Text</span><span class='varop'>.</span><span class='conid'>XML</span><span class='varop'>.</span><span class='conid'>HXT</span><span class='varop'>.</span><span class='conid'>DOM</span><span class='varop'>.</span><span class='conid'>EditFilters</span>
-<a name="line-34"></a>    <span class='layout'>(</span> <span class='varid'>removeComment</span>
-<a name="line-35"></a>    <span class='layout'>,</span> <span class='varid'>removeWhiteSpace</span>
-<a name="line-36"></a>    <span class='layout'>)</span>
-<a name="line-37"></a>
-<a name="line-38"></a><span class='comment'>-- |</span>
-<a name="line-39"></a><span class='comment'>-- Derives a regular expression with respect to a list of elements.</span>
-<a name="line-40"></a><span class='comment'>--</span>
-<a name="line-41"></a><span class='comment'>--    * 1.parameter re :  regular expression</span>
-<a name="line-42"></a><span class='comment'>--</span>
-<a name="line-43"></a><span class='comment'>--    - 2.parameter list :  list of elements to which the regular expression is applied</span>
-<a name="line-44"></a><span class='comment'>--</span>
-<a name="line-45"></a><span class='comment'>--    - returns : the derived regular expression</span>
-<a name="line-46"></a>
-<a name="line-47"></a><a name="matches"></a><span class='definition'>matches</span> <span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTrees</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='conid'>String</span>
-<a name="line-48"></a><span class='definition'>matches</span> <span class='varid'>re</span> <span class='varid'>list</span>
-<a name="line-49"></a>    <span class='keyglyph'>=</span> <span class='varid'>foldl</span> <span class='varid'>delta</span> <span class='varid'>re</span> <span class='layout'>(</span><span class='varid'>removeUnimportantStuff</span> <span class='varop'>$$</span> <span class='varid'>list</span><span class='layout'>)</span>
-<a name="line-50"></a>      <span class='keyword'>where</span>
-<a name="line-51"></a>      <span class='varid'>removeUnimportantStuff</span> <span class='keyglyph'>::</span> <span class='conid'>XmlFilter</span>
-<a name="line-52"></a>      <span class='varid'>removeUnimportantStuff</span> <span class='keyglyph'>=</span> <span class='varid'>processBottomUp</span> <span class='layout'>(</span><span class='varid'>removeWhiteSpace</span> <span class='varop'>`o`</span> <span class='varid'>removeComment</span><span class='layout'>)</span>
-<a name="line-53"></a>      <span class='comment'>-- trace of growth of REs</span>
-<a name="line-54"></a>      <span class='comment'>-- delta' re el = delta (trace (("RE : " ++) . (++ "\n" ) . show $ re) re) el</span>
-<a name="line-55"></a>
-<a name="line-56"></a>
-<a name="line-57"></a><span class='comment'>-- |</span>
-<a name="line-58"></a><span class='comment'>-- Derives a regular expression with respect to one element.</span>
-<a name="line-59"></a><span class='comment'>--</span>
-<a name="line-60"></a><span class='comment'>-- L(delta e x) = x \ L(e)</span>
-<a name="line-61"></a><span class='comment'>--</span>
-<a name="line-62"></a><span class='comment'>--    * 1.parameter re :  regular expression to be derived</span>
-<a name="line-63"></a><span class='comment'>--</span>
-<a name="line-64"></a><span class='comment'>--    - 2.parameter el :  the element on which the regular expression is applied</span>
-<a name="line-65"></a><span class='comment'>--</span>
-<a name="line-66"></a><span class='comment'>--    - returns : the derived regular expression</span>
-<a name="line-67"></a>
-<a name="line-68"></a><a name="delta"></a><span class='definition'>delta</span> <span class='keyglyph'>::</span> <span class='conid'>RE</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>RE</span> <span class='conid'>String</span>
-<a name="line-69"></a><span class='definition'>delta</span> <span class='varid'>re</span> <span class='varid'>el</span>
-<a name="line-70"></a>    <span class='keyglyph'>|</span> <span class='varid'>not</span> <span class='layout'>(</span><span class='varid'>allowed</span> <span class='varid'>el</span><span class='layout'>)</span> <span class='keyglyph'>=</span> <span class='varid'>re</span>
-<a name="line-71"></a>    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>        <span class='keyglyph'>=</span> <span class='keyword'>case</span> <span class='varid'>re</span> <span class='keyword'>of</span>
-<a name="line-72"></a>        <span class='conid'>RE_ZERO</span> <span class='varid'>m</span>		 <span class='keyglyph'>-&gt;</span> <span class='varid'>re_zero</span> <span class='varid'>m</span>
-<a name="line-73"></a>        <span class='conid'>RE_UNIT</span>			 <span class='keyglyph'>-&gt;</span> <span class='varid'>re_zero</span> <span class='layout'>(</span><span class='varid'>elemName</span> <span class='varid'>el</span> <span class='varop'>++</span><span class='str'>" unexpected."</span><span class='layout'>)</span>
-<a name="line-74"></a>        <span class='conid'>RE_SYM</span> <span class='varid'>sym</span>
-<a name="line-75"></a>    	    <span class='keyglyph'>|</span> <span class='varid'>sym</span> <span class='varop'>==</span> <span class='varid'>k_pcdata</span>	 <span class='keyglyph'>-&gt;</span> <span class='keyword'>let</span> <span class='varid'>node</span> <span class='keyglyph'>=</span> <span class='varid'>getNode</span> <span class='varid'>el</span> <span class='keyword'>in</span>
-<a name="line-76"></a>	                            <span class='keyword'>if</span> <span class='layout'>(</span><span class='layout'>(</span><span class='varid'>isXTextNode</span> <span class='varid'>node</span><span class='layout'>)</span> <span class='varop'>||</span> <span class='layout'>(</span><span class='varid'>isXCdataNode</span> <span class='varid'>node</span><span class='layout'>)</span><span class='layout'>)</span>
-<a name="line-77"></a>				    <span class='keyword'>then</span> <span class='varid'>re_unit</span>
-<a name="line-78"></a>				    <span class='keyword'>else</span> <span class='varid'>re_zero</span> <span class='layout'>(</span><span class='str'>"Character data expected, but "</span><span class='varop'>++</span> <span class='varid'>elemName</span> <span class='varid'>el</span> <span class='varop'>++</span><span class='str'>" found."</span><span class='layout'>)</span>
-<a name="line-79"></a>       	    <span class='keyglyph'>|</span> <span class='varid'>expectedNode</span> <span class='varid'>el</span> <span class='varid'>sym</span> <span class='keyglyph'>-&gt;</span> <span class='varid'>re_unit</span>
-<a name="line-80"></a>	    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>           <span class='keyglyph'>-&gt;</span> <span class='varid'>re_zero</span> <span class='layout'>(</span><span class='str'>"Element "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='varid'>sym</span> <span class='varop'>++</span><span class='str'>" expected, but "</span><span class='varop'>++</span> <span class='varid'>elemName</span> <span class='varid'>el</span> <span class='varop'>++</span><span class='str'>" found."</span><span class='layout'>)</span>
-<a name="line-81"></a>        <span class='conid'>RE_REP</span> <span class='varid'>e</span>                  <span class='keyglyph'>-&gt;</span> <span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>el</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>re_rep</span> <span class='varid'>e</span><span class='layout'>)</span>
-<a name="line-82"></a>        <span class='conid'>RE_PLUS</span> <span class='varid'>e</span>                 <span class='keyglyph'>-&gt;</span> <span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>el</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>re_rep</span> <span class='varid'>e</span><span class='layout'>)</span>
-<a name="line-83"></a>        <span class='conid'>RE_OPT</span> <span class='varid'>e</span>                  <span class='keyglyph'>-&gt;</span> <span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>el</span>
-<a name="line-84"></a>        <span class='conid'>RE_SEQ</span> <span class='varid'>e</span> <span class='varid'>f</span>
-<a name="line-85"></a>       	    <span class='keyglyph'>|</span> <span class='varid'>nullable</span> <span class='varid'>e</span>          <span class='keyglyph'>-&gt;</span> <span class='varid'>re_alt</span> <span class='layout'>(</span><span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>el</span><span class='layout'>)</span> <span class='varid'>f</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>f</span> <span class='varid'>el</span><span class='layout'>)</span>
-<a name="line-86"></a>       	    <span class='keyglyph'>|</span> <span class='varid'>otherwise</span>           <span class='keyglyph'>-&gt;</span> <span class='varid'>re_seq</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>el</span><span class='layout'>)</span> <span class='varid'>f</span>
-<a name="line-87"></a>        <span class='conid'>RE_ALT</span> <span class='varid'>e</span> <span class='varid'>f</span>                <span class='keyglyph'>-&gt;</span> <span class='varid'>re_alt</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>e</span> <span class='varid'>el</span><span class='layout'>)</span> <span class='layout'>(</span><span class='varid'>delta</span> <span class='varid'>f</span> <span class='varid'>el</span><span class='layout'>)</span>
-<a name="line-88"></a>        <span class='conid'>RE_DOT</span>                    <span class='keyglyph'>-&gt;</span> <span class='varid'>re_unit</span>
-<a name="line-89"></a>
-<a name="line-90"></a>    <span class='keyword'>where</span>
-<a name="line-91"></a>    <span class='varid'>expectedNode</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-92"></a>    <span class='varid'>expectedNode</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='varid'>sym</span> <span class='keyglyph'>=</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>n</span><span class='layout'>)</span> <span class='varop'>==</span> <span class='varid'>sym</span>
-<a name="line-93"></a>    <span class='varid'>expectedNode</span> <span class='keyword'>_</span> <span class='keyword'>_</span>			  <span class='keyglyph'>=</span> <span class='conid'>False</span>
-<a name="line-94"></a>
-<a name="line-95"></a>    <span class='varid'>elemName</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>String</span>
-<a name="line-96"></a>    <span class='varid'>elemName</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='varid'>n</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='str'>"element "</span><span class='varop'>++</span> <span class='varid'>show</span> <span class='layout'>(</span><span class='varid'>qualifiedName</span> <span class='varid'>n</span><span class='layout'>)</span>
-<a name="line-97"></a>    <span class='varid'>elemName</span> <span class='keyword'>_</span>				<span class='keyglyph'>=</span> <span class='str'>"character data"</span>
-<a name="line-98"></a>
-<a name="line-99"></a>    <span class='varid'>allowed</span> <span class='keyglyph'>::</span> <span class='conid'>XmlTree</span> <span class='keyglyph'>-&gt;</span> <span class='conid'>Bool</span>
-<a name="line-100"></a>    <span class='varid'>allowed</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XTag</span> <span class='keyword'>_</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-101"></a>    <span class='varid'>allowed</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XText</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>		<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-102"></a>    <span class='varid'>allowed</span> <span class='layout'>(</span><span class='conid'>NTree</span> <span class='layout'>(</span><span class='conid'>XCdata</span> <span class='keyword'>_</span><span class='layout'>)</span> <span class='keyword'>_</span><span class='layout'>)</span>	<span class='keyglyph'>=</span> <span class='conid'>True</span>
-<a name="line-103"></a>    <span class='varid'>allowed</span> <span class='keyword'>_</span>				<span class='keyglyph'>=</span> <span class='conid'>False</span>
-</pre></body>
-</html>
diff --git a/doc/hxt-filter/src/hscolour.css b/doc/hxt-filter/src/hscolour.css
deleted file mode 100644
--- a/doc/hxt-filter/src/hscolour.css
+++ /dev/null
@@ -1,5 +0,0 @@
-.keyglyph, .layout {color: red;}
-.keyword {color: blue;}
-.comment, .comment a {color: green;}
-.str, .chr {color: teal;}
-.keyword,.conid, .varid, .conop, .varop, .num, .cpp, .sel, .definition {}
diff --git a/examples/Makefile b/examples/Makefile
deleted file mode 100644
--- a/examples/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Example Applications
-#
-
-include ../Version.mk
-
-HXT_HOME	= ..
-
-EXAMPLES	= mini hparser hfilter hunit hsvg dtd2haskell
-MORE_SAMPLES	= blutgraetsche photoalbum
-DIST		= ../$(DIST_NAME)
-DIST_DIR	= $(DIST)/examples
-
-all		:
-		if [ -f $(HXT_HOME)/lib/$(SOFTWARE)/package.conf ] ; \
-		then $(MAKE) alllocal ; \
-		else $(MAKE) alldist ; \
-		fi 
-
-alllocal		:
-		$(foreach i,$(EXAMPLES),$(MAKE) -C $i PKGFLAGS="-ignore-package $(SOFTWARE)-$(LASTVERSION) -package-conf `pwd`/$(HXT_HOME)/lib/$(SOFTWARE)/package.conf -package $(SOFTWARE)" all ;)
-
-alldist		:
-		$(foreach i,$(EXAMPLES),$(MAKE) -C $i all ;)
-
-test		:
-		$(foreach i,$(EXAMPLES),$(MAKE) -C $i $@ ;)
-
-dist		:
-		[ -d $(DIST_DIR) ] || mkdir -p $(DIST_DIR)
-		$(foreach i,$(EXAMPLES),$(MAKE) -C $i dist DIST=../$(DIST_DIR);)
-		[ -d $(DIST_DIR)/xhtml ] || mkdir -p $(DIST_DIR)/xhtml
-		cp xhtml/xhtml*.dtd xhtml/xhtml*.ent xhtml/xhtml*.xml $(DIST_DIR)/xhtml
-		cp Makefile $(DIST_DIR)
-
-clean		:
-		$(foreach i,$(EXAMPLES),$(MAKE) -C $i $@ ;)
-
-
-.PHONY		: all clean test dist
-
diff --git a/examples/dtd2haskell/DTDtoHXT.hs b/examples/dtd2haskell/DTDtoHXT.hs
deleted file mode 100644
--- a/examples/dtd2haskell/DTDtoHXT.hs
+++ /dev/null
@@ -1,434 +0,0 @@
--- |
--- DTDtoHXml - A program for generating access functions for the Haskell XML Toolbox
--- from a DTD
---
--- Author : Uwe Schmidt
---
--- Version : $Id: DTDtoHXT.hs,v 1.2 2005/04/14 12:52:51 hxml Exp $
---
--- this program may be used as example main program for the
--- Haskell XML Toolbox
-
-module Main
-where
-
-import Text.XML.HXT.Parser		-- import all stuff for parsing, validating, and transforming XML
-
-import System.IO			-- import the IO and commandline option stuff
-import System.Environment
-import System.Console.GetOpt
-import System.Exit
-
-import Data.Maybe
-import Data.Char
-import Data.List
-
--- ------------------------------------------------------------
-
--- |
--- the main program
-
-main :: IO ()
-main
-    = do
-      argv <- getArgs					-- get the commandline arguments
-      al   <- cmdlineOpts argv				-- and evaluate them, return a key-value list
-      res  <- run'					-- build a XML root from the list and start parsing
-	      $ getDocumentAndGenerateHaskellCode al emptyRoot
-      exitProg (null res)				-- set return code and terminate
-
--- ------------------------------------------------------------
-
-exitProg	:: Bool -> IO a
-exitProg True	= exitWith (ExitFailure (-1))
-exitProg False	= exitWith ExitSuccess
-
--- ------------------------------------------------------------
-
-uppercaseInitials, namespaceAware, prefixUnderline	:: String
-
-uppercaseInitials	= "uppercase-initials"
-namespaceAware		= "namespace-aware"
-prefixUnderline		= "prefix-underline"
-
--- ------------------------------------------------------------
-
-generateHXmlToolboxAccessFuntions	:: XmlFilter
-generateHXmlToolboxAccessFuntions t
-    = processChildren (isXDTD `guards` genHaskell) t
-    where
-    genHaskell dt
-	= cat
-	  [ code [ sepl
-		 , "--"
-		 , "-- don't edit this module"
-		 , "-- generated with " ++ progName
-		 , "-- simple access function for Haskell XML Toolbox"
-		 , "-- generated from DTD of document: " ++ show source
-		 , ""
-		 , "module " ++ hsmodul
-		 , "where"
-		 , ""
-		 , "import Text.XML.HXT.DOM.XmlTree (XmlFilter)"
-		 , "import qualified Text.XML.HXT.DOM.XmlTree as X hiding (XmlFilter)"
-		 ]
-
-          , comm "namespace declarations"
-	  , code (map nsType nsPrefixes)
-          , comm ""
-	  , code (zipWith nsDef nsPrefixes nsUris)
-
-	  , comm "element names (tag names)"
-	  , code (map (constNameType maxElemLen "tag") elements)
-          , comm ""
-	  , code (map (constNameDef  maxElemLen "tag") elements)
-
-	  , comm "isTag test filter"
-	  , code (map isTagType elements)
-          , comm ""
-	  , code (map isTagDef  elements)
-
-          , comm "make tag nodes constructor filter"
-	  , code (map mkTagType elements)
-          , comm ""
-	  , code (map mkTagDef  elements)
-
-	  , comm "attribute names"
-	  , code (map (constNameType maxAttrLen "attr") attributes)
-	  , comm ""
-	  , code (map (constNameDef  maxAttrLen "attr") attributes)
-
-	  , comm "get attribute value access filter"
-	  , code (map getValueType attributes)
-          , comm ""
-	  , code (map getValueDef  attributes)
-
-	  , comm "has attribute test filter"
-	  , code (map hasAttrType attributes)
-          , comm ""
-	  , code (map hasAttrDef  attributes)
-
-          , comm "make attribute nodes constructor filter for computed attribute values"
-	  , code (map mkAttrType attributes)
-          , comm ""
-	  , code (map mkAttrDef attributes)
-          , comm "make attribute nodes constructor filter for string attribute values"
-	  , code (map mkSAttrType attributes)
-          , comm ""
-	  , code (map mkSAttrDef attributes)
-
-	  , comm ("end of module " ++ hsmodul)
-
-	  ]
-          $ dt
-	where
-	code	= txt . concatMap (++ "\n")
-
-	comm cm	= code [ "", sepl, "--", "-- " ++ cm, ""]		-- generate a headline comment
-
-	sepl	= "-- ----------------------------------------"
-
-	nn	= trInitial . concatMap nc				-- normalize names
-
-	nc c
-	    | c `elem` ['a'..'z'] ++ ['A'..'Z'] ++ ['0'..'9'] ++ "_"	= [c]
-	    | c == ':' || c == '-'					= "_" 
-	    | otherwise							= ("_" ++) . show . fromEnum $ c
-
-	trInitial str
-	    | null str	= str
-	    | underLn	= '_' : str
-	    | upperCs	= toUpper (head str) : tail str
-	    | otherwise	= str
-
-	modname = reverse
-		  . (\ n -> if '.' `elem` n				-- remove extension
-		            then drop 1 . dropWhile (/= '.') $ n
-		            else n
-		    )
-		  . takeWhile (/= '/')					-- remove dir path
-		  . reverse
-
-        maxLen		= maximum . (0 :) . map length
-
-	padd n x	= take n (x ++ repeat ' ')
-
-        tagPrefix	= "tag"
-	attrPrefix	= "attr"
-	nsPrefix	= "ns"
-
-	tagName n	= tagPrefix  ++ nn n
-	attName a	= attrPrefix ++ nn a
-	nspName n	= nsPrefix   ++ nn n
-
-        constNameType ln prefix n
-	    = prefix ++ padd ln (nn n) ++ " :: String"
-
-	constNameDef ln prefix n
-	    = prefix ++ padd ln (nn n) ++ " =  " ++ show n
-
-        isTagType n
-	    = "is" ++ padd maxElemLen (nn n) ++ " :: XmlFilter"
-
-        isTagDef n
-	    = "is" ++ padd maxElemLen (nn n) ++ " =  " ++
-	      ( either
-		(const ("X.isTag " ++ tagPrefix ++ nn n))
-		(\ (ns, pr, lp)
-		 -> "X.isNsTag " ++ ( if null pr
-				    then tagName n
-				    else show lp
-				  ) ++ " " ++ nspName ns
-		)
-		. quName
-		$ n
-	      )
-
-        mkTagType n
-	    = "t" ++ padd maxElemLen (nn n) ++ " :: XmlFilter"
-
-        mkTagDef n
-	    = "t" ++ padd maxElemLen (nn n) ++ " = " ++
-	      ( either
-		(const ("X.etag " ++ tagName n))
-		(\ (ns, _pr, _lp)
-		 -> "X.mkXNsTag " ++ tagName n ++ " " ++ nspName ns ++ " X.none X.none"
-		)
-		. quName
-		$ n
-	      )
-
-        hasAttrType n
-	    = "has" ++ padd maxAttrLen (nn n) ++ " :: XmlFilter"
-
-        hasAttrDef n
-	    = "has" ++ padd maxAttrLen (nn n) ++ " = " ++
-	      ( either
-		(const ("X.hasAttr " ++ attName n))
-		(\ (ns, _pr, lp)
-		 -> "X.hasNsAttr " ++ show lp ++ " " ++ nspName ns
-		)
-		. quNameAttr
-	        $ n
-	      )
-
-        mkAttrType n
-	    = "af" ++ padd maxAttrLen (nn n) ++ " :: XmlFilter -> XmlFilter"
-
-        mkAttrDef n
-	    = "af" ++ padd maxAttrLen (nn n) ++ " = " ++
-	      ( either
-		(const ("X.mkXAttr " ++ attName n))
-		(\ (ns, _pr, _lp)
-		 -> "X.mkXNsAttr " ++ attName n ++ " " ++ nspName ns
-		)
-		. quNameAttr
-	        $ n
-	      )
-
-        mkSAttrType n
-	    = "a" ++ padd maxAttrLen (nn n) ++ " :: String -> XmlFilter"
-
-        mkSAttrDef n
-	    = "a" ++ padd maxAttrLen (nn n) ++ " = \\ v -> " ++
-	      ( either
-		(const ( "X.mkXAttr " ++ attName n ++ " (X.txt v)" ))
-		(\ (ns, _pr, _lp)
-		 -> "X.mkXNsAttr " ++ attName n ++ " " ++ nspName ns ++ " (X.txt v)"
-		)
-		. quNameAttr
-	        $ n
-	      )
-
-        getValueType n
-	    = "get" ++ padd maxAttrLen (nn n) ++ " :: XmlFilter"
-
-        getValueDef n
-	    = "get" ++ padd maxAttrLen (nn n) ++ " =  " ++
-	      ( either
-		(const ("X.getValue " ++ attName n))
-		(\ (ns, _pr, lp)
-		 -> "X.getNsValue " ++ show lp ++ " " ++ nspName ns
-		)
-		. quNameAttr
-		$ n
-	      )
-
-        nsType n
-	    = nsPrefix ++ padd maxNsLen (nn n) ++ " :: String"
-
-        nsDef n v
-	    = nsPrefix ++ padd maxNsLen (nn n) ++ " =  " ++ show v
-
-        source  = xshow . getValue a_source                     $ t        
-	modul	= modname . xshow . getValue a_output_file	$ t
-	root	= xshow . (isDoctype .> getDTDValue a_name)	$ dt
-	hsmodul
-	    | null modul	= "DTD" ++ nn root
-	    | otherwise		= modul
-
-	upperCs	= satisfies (hasAttr uppercaseInitials)	$ t
-	underLn	= satisfies (hasAttr prefixUnderline)	$ t
-	nsAware = satisfies (hasAttr namespaceAware)		$ t
-
-	elements							-- select all element names from dtd 
-	    = nub
-	      . sort
-	      . map ( xshow . this)
-	      . (deep isElement .> getDTDValue a_name)
-	      $ dt
-
-        maxElemLen = maxLen . map nn $ elements
-
-        attributes
-	    = nub
-	      . sort
-	      . map ( xshow . this)
-	      . (deep isAttlist .> getDTDValue a_value)
-	      $ dt
-
-        maxAttrLen = maxLen . map nn $ attributes
-
-        nsName [] = root
-	nsName n  = n
-
-        namespaces
-	    = map (\ (n,v) -> (drop 6 n, v))
-	      . map (\ t' -> (xshow . getDTDValue a_value $ t', xshow . getDTDValue a_default $ t'))
-	      . isNSAttr
-	      $ dt
-	
-        nsPrefixes = map (nsName . fst) namespaces
-        nsUris     = map snd namespaces
-
-        maxNsLen = maxLen . map nn $ nsPrefixes
-
-        quName	:: String -> Either String (String, String, String)
-	quName	n
-	    | not nsAware		 = Left n
-	    | null lp && isNothing defns = Left n
-	    | null lp                    = Right (nsName "", "", pr)
-	    |            isNothing expns = Left n
-	    |            otherwise	 = Right (nsName pr, pr, tail lp)
-	      where
-	      (pr, lp) = span (/= ':') n
-	      defns    = lookup "" namespaces
-	      expns    = lookup pr namespaces
-
-        quNameAttr	:: String -> Either String (String, String, String)
-	quNameAttr an
-	    | ':' `elem` an	= quName an
-	    | otherwise		= Left an
-
-        isNSAttr	:: XmlFilter
-	isNSAttr
-	    = deep isAttlist
-	      .>
-	      ( ( getDTDValue a_value
-		  .>
-		  isOfText (\ s' -> s' == "xmlns" || "xmlns:" `isPrefixOf` s')
-		)
-		`guards`
-		( isFixedAttrKind `guards` this)
-	      )
-              
--- ------------------------------------------------------------
-
--- |
--- the /real/ main program
---
--- get wellformed document, validates document, propagates and check namespaces
--- and controls output
-
-getDocumentAndGenerateHaskellCode	:: Attributes -> XmlStateFilter state
-getDocumentAndGenerateHaskellCode al
-    = parseDocument ( al
-		      ++
-		      [ (a_parse_html, v_0)
-		      , (a_canonicalize, v_0)
-		      , (a_remove_whitespace, v_0)
-		      ]
-		    )
-      .>>
-      traceMsg 1 "start processing"
-      .>>
-      liftMf generateHXmlToolboxAccessFuntions
-      .>>
-      traceMsg 1 "processing finished"
-      .>>
-      traceSource
-      .>>
-      traceTree
-      .>>
-      writeDocument [ (a_output_xml, v_0)
-		    ]
-      .>>
-      checkStatus
-
--- ------------------------------------------------------------
---
--- the boring option definition and evaluation part
---
--- see doc for System.Console.GetOpt
-
-progName	:: String
-progName	= "DTDtoHXml"
-    
-options 	:: [OptDescr (String, String)]
-options
-    = selectOptions [ a_help
-		    ] generalOptions
-      ++
-      selectOptions [ a_trace
-		    , a_proxy
-		    , a_use_curl
-		    , a_options_curl
-		    , a_encoding
-		    , a_validate
-		    , a_check_namespaces
-		    ] inputOptions
-      ++
-      selectOptions [ a_output_file
-		    ] outputOptions
-      ++
-      [ Option "u"	[prefixUnderline]	(NoArg	(prefixUnderline,   v_1))	"separate tag and attribute names with a '_'"
-      , Option "U"	[uppercaseInitials]	(NoArg	(uppercaseInitials, v_1))	"transform the first char of tag and attribute names to uppercase"
-      , Option "N"	[namespaceAware]	(NoArg	(namespaceAware,    v_1))	"filter are namespace aware, if namespace attributes occur in the DTD"
-      ]
-      ++
-      showOptions
-
-usage		:: [String] -> IO a
-usage errl
-    | null errl
-	= do
-	  hPutStrLn stdout use
-	  exitProg False
-    | otherwise
-	= do
-	  hPutStrLn stderr (concat errl ++ "\n" ++ use)
-	  exitProg True
-    where
-    header = "DTDtoHXml - Generation of access function for the Haskell XML Toolbox from a DTD\n" ++
-             "Usage: " ++ progName ++ " [OPTION...] [URI or FILE]"
-    use    = usageInfo header options
-
-cmdlineOpts 	:: [String] -> IO (Attributes)
-cmdlineOpts argv
-    = case (getOpt Permute options argv) of
-      (ol,n,[]  )
-	  -> do
-	     sa <- src n
-	     help (lookup a_help ol)
-	     return (ol ++ sa)
-      (_,_,errs)
-	  -> usage errs
-    where
-    src []	= return [(a_source, "")]
-    src [uri]	= return [(a_source, uri)]
-    src _	= usage  ["only one input url or file allowed\n"]
-
-    help Nothing	= return ()
-    help (Just _)	= usage []
-
--- ------------------------------------------------------------
diff --git a/examples/dtd2haskell/Makefile b/examples/dtd2haskell/Makefile
deleted file mode 100644
--- a/examples/dtd2haskell/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-# $Id: Makefile,v 1.5 2005/04/14 12:52:51 hxml Exp $
-
-HXT_HOME	= ../..
-PKGFLAGS	= 
-GHCFLAGS	= -Wall -O2
-GHC		= ghc $(GHCFLAGS) $(PKGFLAGS)
-
-prog		= ./DTDtoHXT
-
-all		: $(prog)
-
-$(prog)		: $(prog).hs
-		$(GHC) --make -o $@ $<
-
-force		:
-		$(GHC) --make -o $(prog) $(prog).hs
-
-test		:
-		@echo "===> run a few generation examples"
-		$(MAKE) XHTML.o XHTML2.o XHTML3.o
-		@echo "===> the generated modules"
-		ls -l XHTML*.hs XHTML*.o
-
-EX1		= ../xhtml/xhtml.xml
-EX2		= ../photoalbum/photos.xml
-
-XHTML.o		: $(prog) $(EX1)
-		@echo "===> generate a module for XHTML access function from the XHTML DTD with naming convention is<Tag>, get<Attr>, ..."
-		$(prog) --output-file XHTML.hs --uppercase-initials $(EX1)
-		$(GHC) -c XHTML.hs
-
-XHTML2.o	: $(prog) $(EX1)
-		@echo "===> generate a module for XHTML access function from the XHTML DTD with naming convention is_<tag>, get_<attr>, ..."
-		$(prog) --output-file XHTML2.hs --prefix-underline $(EX1)
-		$(GHC) -c XHTML2.hs
-
-XHTML3.o	: $(prog) $(EX1)
-		@echo "===> same as test2, but with namespace aware access functions, if xmlns is used in DTD"
-		$(prog) --output-file XHTML3.hs --prefix-underline --namespace-aware $(EX1)
-		$(GHC) -c XHTML3.hs
-
-Photo.hs	: $(prog) $(EX2)
-		$(prog) --output-file $@ --uppercase-initials $(EX2)
-
-
-DIST		= $(HXT_HOME)/dist/examples
-DIST_DIR	= $(DIST)/dtd2haskell
-DIST_FILES	= $(prog).hs Makefile
-
-dist		:
-		[ -d $(DIST_DIR) ] || mkdir -p $(DIST_DIR)
-		cp $(DIST_FILES) $(DIST_DIR)
-
-clean		:
-		rm -f $(prog) XHTML*.hs *.o *.hi
-
diff --git a/examples/hfilter/FilterExample.hs b/examples/hfilter/FilterExample.hs
deleted file mode 100644
--- a/examples/hfilter/FilterExample.hs
+++ /dev/null
@@ -1,172 +0,0 @@
--- |
--- HXPath - XPath Evaluator of the Haskell XML Toolbox
---
--- Author : Torben Kuseler, Uwe Schmidt
---
--- Version : $Id: FilterExample.hs,v 1.9 2004/09/02 19:11:50 hxml Exp $
-
-module Main(main)
-where
-
-import Text.XML.HXT.Parser		-- import all stuff for parsing, validating, and transforming XML
-
-import System.IO			-- import the IO and commandline option stuff
-import System.Environment
-import System.Console.GetOpt
-import System.Exit
-
-import Network.URI
-
-import Data.Maybe
-
-
--- ------------------------------------------------------------
-
--- |
--- the main program of the Filter example 
-
-main :: IO ()
-main
-    = do
-      argv <- getArgs
-      al   <- cmdlineOpts argv
-      res  <- run' $ filterEx al emptyRoot
-      exitProg (null res)				-- set return code and terminate
-
--- ------------------------------------------------------------
-
-exitProg	:: Bool -> IO a
-exitProg True	= exitWith (ExitFailure (-1))
-exitProg False	= exitWith ExitSuccess
-
--- ------------------------------------------------------------
-
--- |
--- the /real/ main program
---
--- runs in the trivial XmlState monad (with user state set to ())
--- so IO and access to global options is possible
-
-filterEx	:: Attributes -> XmlStateFilter state
-filterEx al
-    = parseDocument al
-      .>>
-      liftMf filterDocument
-      .>>
-      writeDocument []
-      .>>
-      checkStatus
-
--- ------------------------------------------------------------
---
--- some simple selection and editing filter
-
-filterDocument	:: XmlFilter		-- the main processing filter
-filterDocument t
-    = processChildren (filterexamples xf) t
-      where
-      xf = xshow . getValue "filter" $ t
-
-filterexamples	:: String -> XmlFilter
-filterexamples "all-text"				= deep isXText
-filterexamples "all-body-text-without-whitespace"	= getAllBodyText
-filterexamples "all-a-tags-with-href-attr"		= getAllTagsWithAttr "a" "href"
-filterexamples "all-href-values-of-a-tags"		= getAllAttrValues   "a" "href"
-filterexamples "change-img-src-to-abs-uri"		= changeToAbsolutURIs "http://localhost/images/" "img" "src"
-filterexamples f					= cmt ("error: " ++ f ++ " not defined") +++ this
-
-getAllBodyText		:: XmlFilter
-getAllBodyText
-    = isTag "html" .> getChildren .> isTag "body" .> getChildren .> deep (isOfText noWhiteSpace)
-      where
-      noWhiteSpace = not . all (`elem` " \t\n")
-
-getAllTagsWithAttr	:: String -> String -> XmlFilter
-getAllTagsWithAttr tn an
-    = multi (isTag tn .> hasAttr an)
-
-getAllAttrValues	:: String -> String -> XmlFilter
-getAllAttrValues tn an
-    = multi (isTag tn .> getValue an)
-
-changeToAbsolutURIs	:: String -> String -> String -> XmlFilter
-changeToAbsolutURIs base tn an
-    = processTopDown (changeURI `when` isTag tn)
-      where
-      changeURI    = modifyAttr an (toAbsURI base)
-
-toAbsURI	:: String -> String -> String
-toAbsURI base uri
-    = fromMaybe "" $ expand
-    where
-    expand = do
-	     base' <- parseURI base
-	     uri'  <- parseURI uri
-	     abs'  <- relativeTo uri' base'
-	     return $ show abs'
-
--- ------------------------------------------------------------
---
--- the options definition part
--- see doc for System.Console.GetOpt
-
-progName	:: String
-progName	= "HXmlFilter"
-    
-options 	:: [OptDescr (String, String)]
-options
-    = generalOptions
-      ++
-      inputOptions
-      ++
-      outputOptions
-      ++
-      [ Option "f"	["filter"]		(ReqArg flt "FILTER")			( "filter to be applied, one of: " ++ nl ++
-											  "\"all-text\"," ++ nl ++
-											  "\"all-body-text-without-whitespace\"," ++ nl ++
-											  "\"all-a-tags-with-href-attr\"," ++ nl ++
-											  "\"all-href-values-of-a-tags\"," ++ nl ++
-											  "\"change-img-src-to-abs-uri\"" )
-      ]
-      ++
-      showOptions
-    where
-    nl = "\n\t\t\t\t\t  "
-    att n v	= (n, v)
-    flt = att "filter"
-
-
-usage		:: [String] -> IO a
-usage errl
-    | null errl
-	= do
-	  hPutStrLn stdout use
-	  exitProg False
-    | otherwise
-	= do
-	  hPutStrLn stderr (concat errl ++ "\n" ++ use)
-	  exitProg True
-    where
-    header = "FilterExamples - Examples for applying XML filter from the Haskell XML Toolbox\n" ++
-             "Usage: " ++ progName ++ " [OPTION...] [URI or FILE]"
-    use    = usageInfo header options
-
-cmdlineOpts 	:: [String] -> IO (Attributes)
-cmdlineOpts argv
-    = case (getOpt Permute options argv) of
-      (ol,n,[]  )
-	  -> do
-	     sa <- src n
-	     help (lookup a_help ol)
-	     return (ol ++ sa)
-      (_,_,errs)
-	  -> usage errs
-    where
-    src []	= return [("source", "")]
-    src [uri]	= return [("source", uri)]
-    src _	= usage ["only one input uri or file allowed\n"]
-
-    help Nothing	= return ()
-    help (Just _)	= usage []
-
--- ------------------------------------------------------------
diff --git a/examples/hfilter/Makefile b/examples/hfilter/Makefile
deleted file mode 100644
--- a/examples/hfilter/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# $Id: Makefile,v 1.7 2005/04/14 12:52:51 hxml Exp $
-
-HXT_HOME	= ../..
-PKGFLAGS	= 
-GHCFLAGS	= -Wall -O2
-GHC		= ghc $(GHCFLAGS) $(PKGFLAGS)
-
-prog		= ./FilterExample
-opts		= --parse-html --do-not-issue-warnings
-runprog		= $(prog) $(opts)
-
-all		: $(prog)
-
-force		:
-		$(GHC) --make -o $(prog) $(prog).hs
-
-$(prog)		: $(prog).hs
-		$(GHC) --make -o $@ $<
-
-EX		= ./lousy.html
-
-test		: $(prog)
-		@echo "===> Filter examples"
-		@echo ; echo "===> the filter parses a document and selects or modifies parts of it"
-		@echo ; echo "===> usage" ; echo
-		./FilterExample --help
-		@echo ; sleep 2
-		@$(MAKE) test1 test2 test3 test4 test5
-
-test1		:
-		@sleep 2 ; echo ; echo "===> extract all a tags with a href attribute" ; echo ; sleep 2
-		$(runprog) --filter=all-a-tags-with-href-attr $(EX)
-		@echo
-
-test2		:
-		@sleep 2 ; echo ; echo "===> extract all href attribute values for a tags" ; echo ; sleep 2
-		$(runprog) --filter=all-href-values-of-a-tags $(EX)
-		@echo
-
-test3		:
-		@sleep 2 ; echo ; echo "===> change all src attribute values of img tags to absolut uris" ; echo ; sleep 2
-		$(runprog) --filter=change-img-src-to-abs-uri $(EX)
-		@echo
-
-test4		:
-		@sleep 2 ; echo ; echo "===> select all text" ; echo ; sleep 2
-		$(runprog) --filter=all-text $(EX)
-		@echo
-
-test5		:
-		@sleep 2 ; echo ; echo "===> select all text within body, but remove whitespace" ; echo ; sleep 2
-		$(runprog) --filter=all-body-text-without-whitespace $(EX)
-		@echo
-
-DIST		= $(HXT_HOME)/dist/examples
-DIST_DIR	= $(DIST)/hfilter
-
-dist		:
-		[ -d $(DIST_DIR) ] || mkdir -p $(DIST_DIR)
-		cp $(EX) Makefile $(prog).hs $(DIST_DIR)
-
-clean		:
-		rm -f $(prog) *.o *.hi
diff --git a/examples/hfilter/lousy.html b/examples/hfilter/lousy.html
deleted file mode 100644
--- a/examples/hfilter/lousy.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-  <head>
-    <title>A HTML Documents with some Errors</title>
-  </head>
-
-  <body>
-    <h1>HTML
-    <h2>html
-	<p>some text and a &xxx;
-	  <p>more text
-	    </p
-    <img alt='&lt; &yyy; &gt;' src="abc.gif">
-    <table border>
-    <tr><td>1<td>2<td>3
-    </table>
-
-
-    <hr>
-    <address><a href="mailto:uwe@muehle.welt.all">Uwe
-		Schmidt</a></address>
-<!-- Created: Tue Apr 29 16:07:57 CEST 2003 -->
-<!-- hhmts start -->
-Last modified: Mon May 12 13:11:29 CEST 2003
-<!-- hhmts end -->
-</html>
diff --git a/examples/hparser/HXmlParser.hs b/examples/hparser/HXmlParser.hs
deleted file mode 100644
--- a/examples/hparser/HXmlParser.hs
+++ /dev/null
@@ -1,136 +0,0 @@
--- |
--- HXmlParser - Validating XML Parser of the Haskell XML Toolbox
--- XML well-formed checker and validator.
---
--- Author : .\\artin Schmidt and Uwe Schmidt
---
--- Version : $Id: HXmlParser.hs,v 1.14 2005/04/14 12:52:51 hxml Exp $
---
--- this program may be used as example main program for the
--- Haskell XML Toolbox
-
-module Main
-where
-
-import Text.XML.HXT.Parser		-- import all stuff for parsing, validating, and transforming XML
-
-import System.IO			-- import the IO and commandline option stuff
-import System.Environment
-import System.Console.GetOpt
-import System.Exit
-
-import Data.Maybe
-
--- ------------------------------------------------------------
-
--- |
--- the main program of the Haskell XML Validating Parser
-
-main :: IO ()
-main
-    = do
-      argv <- getArgs					-- get the commandline arguments
-      al   <- cmdlineOpts argv				-- and evaluate them, return a key-value list
-      res  <- run' $ parser al emptyRoot		-- build a XML root from the list and start parsing
-      exitProg (null res)				-- set return code and terminate
-
--- ------------------------------------------------------------
-
-exitProg	:: Bool -> IO a
-exitProg True	= exitWith (ExitFailure (-1))
-exitProg False	= exitWith ExitSuccess
-
--- ------------------------------------------------------------
-
--- |
--- the /real/ main program
---
--- get wellformed document, validates document, propagates and check namespaces
--- and controls output
-
-parser	:: Attributes -> XmlStateFilter state
-parser al
-    = parseDocument al					-- read document
-      .>>
-      traceMsg 1 "start processing"
-      .>>
-      liftMf processDocument				-- process document: in this case rather simple, just apply a pure filter
-      .>>
-      traceMsg 1 "processing finished"
-      .>>
-      traceSource
-      .>>
-      traceTree
-      .>>
-      ( writeDocument []				-- write result, all options already set with parseDocument
-	`whenNotM`
-	hasAttr "no-output"
-      )
-      .>>
-      checkStatus					-- check status
-
-processDocument	:: XmlFilter
-processDocument
-    = ( processChildren (deep isXText)			-- process document, just select text when option \"show-text\" is set
-	`when`
-	hasAttr "show-text"
-      )
-
--- ------------------------------------------------------------
---
--- the options definition part
--- see doc for System.Console.GetOpt
-
-progName	:: String
-progName	= "HXmlParser"
-    
-options 	:: [OptDescr (String, String)]
-options
-    = generalOptions
-      ++
-      inputOptions
-      ++
-      outputOptions
-      ++
-      [ Option "q"	["no-output"]		(NoArg  ("no-output", "1"))	"no output of resulting document"
-      , Option "x"	["show-text"]		(NoArg	("show-text", "1"))	"output only the raw text, remove all markup"
-      ]
-      ++
-      showOptions
-
-usage		:: [String] -> IO a
-usage errl
-    | null errl
-	= do
-	  hPutStrLn stdout use
-	  exitProg False
-    | otherwise
-	= do
-	  hPutStrLn stderr (concat errl ++ "\n" ++ use)
-	  exitProg True
-    where
-    header = "HXmlParser - Validating XML Parser of the Haskell XML Toolbox\n" ++
-             "XML well-formed checker and validator.\n\n" ++
-             "Usage: " ++ progName ++ " [OPTION...] [URI or FILE]"
-    use    = usageInfo header options
-
-cmdlineOpts 	:: [String] -> IO (Attributes)
-cmdlineOpts argv
-    = case (getOpt Permute options argv) of
-      (ol,n,[])
-	  -> do
-	     sa <- src n
-	     help (lookup a_help ol) sa
-	     return (ol ++ sa)
-      (_,_,errs)
-	  -> usage errs
-    where
-    src []	= return []
-    src [uri]	= return [("source", uri)]
-    src _	= usage ["only one input uri or file allowed\n"]
-
-    help (Just _) _	= usage []
-    help Nothing []	= usage ["no input uri or file given\n"]
-    help Nothing _	= return ()
-
--- ------------------------------------------------------------
diff --git a/examples/hparser/Makefile b/examples/hparser/Makefile
deleted file mode 100644
--- a/examples/hparser/Makefile
+++ /dev/null
@@ -1,111 +0,0 @@
-# $Id: Makefile,v 1.7 2005/04/14 12:52:51 hxml Exp $
-
-HXT_HOME	= ../..
-PKGFLAGS	=
-GHCFLAGS	= -Wall -O2
-GHC		= ghc $(GHCFLAGS) $(PKGFLAGS)
-
-prog		= ./HXmlParser
-
-all	: $(prog)
-
-HXmlParser	: HXmlParser.hs
-		$(GHC) --make -o $@ $<
-
-force		:
-		$(GHC) --make -o $(prog) $(prog).hs
-
-test		:
-		@echo "===> run a few simple test cases with the validating parser"
-		@echo "===> first see all command line options"
-		./HXmlParser --help
-		@echo
-		$(MAKE) test0 test1 test2 test3 test4
-
-EX1		= ./example1.xml
-EXi		= ./invalid.xml
-EX2		= ../xhtml/xhtml.xml
-EX3		= ./namespace0.xml
-EX3a		= ./namespace1.xml
-EX4		= ./lousy.html
-
-EX		= $(EX1) $(EXi) $(EX3) $(EX3a) $(EX4)
-
-test0		: HXmlParser
-		@echo "===> a 1. simple valid document"
-		./HXmlParser $(EX1)
-		@echo
-		@echo "===> the dom tree of the same document (without any redundant whitespace)"
-		./HXmlParser --show-tree --remove-whitespace $(EX1)
-		@echo
-		@echo "===> the next test case contains validation erors, it must fail"
-		./HXmlParser --verbose $(EXi) || true
-		@echo
-		@echo "===> same source, but only wellformed check"
-		./HXmlParser --do-not-validate $(EXi) || true
-		@echo
-		@echo "===> only validation, no output of an XHTML source"
-		./HXmlParser --verbose --no-output $(EX2)
-		@echo
-
-test1		: HXmlParser
-		@echo "===> the source of a very simple valid document" ; echo ; sleep 2
-		cat $(EX1)
-		@sleep 2 ; echo ; echo "===> parser will emit UTF-8" ; echo ; sleep 2
-		./HXmlParser --output-encoding=UTF-8 $(EX1)
-		@echo
-		@sleep 2 ; echo ; echo "===> once again with ISO-8859-1 (latin1) output" ; echo ; sleep 2
-		./HXmlParser --output-encoding=ISO-8859-1 $(EX1)
-		@echo
-		@sleep 2 ; echo ; echo "===> once again with US-ASCII output" ; echo ; sleep 2
-		./HXmlParser --output-encoding=US-ASCII $(EX1)
-		@echo
-		@sleep 2 ; echo ; echo "===> once again with hdom tree output" ; echo ; sleep 2
-		./HXmlParser --show-tree --output-encoding=ISO-8859-1 $(EX1)
-		@echo
-		@sleep 2 ; echo ; echo "===> once again, but without any markup" ; echo ; sleep 2
-		./HXmlParser --show-text --output-encoding=ISO-8859-1 $(EX1)
-		@echo
-
-test2		: HXmlParser
-		@echo "===> the source of a xhtml document" ; echo ; sleep 2
-		cat $(EX2)
-		@echo "that document has" `cat $(EX2) | wc -l` "lines"
-		@sleep 2 ; echo ; echo "===> parser will validate this document and try to indent the output" ; echo ; sleep 2
-		./HXmlParser --indent $(EX2)
-		@sleep 2 ; echo ; echo "===> once again, but remove all markup" ; echo ; sleep 2
-		./HXmlParser --show-text --remove-whitespace $(EX2)
-		@sleep 2 ; echo ; echo "===> once again with hdom tree output" ; echo ; sleep 2
-		./HXmlParser --show-tree --remove-whitespace $(EX2)
-
-test3		: HXmlParser
-		@echo "===> namespace processing examples" ; echo ; sleep 2
-		@echo "===> namespace propagation test" ; echo ; sleep 2
-		./HXmlParser --verbose --check-namespaces  --indent --output-encoding=ISO-8859-1 $(EX3)
-		@echo
-		@echo ; sleep 2 ; echo "===> namespace propagation test: tree output with attached namespaces" ; echo ; sleep 2
-		./HXmlParser --verbose --check-namespaces  --remove-whitespace --show-tree --output-encoding=ISO-8859-1 $(EX3)
-		@echo
-		@echo ; sleep 2 ; echo "===> namespace validation test: this test produces namespace errors" ; echo ; sleep 2
-		./HXmlParser --verbose --do-not-validate --check-namespaces --indent --output-encoding=ISO-8859-1 $(EX3a) || true
-		@echo
-
-
-test4		: HXmlParser
-		@echo "===> HTML parsing examples" ; echo ; sleep 2
-		@echo "===> the source of a lousy html document" ; echo ; sleep 2
-		cat $(EX4)
-		@sleep 2 ; echo ; echo "===> parser accepts this document and tries to build a document tree" ; echo ; sleep 2
-		./HXmlParser --indent --preserve-comment --parse-html $(EX4)
-		@echo
-
-DIST		= $(HXT_HOME)/dist/examples
-DIST_DIR	= $(DIST)/hparser
-
-dist		:
-		[ -d $(DIST_DIR) ] || mkdir -p $(DIST_DIR)
-		cp $(EX) Makefile $(prog).hs $(DIST_DIR)
-
-clean		:
-		rm -f $(prog) *.o *.hi
-
diff --git a/examples/hparser/example1.xml b/examples/hparser/example1.xml
deleted file mode 100644
--- a/examples/hparser/example1.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<!DOCTYPE a [
-<!ATTLIST a  att1  NMTOKENS  #IMPLIED
-             att2  ID        #REQUIRED>
-<!ATTLIST b  btt2  ID        #REQUIRED
-             btt3  IDREF     #REQUIRED>
-<!ELEMENT a  (b, cü?)>
-<!ELEMENT b  EMPTY>
-<!ELEMENT cü (#PCDATA)>
-]>
-
-<?pi a processing instruction?>
-
-<a att1=" test
-          äöüß
-          test "
-   att2="root"
->
-    <b btt2="b1" btt3="root"/>
-    <cü>hello world äöüß test</cü>
-</a>
diff --git a/examples/hparser/invalid.xml b/examples/hparser/invalid.xml
deleted file mode 100644
--- a/examples/hparser/invalid.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
-
-<!DOCTYPE a [
-<!ATTLIST a  att1  CDATA  #IMPLIED>
-<!ELEMENT a  (z, c?)>
-<!ELEMENT b  EMPTY>
-<!ELEMENT c  (#PCDATA)>
-]>
-
-<a att2="test">
-    <y/>
-    <c>hello world</c>
-</a>
diff --git a/examples/hparser/lousy.html b/examples/hparser/lousy.html
deleted file mode 100644
--- a/examples/hparser/lousy.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-  <head>
-    <title>A HTML Documents with some Errors</title>
-  </head>
-
-  <body>
-    <h1>HTML
-    <h2>html
-	<p>some text and a &xxx;
-	  <p>more text
-	    </p
-    <img alt='&lt; &yyy; &gt;' src="abc.gif">
-    <table border>
-    <tr><td>1<td>2<td>3
-    </table>
-
-
-    <hr>
-    <address><a href="mailto:uwe@muehle.welt.all">Uwe
-		Schmidt</a></address>
-<!-- Created: Tue Apr 29 16:07:57 CEST 2003 -->
-<!-- hhmts start -->
-Last modified: Mon May 12 13:11:29 CEST 2003
-<!-- hhmts end -->
-</html>
diff --git a/examples/hparser/namespace0.xml b/examples/hparser/namespace0.xml
deleted file mode 100644
--- a/examples/hparser/namespace0.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
-
-<!DOCTYPE a [
-<!ATTLIST a  x:att1  NMTOKENS  #IMPLIED>
-<!ATTLIST a  x:att2  NMTOKENS  #IMPLIED>
-<!ATTLIST a  y:att3  CDATA  #FIXED "a fixed value">
-<!ATTLIST a  att4  CDATA  "&lt; default &gt;">
-<!ATTLIST a  att5  CDATA #IMPLIED>
-<!ATTLIST a  xmlns   CDATA #IMPLIED>
-<!ATTLIST a  xmlns:x CDATA #IMPLIED>
-<!ATTLIST a  xmlns:y CDATA #IMPLIED>
-<!ELEMENT a  (x:b, cü?)>
-<!ELEMENT x:b  EMPTY>
-<!ELEMENT cü  (#PCDATA)>
-]>
-
-<!-- some namespace declarations for testing namespace propagation -->
-<a xmlns="default namespace"
-   xmlns:x="namespace for x"
-   xmlns:y="namespace for y"
-   x:att2="xxx
-           yyy"
-   y:att3="a fixed value"
-   x:att1=" test
-            äöüß
-            test "
-   att5="&lt; &gt;"
->
-    <x:b/>
-    <cü>hello world äöüß test</cü>
-</a>
diff --git a/examples/hparser/namespace1.xml b/examples/hparser/namespace1.xml
deleted file mode 100644
--- a/examples/hparser/namespace1.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>
-
-<!-- $Id: namespace1.xml,v 1.1 2004/03/03 12:52:19 hxml Exp $ -->
-
-<!DOCTYPE a [
-<!ATTLIST a xmlns   CDATA #IMPLIED>
-<!ATTLIST a xmlns:d CDATA #IMPLIED>
-<!ATTLIST a xmlns:x CDATA #IMPLIED>
-<!ATTLIST a xmlns:y CDATA #IMPLIED>
-<!ATTLIST a xmlns:z CDATA #IMPLIED>
-<!ELEMENT a ANY>
-
-<!-- error: a DTD part contains a not wellformed qualified Name: "a:b:c" -->
-<!ELEMENT a:b:c ANY>
-
-<!-- error: an ATTLIST declaration contains as attribute name a not wellformed qualified Name: "x:y:z" -->
-<!ATTLIST a:b:c x:y:z CDATA #IMPLIED>
-
-<!-- error: an entity or notation declaration contains a not wellformed NCName: "xyz:abc" -->
-<!ENTITY xyz:abc "123">
-<!ENTITY % xxx:yyy "zzz">
-
-]>
-
-<!-- everythin is legal here -->
-<a
-   xmlns  ="default namespace"
-   xmlns:d="default namespace"
-   xmlns:x="namespace for x"
-   xmlns:y="namespace common for y and z"
-   xmlns:z="namespace common for y and z"
-
-     att1="abc"
-   x:att1="xxx yyy"
-   y:att1="abc">
-
-  <!-- legal -->
-  <d:b attr2="xxx" d:attr2="yyy" xml:lang="de"/>
-
-  <!-- 4 x error: tag name "..." is not a wellformed qualified name -->
-  <d:tag:name/><:tag/><:/><:::/>
-
-  <!-- error: namespace for prefix in tag name "a:a" is undefined -->
-  <a:a/>
-
-  <!-- error: multiple occurences of universal names for attributes of tag "d:b" : "{namespace common for y and z}att2" -->
-  <d:b y:att2="y" z:att2="z"/>
-
-  <!-- 4 x error: attribute name "..." is not a wellformed qualified name -->
-  <d:b d:attr:name="" :attr="" :="" :::=""/>
-
-  <!-- error: namespace value of namespace declaration for "xmlns:x" has no value -->
-  <d:b xmlns:x=""/>
-
-  <!-- error: illegal namespace declaration with reserved prefix "..." starting with "xml" -->
-  <d:b xmlns:xml="something else"/><d:b xmlns:xml123="something else"/>
-
-  <!-- error: a PI contains a not wellformed NCName: "pi:pi" -->
-  <?pi:pi ?>
-</a>
diff --git a/examples/hsvg/.ghci b/examples/hsvg/.ghci
deleted file mode 100644
--- a/examples/hsvg/.ghci
+++ /dev/null
@@ -1,11 +0,0 @@
-:set -package-conf ../../lib/hxt/package.conf
-:set -package hxt
-:set -Wall
-
-:def ex0 (\ _ -> return ":set args --trace=1 --encoding=ISO-8859-1 --do-not-validate -o ISO-8859-1 example1.xml")
-
-:def x (\ _ -> return ":load TreeVisualisation\n:ex0\nmain")
-
-:x
-
-:module + IO Main
diff --git a/examples/hsvg/Makefile b/examples/hsvg/Makefile
deleted file mode 100644
--- a/examples/hsvg/Makefile
+++ /dev/null
@@ -1,83 +0,0 @@
-# $Id: Makefile,v 1.7 2006/06/01 15:03:21 hxml Exp $
-
-HXT_HOME	= ../..
-PKGFLAGS	= 
-GHCFLAGS	= -Wall -O2
-GHC		= ghc $(GHCFLAGS) $(PKGFLAGS)
-
-prog		= ./TreeVisualisation
-
-all		: $(prog)
-
-force		:
-		$(GHC) --make -o $(prog) $(prog).hs
-
-$(prog)		: $(prog).hs
-		$(GHC) --make -o $@ $<
-
-# Tree Visualisation Examples
-
-proxy		:= $(shell if [ `hostname` = "si" ] ; then echo -n "--proxy=www-cache.fh-wedel.de:3128" ; else echo -n ; fi)
-
-HTV		= $(prog) -t1 --use-curl --options-curl="-L" --encoding=ISO-8859-1 --parse-html --do-not-issue-warnings --remove-whitespace
-XTV		= $(prog) -t1 --use-curl --do-not-validate --do-not-issue-warnings --remove-whitespace
-
-JPGS		= index.html.jpg \
-		  www.fh-wedel.de.index.html.jpg \
-		  www.w3.org.index.html.jpg \
-		  www.haskell.org.index.html.jpg
-
-vtree		: $(prog) $(JPGS)
-
-index.html.svg	: $(HXT_HOME)/doc/index.html
-		@echo "get Haskell XML Toolbox homepage"
-		$(HTV) --width=800 --height=400 \
-			 $< > $@
-
-www.fh-wedel.de.index.html.svg	:
-		@echo "get FH Wedel homepage"
-		$(HTV) --horizontalTree --horizontalLines --width=600 --height=800 --border 30 \
-			 http://www.fh-wedel.de/ > $@
-
-www.w3.org.index.html.svg	:
-		@echo "get www.w3.org"
-		$(XTV) --centricTree --withAttr --width=1000 --height=1000 $(proxy) \
-			 http://www.w3.org/ > $@
-
-www.haskell.org.index.html.svg	:
-		@echo "get www.haskell.org"
-		$(HTV) --horizontalLines --withAttr --width=600 --height=400 $(proxy) \
-			 http://www.haskell.org/haskellwiki/Haskell > $@
-
-%.jpg		: %.svg
-		svgtoraster -m image/jpeg -q 0.7 `pwd`/$<
-
-%.png		: %.svg
-		svgtoraster -m image/png `pwd`/$<
-
-
-test		:
-		$(MAKE) index.html.svg
-
-DIST		= $(HXT_HOME)/dist/examples
-DIST_DIR	= $(DIST)/hsvg
-DIST_FILES	= $(prog).hs Makefile .ghci
-
-dist		:
-		[ -d $(DIST_DIR) ] || mkdir -p $(DIST_DIR)
-		cp $(DIST_FILES) $(DIST_DIR)
-
-clean		:
-		rm -f $(prog) *.o *.hi *.jpg *.png
-
-cleanvt		:
-		rm -f \
-		  index.html.jpg \
-		  www.fh-wedel.de.index.html.jpg \
-		  www.w3.org.index.html.jpg \
-		  www.haskell.org.index.html.jpg \
-		  index.html.svg \
-		  www.fh-wedel.de.index.html.svg \
-		  www.w3.org.index.html.svg \
-		  www.haskell.org.index.html.svg
-
diff --git a/examples/hsvg/TreeVisualisation.hs b/examples/hsvg/TreeVisualisation.hs
deleted file mode 100644
--- a/examples/hsvg/TreeVisualisation.hs
+++ /dev/null
@@ -1,449 +0,0 @@
--- |
--- TreeVisualisation - A Haskell XML Toolbox application for
--- a graphic representation of n-ary trees, e.g. XmlTrees
--- with SGML. Input is a XML or HTML document, output a SGML document
--- consisting of a graphical representation of the tree
---
--- Author: Uwe Schmidt uwe@fh-wedel.de
---
--- Version : $Id: TreeVisualisation.hs,v 1.9 2004/09/02 19:11:50 hxml Exp $
-
-module Main where
-
-import Text.XML.HXT.Parser
-
-import System.IO
-import System.Environment
-import System.Console.GetOpt
-
-import System.Exit
-
-import Data.Maybe
-
--- ----------------------------------------------------------
-
--- |
--- compute a layout tree for a given NTree
---
--- the layout tree has a stucture isomophic to the input tree
--- the layout is a pair of (x,y) coordinates. for every node
--- a weight is computed, the space for a tree will be proprtional to
--- the sum of the weight in the tree
-
-treeToWeightedTree	:: (Num b) => (a -> b) -> NTree a -> NTree (b, b)
-treeToWeightedTree wf (NTree n cs)
-    = (NTree (wot, woc) cs')
-      where
-      cs' = map (treeToWeightedTree wf) cs
-      woc = sum . map (\ (NTree (sum', _) _) -> sum') $ cs'
-      wot = woc + wf n
-
--- |
--- auxiliary function called by 'horizontalLayout' for doint the hard work
-
-weightedTreeToHLayout	:: (Fractional a) => a -> a -> NTree (a,a) -> NTree (a,a)
-weightedTreeToHLayout from to (NTree (_wot, woc) cs)
-    = NTree (from, to) cs'
-      where
-      len = to - from
-      cs' = layoutChildren (fromInteger 0) cs
-      layoutChildren _ []
-	  = []
-      layoutChildren start (t1@(NTree (wot1, _woc1) _cs1) : ts)
-	  = weightedTreeToHLayout from' to' t1 : layoutChildren start' ts
-	    where
-	    from'  = (start  / woc) * len + from
-	    to'    = (start' / woc) * len + from
-	    start' = start + wot1
-      
--- |
--- A horizontal layout for a tree generated with 'treeToWeightedTree'
--- is computed. The nodes are positioned in the unit square ((0,0),(1,1))
--- with the origin in the left upper corner. The root node is centered
--- at the top of the square
-
-horizontalLayout	:: (Fractional b) => (a -> b) -> NTree a -> NTree (b,b)
-horizontalLayout weightFct
-    = weightedTreeToHLayout (fromInteger 0) (fromInteger 1) . treeToWeightedTree weightFct
-
--- |
--- layout of a tree in a 1.0 x 1.0 square
--- with the root node centered at the top and the
--- deepest leaves at the bottom
-
-vTreeLayout		:: (Fractional b) => (a -> b) -> NTree a -> NTree (b,b)
-vTreeLayout weightFct t
-    = vLayout (0::Int) . horizontalLayout weightFct $ t
-      where
-      d = (depthNTree t - 1) `max` 1
-      vLayout i (NTree (l,u) cs)
-	  = NTree (x, y) cs'
-	    where
-	    x = (l + u) / fromInteger 2
-	    y = fromInteger (toInteger i) / fromInteger (toInteger d)
-	    cs' = map (vLayout (i + 1)) cs
-
-mirrorLayout		:: NTree (a,a) -> NTree (a,a)
-mirrorLayout
-    = mapNTree (\ (x,y) -> (y, x))
-      
-scaleLayout	:: (RealFrac a) => Int -> Int -> Int -> NTree (a,a) -> NTree (Int,Int)
-scaleLayout border dx dy
-    = mapNTree scale
-      where
-      scale (x,y) = (truncate (x * dx') + border, truncate (y * dy') + border)
-      dx' = fromIntegral (dx - 2 * border)
-      dy' = fromIntegral (dy - 2 * border)
-
-centricLayout	:: (Floating a) => NTree (a,a) -> NTree (a,a)
-centricLayout
-    = mapNTree center
-      where
-      center (x, y)
-	  = ((x' + 1) /2, (y' + 1) /2)
-	    where
-	    phi = (2 * x - 0.5) * pi
-	    r   = y
-	    x'  = cos phi * r
-	    y'  = sin phi * r
--- |
--- map nodes of a NTree to SVG tags
-
-mapNodesToXml	:: (a -> (Int, Int) -> XmlTrees) -> NTree a -> NTree (Int, Int) -> XmlTrees
-mapNodesToXml formatNode layoutTree orgTree
-    = concat . zipWith formatNode (nTreeToList layoutTree) $ (nTreeToList orgTree)
-
-mapNodesToSVG	:: (a -> XmlFilter) -> NTree a -> NTree (Int, Int) -> XmlTrees
-mapNodesToSVG circleLayout
-    = mapNodesToXml drawNode
-      where
-      drawNode n (x,y)
-	  = atag "circle" [ sattr "cx" (show x)
-			  , sattr "cy" (show y)
-			  , circleLayout n
-			  ] $ undefined
-
-mapEdgesToSVG	:: ((Int, Int) -> (Int, Int) -> XmlTrees) -> NTree (Int, Int) -> XmlTrees
-mapEdgesToSVG draw (NTree p1 cs)
-    = concatMap (\ t' -> mkLine t' ++ mapEdgesToSVG draw t') cs
-      where
-      mkLine (NTree p2 _) = draw p1 p2
-
-drawLine	:: XmlFilter -> (Int, Int) -> (Int, Int) -> XmlTrees
-drawLine lineAttrl p1 p2
-    = drawLines lineAttrl [p1,p2]
-
-drawHPath	:: XmlFilter -> (Int, Int) -> (Int, Int) -> XmlTrees
-drawHPath lineAttrl p1@(x1, y1) p2@(x2, y2)
-    = drawLines lineAttrl [p1, (x1,y12), (x2,y12), p2]
-      where
-      y12 = (y1 + y2) `div` 2
-
-drawVPath	:: XmlFilter -> (Int, Int) -> (Int, Int) -> XmlTrees
-drawVPath lineAttrl p1@(x1, y1) p2@(x2, y2)
-    = drawLines lineAttrl [p1, (x12,y1), (x12,y2), p2]
-      where
-      x12 = (x1 + x2) `div` 2
-
-drawLines	:: XmlFilter -> [(Int, Int)] -> XmlTrees
-drawLines attl ps
-    = concat . zipWith draw ps $ tail ps
-      where
-      draw (x1, y1) (x2, y2)
-	  = atag "line" [ sattr "x1" (show x1)
-			, sattr "y1" (show y1)
-			, sattr "x2" (show x2)
-			, sattr "y2" (show y2)
-			, attl
-			] $ undefined
-
--- |
--- filter for copying the attributes into the content part
--- the result does not correspont to a wellformed XML document
--- but for drawing the tree inclusive attributes this works fine
-
-moveAttrlToContent	:: XmlFilter
-moveAttrlToContent
-    = processChildren
-      ( processBottomUp
-	( substChildren (getAttrl +++ getChildren) `when` isXTag ) )
-
--- |
--- the main transformation filter
-
-xmlTreeToSVG	:: XmlFilter
-xmlTreeToSVG t
-    = rootTag [ getAttrl ]
-      [ getChildren
-	.>
-        isXTag						-- get the root tag
-	.>
-	cat [ dtd DOCTYPE [ sattr a_name "svg"
-			  , sattr k_public "-//W3C//DTD SVG 1.1//EN"
-			  , sattr k_system "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"
-			  ] []
-	    , tag "svg"
-	      [ sattr "width"		(show widthInt)
-	      , sattr "height"		(show heightInt)
-	      , sattr "version"		"1.1"
-	      , sattr "xmlns"		"http://www.w3.org/2000/svg"
-	      , sattr "xmlns:xlink"	"http://www.w3.org/1999/xlink"		-- currently not used
-	      ]
-	      [ stag "title" [ txt source]
-	      , tag "text" [ sattr "x" "10"		-- draw source uri
-			   , sattr "y" "22"
-			   , sattr "font-size" "12"
-			   , sattr "fill" "grey"
-			   ] [ txt ("source: " ++ source)
-			     ]
-	      , legend (10, heightInt - 5 * pixelPerLine - 10)
-		[ (tagColor,  "tag")
-		, (textColor, "text")
-		, (attrColor, "attribute")
-		, (cmtColor,  "comment")
-		, (defColor,  "others")
-				]
-	      , nodesToSVG
-		. scaleLayout borderWidthInt widthInt heightInt
-		. layoutFct
-		. vTreeLayout nSize
-	      ]
-	    ]
-      ] .> addXmlPiToDoc $ t
-      where
-      t1 = head . (getChildren .> isXTag) $ t		-- the root tag
-	   
-      pixelPerLine = 15
-
-      legend	:: (Int, Int) -> [(String, String)] -> XmlFilter
-      legend (x1, y1) ls
-	  = cat (zipWith legend1 ps ls)
-	    where
-	    ps = map (\ y' -> (x1, y1 + y' * pixelPerLine)) [0..]
-	    legend1 (x', y') (color, text)
-		= cat [ atag "circle" [ sattr "cx" (show (x' + 5))
-				      , sattr "cy" (show (y' + 10))
-				      , sattr "r" "5"
-				      , sattr "fill" color
-				      , sattr "stroke-width" lineWidth
-				      , sattr "stroke" lineColor
-				      ]
-		      , tag "text" [ sattr "x" (show (x' + pixelPerLine))
-				   , sattr "y" (show (y' + pixelPerLine))
-				   , sattr "font-size" "12"
-				   , sattr "fill" "grey"
-				   ] [ txt text
-				     ]
-		      ]
-	    
-      defValueOf attr' def' t'
-	  | null res  = def'
-	  | otherwise = res
-	  where
-	  res = valueOf attr' t'
-
-      width	    = defValueOf "width"		"800"		t
-      height        = defValueOf "height"		"600"		t
-      nodeScale     = defValueOf "nodeSize"		"1"		t
-      borderWidth   = defValueOf "borderWidth"          "20"		t
-      lineWidth     = defValueOf "lineWidht"		"1"		t
-      lineColor     = defValueOf "lineColor"		"grey"		t
-      textColor     = defValueOf "textNodeColor"	"blue"		t
-      tagColor      = defValueOf "tagNodeColor"		"red"		t
-      attrColor     = defValueOf "attrNodeColor"	"green"		t
-      cmtColor      = defValueOf "cmtNodeColor"		"magenta"	t
-      defColor      = defValueOf "defaultNodeColor"	"grey"		t
-      layout	    = defValueOf "layout"               "vertical"      t
-      lineStyle     = defValueOf "lineStyle"	        "line"          t
-      source        = valueOf a_source               			t
-
-      widthInt, heightInt, borderWidthInt	    :: Int
-
-      widthInt	    = read width  `max` 100
-      heightInt	    = read height `max` 100
-      borderWidthInt= read borderWidth
-
-      nodesToSVG t' = mapEdgesToSVG (edgeLayoutFct edgeLayout) t'
-		      ++
-		      mapNodesToSVG nodeLayout t1 t'
-
-      nodeLayout n
-	  = cat [ sattr "fill"         nColor
-		, sattr "stroke"       ( if r < 5	-- if circle too small
-					 then nColor	-- border is drawn in the same color as cirle
-					 else lineColor
-				       )
-		, sattr "stroke-width" lineWidth
-		, sattr "r"            (show r)
-		]
-	    where
-	    (nColor, nSz) = nLayout n
-	    nSz1          = nSz * (read nodeScale)
-	    r             = (round (sqrt (fromInteger (toInteger nSz1))::Double))::Int
-
-      nSize	:: XNode -> Double
-      nSize	= fromInteger . toInteger . snd . nLayout
-
-      nLayout (XTag _tn _)	= (tagColor,	9)		-- constant size for tags
-      nLayout (XText tx)	= (textColor,	length tx)
-      nLayout (XAttr _an)	= (attrColor,	4)		-- attributes are smaller than tags
-      nLayout (XCmt c)		= (cmtColor,	length c)
-      nLayout _			= (defColor,	1)		-- entities, PI's, dtd stuff, ...
-
-      layoutFct	    :: NTree (Double,Double) -> NTree (Double,Double)
-      layoutFct
-	  = fromJust . lookup layout
-	    $ [ ("vertical",	           id)
-	      , ("horizontal",	mirrorLayout )
-	      , ("centric",    centricLayout )
-	      ]
-
-      edgeLayoutFct
-	  = fromJust . lookup (layout, lineStyle)
-	    $ [ (("vertical",	"line"),	drawLine  )
-	      , (("vertical",	"fork"),	drawHPath )
-	      , (("horizontal",	"line"),	drawLine  )
-	      , (("horizontal",	"fork"),	drawVPath )
-	      , (("centric",	"line"),	drawLine  )
-	      , (("centric",	"fork"),	drawLine  )
-	      ]
-
-      edgeLayout
-	  = cat [ sattr "stroke"       lineColor
-		, sattr "stroke-width" "1"
-		]
-
--- ----------------------------------------------------------
-
--- |
--- the main program of the Haskell XML Validating Parser
-
-main :: IO ()
-main
-    = do
-      argv <- getArgs
-      al   <- cmdlineOpts argv
-      res  <- run' (xmlToSVG al emptyRoot)
-      exitProg (null res)				-- set return code and terminate
-
--- ------------------------------------------------------------
-
-exitProg	:: Bool -> IO a
-exitProg True	= exitWith (ExitFailure (-1))
-exitProg False	= exitWith ExitSuccess
-
--- ------------------------------------------------------------
-
--- |
--- the /real/ main program
---
--- runs in the trivial XmlState monad (with user state set to ())
--- so IO and access to global options is possible
-
-xmlToSVG	:: Attributes -> XmlStateFilter state
-xmlToSVG al
-    = parseDocument al					-- read document
-      .>>
-      traceMsg 1 "start processing"
-      .>>
-      liftMf
-      ( canonicalizeAllNodes
-	.>
-	( moveAttrlToContent `when` hasAttr "withAttr" )
-	.>
-	xmlTreeToSVG
-	.>
-	indentDoc
-      )
-      .>>
-      traceMsg 1 "processing finished"
-      .>>
-      traceSource
-      .>>
-      traceTree
-      .>>
-      ( writeDocument [ (a_indent, v_1) ]
-	`whenM`
-	getChildren
-      )
-      .>>
-      checkStatus
-
--- ------------------------------------------------------------
---
--- the options definition part
--- see doc for System.Console.GetOpt
-
-progName	:: String
-progName	= "TreeVisualisation"
-    
-options 	:: [OptDescr (String, String)]
-options
-    = generalOptions
-      ++
-      inputOptions
-      ++
-      outputOptions
-      ++
-      showOptions
-      ++
-      [ Option ""	["width"]		(ReqArg (nat "width")	"NUM")		"SVG image width in pixel, default: 800"
-      , Option ""	["height"]		(ReqArg (nat "height")	"NUM")		"SVG image height in pixel, default: 600"
-      , Option ""	["withAttr"]		(NoArg  (att "withAttr"	"1"))		"show tag attributes, default: no"
-      , Option ""	["nodeSize"]		(ReqArg (nat "nodeSize") "NUM")		"scale size of nodes, default: 1"
-      , Option ""	["lineWidth"]		(ReqArg (nat "lineWidth") "NUM")	"width of edges in pixel, default: 1\n"
-      , Option ""	["border"]		(ReqArg (nat "borderWidth") "NUM")	"border around tree in pixel, default: 20\n"
-
-      , Option ""	["verticalTree"]	(NoArg  (att "layout" "vertical"))	"vertical tree layout, root centered at the top border"
-      , Option ""	["horizontalTree"]	(NoArg  (att "layout" "horizontal"))	"horizontal tree layout, root centered at the left border"
-      , Option ""	["centricTree"]		(NoArg  (att "layout" "centric"))	"layout with root in the center"
-      , Option ""	["directLines"]		(NoArg  (att "lineStyle" "line"))	"edges are drawn as direct lines"
-      , Option ""	["horizontalLines"]	(NoArg  (att "lineStyle" "fork"))	"edges are drawn as a path of horizontal and vertical lines\n"
-
-      , Option ""	["textNodeColor"]	(ReqArg (att "textNodeColor") "COLOR")	"text node: color name or RGB value in format \"#RRGGBB\""
-      , Option ""	["tagNodeColor"]	(ReqArg (att "tagNodeColor") "COLOR")	"tag node color"
-      , Option ""	["attrNodeColor"]	(ReqArg (att "attrNodeColor") "COLOR")	"attribute node color"
-      , Option ""	["cmtNodeColor"]	(ReqArg (att "cmtNodeColor") "COLOR")	"comment node color"
-      , Option ""	["defaultNodeColor"]	(ReqArg (att "defNodeColor") "COLOR")	"other node color"
-      ]
-    where
-    att n v	= (n, v)
-    nat n v	= (n, filter (`elem` "0123456789") v)
-
-usage		:: [String] -> IO a
-usage errl
-    | null errl
-	= do
-	  hPutStrLn stdout use
-	  exitProg False
-    | otherwise
-	= do
-	  hPutStrLn stderr (concat errl ++ "\n" ++ use)
-	  exitProg True
-    where
-    header = "TreeVisualisation - An example application of the Haskell XML Toolbox\n" ++
-             "for the visualisation of the structure of a XML document with SVG\n" ++
-             "Usage: " ++ progName ++ " [OPTION...] [URI or FILE]"
-    use    = usageInfo header options
-
-cmdlineOpts 	:: [String] -> IO (Attributes)
-cmdlineOpts argv
-    = case (getOpt Permute options argv) of
-      (ol,n,[]  )
-	  -> do
-	     sa <- src n
-	     help (lookup a_help ol)
-	     return (ol ++ sa)
-      (_,_,errs)
-	  -> usage errs
-    where
-    src []	= usage ["no input url or file given\n"]
-    src [url]	= return [("source", url)]
-    src _	= usage ["only one input uri or file allowed\n"]
-
-    help Nothing	= return ()
-    help (Just _)	= usage []
-
--- ------------------------------------------------------------
-
-
diff --git a/examples/hunit/HUnitExample.hs b/examples/hunit/HUnitExample.hs
deleted file mode 100644
--- a/examples/hunit/HUnitExample.hs
+++ /dev/null
@@ -1,616 +0,0 @@
--- |
--- HUnit - Haskell XML Toolbox examples and tests
---
--- Author: Uwe Schmidt uwe@fh-wedel.de
---
--- Version : $Id: HUnitExample.hs,v 1.8 2005/04/14 12:52:51 hxml Exp $
-
-module Main where
-
-import System
-import Test.HUnit
-import Text.XML.HXT.Parser
-import Data.Char
-
-aMinimalDoc	:: XmlTree
-aMinimalDoc	= mkRootTree [] (xtext "<?xml version='1.0'?><x/>")
-
-aSimpleXHTMLDoc	:: XmlTree
-aSimpleXHTMLDoc
-    = mkRootTree
-      ( xattr a_source "simple.xml" )
-      ( xtext 
-	( concatMap (++ "\n")
-	  [ "<?xml version='1.0'?>"
-	  , "<html>"
-	  , " <head><title>A Simple XHTML Document</title></head>"
-	  , " <body>"
-	  , " </body>"
-	  , "</html>"
-	  ]
-	)
-      )
-
-mkMinimalDoc	:: String -> XmlTree
-mkMinimalDoc cont
-    = mkRootTree [] (xtext cont)
-
-mkInputDoc	:: String -> XmlTree
-mkInputDoc src
-    = mkRootTree ( xattr a_source src) []
-
-mkDoc	:: String -> XmlTree
-mkDoc cont
-    = mkRootTree
-      ( xattr a_source "a test")
-      ( xtext ("<?xml version='1.0' encoding='" ++ isoLatin1 ++ "'?>\n" ++ cont) )
-
--- |
--- compare trees
-
-testEqualTrees	:: XmlTrees -> XmlTrees -> Test
-testEqualTrees e1 e2
-    = TestCase $
-      assertEqual "" e1 e2
-
--- |
--- testDocFilter creates a test for the application of a pure
--- functional filter to a XML tree. The result is converted into
--- the external string representation and compared with the expected
--- result.
---
--- see also: 'testStateFilter' and 'testEditFilter'
-
-testDocFilter	:: String -> XmlFilter -> XmlTree -> Test
-testDocFilter expected xfilter doc
-    = TestCase $
-      assertEqual "" expected (xshow $ xfilter doc)
-
--- |
--- testStateFilter creates a test for monadic filters, doing IO and using
--- the internal state, consisting of program options and status information
--- The filter is applied to a XML tree, the result is converted to a string
--- and this result is compared with the expected result.
---
--- see also: 'testEditFilter' for pure functional filters
-
-testStateFilter	:: String -> XmlStateFilter () -> XmlTree -> Test
-testStateFilter expected xfilter input
-    = TestCase $
-      do
-      res <- run' $ xfilter input
-      assertEqual "" expected (xshow res)
-
--- |
--- The test bed for edit filter for external documents.
--- The input tree must specify the external document to be read.
--- This document is checked for wellformedness, canonicalized
--- (char refs substituted, ...) and processed with the edit filter.
--- The result is transformed into the string representation and compared
--- with the expected string.
-
-testEditFilter	:: String -> XmlFilter -> XmlTree -> Test
-testEditFilter expected xfilter input
-    = TestCase $
-      do
-      res <- run'
-	     $ ( getWellformedDoc					-- read the document
-		 .>>
-		 liftMf canonicalizeAllNodes				-- normalize the document and remove <?xml ... ?> decl
-		 .>>
-		 liftMf ( processChildren xfilter )			-- apply the editing filter only to the 'real' document
-		 .>>				  			-- nodes, not to nodes surrounding the document tag
-		 putXmlTree						-- just trace output
-		 .>>
-		 liftMf getChildren					-- just for comparing the document contents
-	       )
-	     input
-      assertEqual "" expected (xshow res)
-
-
--- |
--- ausiliary function to make haskell string constants with quotes more readable
-
-singleToDoubleQuote	:: String -> String
-singleToDoubleQuote
-    = map (\ c -> if c == '\'' then '"' else c)
-
--- |
--- the complete set of test cases
-
-allTests	:: Test
-allTests
-    = TestList
-      [ constructionTests
-      , treeConstructionTests
-      , parseTests
-      , inputTests
-      , removeTests
-      , simpleSelectionTests
-      , namespaceTests
-      ]
-
--- |
--- tree versus filter construction tests
--- documents may be constructed by tree operations
--- or with the more flexible filter operations applied to an arbitray tree
-
-treeConstructionTests :: Test
-treeConstructionTests
-    = TestLabel "tree and filter construction tests" $
-      TestList $
-      map (\ (t, f) -> testEqualTrees t (f undefined) )
-      [ (xtext "xyz",				txt "xyz"			)
-      , (xcmt "cmt",				cmt "cmt"			)
-      , (xtag "img" [] [],			tag "img" [] []			)
-      , (xtag "img" [] [],			etag "img"			)
-
-      , (xtag "img" (xattr "b" "13") [],	tag "img" [sattr "b" "13"] []	)
-
-      , (xtag "img" (xattr "b" "13") [],	atag "img" [sattr "b" "13"]	)
-
-      , (xtag "t" (xattr "a" "42" ++ xattr "b" "id")
-	          (xtext "abc"),
-						tag "t" [sattr "a" "42", sattr "b" "id"]
-	 						[txt "abc"]		)
-      ]
-
--- |
--- construction tests are all applied to the empty document,
--- no information is used from that document,
--- but construction is lifted to the filter level.
--- this is more general than explicit construction.
--- in more complex examples some information may be extracted from
--- the source, some can be constant.
--- 
--- see also: 'testDocFilter'
-
-constructionTests	:: Test
-constructionTests
-    = TestLabel "document construction tests" $
-      TestList $
-      map (\ (res, f) -> testDocFilter res f undefined)		-- undefined or something else, e.g. emptyRoot
-      [ ("<x/>"		, mkXTag  "x" none none	)
-      , ("<x/>"		, tag "x"  [] []	)		-- syntactically more comfortable shortcut for mkXTag
-      , ("<x/>"		, stag "x" []		)		-- shortcut for tags without attributes
-      , ("<x/>"		, atag "x" []		)		-- shortcut for empty tags with attributes
-      , ("<x/>"		, etag "x"		)		-- shortcut for empty tags without attributes
-
-      , ("<x a=\"1\"/>"
-			, mkXTag "x" (mkXAttr "a" (mkXText "1")) none	)
-      , ("<x a=\"1\">42</x>"
-			, mkXTag "x" (mkXAttr "a" (mkXText "1")) (mkXText "42")	)
-      , ("<x a=\"1\">42</x>"
-			, tag "x" [ attr "a" $ txt "1" ] [ txt "42" ]	)
-      , ("<x a=\"1\">42</x>"
-			, tag "x" [ sattr "a" "1" ] [ txt "42" ]	)
-
-      , ("<x a=\"1\"/>"	, atag "x" [ sattr "a" "1" ]	)
-
-      , ("<x a=\"1\" b=\"2\">42<y/>43</x>"
-			, tag "x" [ sattr "a" "1"
-				  , sattr "b" "2"
-				  ] [ txt  "42"
-				    , etag "y"
-				    , txt  "43"
-				    ]	)
-      , ("<!-- a comment -->"
-			, mkXCmt $ txt " a comment "	)
-      , ("<!--a comment-->"
-			, cmt "a comment"	)		-- short cut for uncomputed comment
-
-      , ("<!-- an illegal XML comment containing 2 -- in comment text -->"
-			, cmt " an illegal XML comment containing 2 -- in comment text "	)
-
-      , ("&#42;"   	, mkXCharRef 42		)
-      , ("&lt;"    	, mkXEntityRef "lt"	)
-      , ("<![CDATA[<abc>]]>"
-			, mkXCdata $ txt "<abc>")
-      , ("<![CDATA[<abc>]]>"			-- short cut for uncomputed cdata content
-			, cdata "<abc>")
-      , ("<?abc xyz?>"	, mkXPi "abc" $ txt "xyz"	)
-      , ("<?abc xyz?>"	, spi "abc" "xyz"	)	-- short cut for an uncomputed pi content
-      ]
-
--- |
--- simple selection tests
-
-simpleSelectionTests	:: Test
-simpleSelectionTests
-    = TestLabel "simple tree selection tests" $
-      TestList $
-      map (\ (res, f) -> testDocFilter (singleToDoubleQuote res) f simpleDoc)
-      [ (src		, this	)
-      , ("1"		, getValue "a"	)
-      , (""		, getValue "b"	)
-      , (body1		, getChildren	)
-
-				-- text selection
-      , ("xyz"		, getChildren .> isXText	)
-      , ("xyz"		, getChildren .> isText "xyz"	)
-      , (""		, getChildren .> isText "abc"	)
-      , ("xyz"		, getChildren .> isOfText (>="x")	)
-      , (""		, getChildren .> isOfText (<"x")	)
-      , (""		, getChildren .> isWhiteSpace	)
-
-				-- tag selection
-      , ("<t a='42' b='id'>abc</t><img b='13'/><y x='0'/><z/>"
-			, getChildren .> isXTag	)
-
-				-- comment selection
-      , ("<!--cmt-->"	, getChildren .> isXCmt	)
-
-				-- text OR tag selection
-      , ("<t a='42' b='id'>abc</t><img b='13'/>xyz<y x='0'/><z/>"
-			, getChildren .> (isXTag +++ isXText)	)
-
-				-- generalised OR
-      , ("<t a='42' b='id'>abc</t><img b='13'/>xyz<y x='0'/><z/>"
-			, getChildren .> cat [isXTag, isXText]	)
-
-      , ("abc"		, getChildren .> getChildren	)
-
-				-- atribute value selection
-      , ("1"		, getValue "a"	)
-
-      , ("<t a='42' b='id'>abc</t>"
-			, getChildren .> isTag "t"	)
-
-				-- attribute selection
-      , ("<t a='42' b='id'>abc</t>"
-			, getChildren .> hasAttr "a"	)
-
-      , ("42"		, getChildren .> getValue "a"	)
-      , ("42"		, getChildren .> hasValue "a" (all isDigit)	)
-      , ("13"		, getChildren .> hasValue "b" (all isDigit)	)
-      , (""		, getChildren .> isTag "t" .> hasValue "b" (all isDigit)	)
-      , ("42"		, getChildren .> hasValue "a" (== "42")	)
-      , (""		, getChildren .> hasValue "a" (== "43")	)
-      , ("42"		, getChildren .> hasValue "a" (\ str -> ((read str)::Int) > 40)	)
-      , ("42"		, getChildren .> hasValue "a" (not . null)	)
-      , ("id13"		, getChildren .> hasValue "b" (const True)	)
-      , ("13"		, getChildren .> isTag "img" .> hasValue "b" (const True)	)
-      , (""		, getChildren .> hasValue "c" (const True)	)
-
-      , (" a='42' b='id' b='13' x='0'"
-			, getChildren .> getAttrl	)
-
-      , (" a='42' b='id'"
-			, getChildren .> isTag "t" .> getAttrl	)
-
-      , ("42id"		, getChildren .> isTag "t" .> getAttrl .> getChildren	)
-
-      , (" b='id' b='13'"
-			, getChildren .> getAttrl .> isAttr "b"	)
-
-      , (" b='13'"	, getChildren .> isTag "img" .> getAttrl .> isAttr "b"	)
-      , ("13"		, getChildren .> isTag "img" .> getAttrl .> isAttr "b" .> getChildren	)
-      , ("13"		, getChildren .> isTag "img" .> getValue "b"	)
-      , ("timgyz"	, getChildren .> getName	)
-      , ("t"		, getChildren .> isTag "t" .> getName	)
-      , ("abbx"		, getChildren .> getAttrl  .> getName	)
-      , ("bb"		, getChildren .> getAttrl  .> isAttr "b" .> getName	)
-      , ("ab"		, getChildren .> isTag "t" .> getAttrl   .> getName	)
-      , ("b"		, getChildren .> isTag "t" .> getAttrl   .> isAttr "b" .> getName	)
-
-				-- deep search for text or tags
-      , ("abcxyz"       , deep isXText	)
-      , ("abc"	        , deep (isTag "t") .> deep isXText	)
-      ]
-    where
-    src = "<r a='1'>" ++ body1 ++ "</r>"
-    body1 = "<!--cmt-->"
-	    ++ "<t a='42' b='id'>abc</t>"
-	    ++ "<img b='13'/>"
-	    ++ "xyz"
-	    ++ "<y x='0'/>"
-	    ++ "<z/>"
-
-    sDocFilter
-	= tag "r" [ sattr "a" "1" ]
-	    [ cmt "cmt"
-	    , tag "t" [ sattr "a" "42", sattr "b" "id" ]
-		[ txt "abc"
-		]
-	    , atag "img" [ sattr "b" "13" ]
-	    , txt "xyz"
-	    , atag "y" [ sattr "x" "0" ]
-	    , etag "z"
-	    ]
-    simpleDoc = head $ sDocFilter undefined
-
--- |
--- simple tests with namespaces
-
-namespaceTests	:: Test
-namespaceTests
-    = TestLabel "namespace tests" $
-      TestList $
-      map (\ (res, f) -> testDocFilter (singleToDoubleQuote res) f simpleDoc)
-      [ (src		, this	)
-					-- select all "t" tags, even nested ones (multi) and extract the text from the body
-      , ("sssaaa"	, multi (isTag "t"                    .> getChildren .> isXText)	)
-
-					-- select all text within all tags of a specific namespace
-      , ("sssaaazzzeee"	, multi (isXTag .> hasNamespace "dns" .> getChildren .> isXText)	)
-      , ("bbb"		, multi (isXTag .> hasNamespace "n1"  .> getChildren .> isXText)	)
-      , ("cccdddfffggg"	, multi (isXTag .> hasNamespace "n2"  .> getChildren .> isXText)	)
-
-					-- select all text within all tags with a specific local name
-      , ("sssaaabbbcccdddzzz"
-			, multi (isXTag .> hasLocalPart "t"   .> getChildren .> isXText)	)
-      , ("eee"		, multi (isXTag .> hasLocalPart "e"   .> getChildren .> isXText)	)
-
-					-- select all text within all tags with a specific prefix
-      , ("bbbddd"	, multi (isXTag .> hasPrefix "x"      .> getChildren .> isXText)	)
-      , ("ccc"		, multi (isXTag .> hasPrefix "y"      .> getChildren .> isXText)	)
-      , ("zzz"		, multi (isXTag .> hasPrefix "z"      .> getChildren .> isXText)	)
-      , ("sssaaaeeefffggg"
-			, multi (isXTag .> hasPrefix ""       .> getChildren .> isXText)	)
-
-					-- select all attribute values of a specific namespace
-					-- !!! the default namespace is not propagated to attribute names
-      , ("z5"		, multi (isXTag .> getAttrl .> hasNamespace "dns"   .> getChildren)	)
-      , ("2z4"		, multi (isXTag .> getAttrl .> hasNamespace "n1"    .> getChildren)	)
-      , ("x3y3u4"	, multi (isXTag .> getAttrl .> hasNamespace "n2"    .> getChildren)	)
-      , ("dnsn2"	, multi (isXTag .> getAttrl .> hasLocalPart "xmlns" .> getChildren)	)
-
-					-- select namespaces from all namespace declarations
-      , ("dnsn1n2dnsn2n2"
-			, multi (isXTag .> getAttrl .> isNamespaceDecl .> getChildren)	)
-
-					-- all default namespace declarations
-      , ("dnsn2"	, multi (isXTag .> getAttrl .> hasLocalPart "xmlns" .> getChildren)	)
-
-					-- all none default namespace declarations
-      , ("n1n2dnsn2"	, multi (isXTag .> getAttrl .> hasPrefix "xmlns" .> getChildren)	)
-      , ("n1n2"		, multi (isXTag .> getAttrl .> hasPrefix "xmlns" .> hasLocalPart "x" .> getChildren)	)
-      , ("n2"		, multi (isXTag .> getAttrl .> hasPrefix "xmlns" .> hasLocalPart "y" .> getChildren)	)
-      , ("dns"		, multi (isXTag .> getAttrl .> hasPrefix "xmlns" .> hasLocalPart "z" .> getChildren)	)
-      ]
-    where
-						-- the text representation of the tree
-						-- with ' instead of " for readablility of the string constants
-    src = "<t xmlns='dns' xmlns:x='n1' xmlns:y='n2' xmlns:z='dns'>"
-	  ++ "sss"
-	  ++ "<t a='1' x:a='2'>aaa</t>"
-	  ++ "<x:t a='x1' y:a='x3'>bbb</x:t>"
-	  ++ "<y:t a='y1' y:a='y3'>ccc</y:t>"
-	  ++ "<x:t xmlns:x='n2' x:a='u4'>ddd</x:t>"
-	  ++ "<z:t x:a='z4' z:a='z5'>zzz</z:t>"
-	  ++ "<e b='42'>eee</e>"
-	  ++ "<f xmlns='n2'>fff<g>ggg</g></f>" ++
-	  "</t>"
-
-						-- the filter for generating the test document
-    sDocFilter
-	= tag "t" [ sattr "xmlns"   "dns"	-- 4 namespace declarations
-		  , sattr "xmlns:x" "n1"
-		  , sattr "xmlns:y" "n2"
-		  , sattr "xmlns:z" "dns"
-		  ]
-            [ txt "sss"
-	    , tag "t" [ sattr "a"   "1"
-		      , sattr "x:a" "2" ]
-	        [ txt "aaa"
-		]
-	    , tag "x:t" [ sattr "a"   "x1"
-			, sattr "y:a" "x3"
-			]
-	        [ txt "bbb"
-		]
-	    , tag "y:t" [ sattr "a"   "y1"
-			, sattr "y:a" "y3"
-			]
-	        [ txt "ccc"
-		]
-	    , tag "x:t" [ sattr "xmlns:x" "n2"	-- redefinition of prefix x:
-			, sattr "x:a" "u4"
-			]
-	        [ txt "ddd"
-		]
-	    , tag "z:t" [ sattr "x:a" "z4"
-			, sattr "z:a" "z5"
-			]
-	        [ txt "zzz"
-		]
-	    , tag "e" [ sattr "b" "42" ]
-                [ txt "eee"
-		]
-	    , tag "f" [ sattr "xmlns" "n2"	-- redefinition of default namespace
-		      ]
-                [ txt "fff"
-		, tag "g" [ ]
-		    [ txt "ggg" ]
-		]
-	    ]
-						-- create document and propagate namespaces
-    simpleDoc = head $ (sDocFilter .> propagateNamespaces) undefined
-
--- |
--- minimal tests for parsing data.
---
--- the tests are document trees with a root
--- node containing a single text node with the document source.
--- That tree is passed to the parser, which substitutes the text node with the parsed xml tree.
--- In general this may be a list of trees containing also the
--- surrounding parts like the xml declaraion, the document type definition
--- possibly comments and processing instructions.
---
--- see also: 'testStateFilter'
-
-parseTests	:: Test
-parseTests
-    = TestLabel "minimal parser tests" $
-      TestList 
-      [ testStateFilter "</><x/><//>"	parseXmlDoc				mini	-- the tree inclusive root node
-      , testStateFilter "<x/>"	(parseXmlDoc .>> liftMf getChildren)		mini	-- only the content
-      , testStateFilter "<x/>"	(parseXmlDoc .>> liftMf getChildren)		min2	-- same content
-      , testStateFilter ""	(parseXmlDoc .>> liftMf getChildren)		minErr	-- syntax error: content empty
-      , testStateFilter errr	(parseXmlDoc .>> liftMf (getValue a_status))	minErr	-- syntax error reported in a_status
-      ]
-    where
-    errr	= show c_err
-    mini	= mkMinimalDoc "<x/>"
-    min2	= mkMinimalDoc "<x></x>"
-    minErr	= mkMinimalDoc "<x>"
-
-
--- |
--- simple external file containing one tag
-
-mini1		:: XmlTree
-mini1		= newDocument "mini1.xml"		-- test documents
-
--- |
--- simple external file containing one tag
-
-mini2		:: XmlTree
-mini2		= newDocument "mini2.xml"
-
--- |
--- simple not existing external file
-
-notThere	:: XmlTree
-notThere	= newDocument "notThere.xml"		-- does not exist
-
--- |
--- These test check the access to external files
--- and error reporting in case of input or parse errors
--- Some test issue tree like trace output of the documents read
--- to show the internal structure and nesting
-
-inputTests	:: Test
-inputTests
-    = TestLabel "input tests" $
-      TestList
-      [ testStateFilter "mini1.xml"
-	                        ( putXmlTree .>>
-				  liftMf (getValue a_source)
-				)					mini1
-      , testStateFilter ok	( liftMf (getValue a_status)
-				)					mini1
-      , testStateFilter ""	( liftMf getChildren
-				)					mini1
-      , testStateFilter "<x/>"	( getXmlContents .>>
-				  putXmlTree .>>
-				  liftMf getChildren
-				)					mini1
-      , testStateFilter ok	( getXmlContents .>>
-				  liftMf (getValue a_status)
-				)					mini1
-      , testStateFilter "4"	( getXmlContents .>>
-				  liftMf getContentLength .>>
-				  putXmlTree .>>
-				  liftMf (getValue a_contentLength)
-				)					mini1
-      , testStateFilter ok	( getXmlContents .>>
-				  liftMf (getValue a_status)
-				)					mini2
-      , testStateFilter ""	( getXmlContents .>>
-				  putXmlTree .>>
-				  liftMf getChildren
-				)					notThere
-      , testStateFilter fat	( getXmlContents .>>
-				  liftMf (getValue a_status)
-				)					notThere
-      ]
-    where
-    ok	= show c_ok
-    fat	= show c_fatal
-
--- |
--- A few tests for removing parts of a document tree.
--- As input tree the document in file mini2.xml is used.
-
-removeTests	:: Test
-removeTests
-    = TestLabel "document transformation tests" $
-      TestList
-      [ testEditFilter allText	getAllText				mini2
-      , testEditFilter allData  (removeAllWhiteSpace .> getAllText)	mini2
-      , testEditFilter allImp	(removeIgnorableData .> getAllText)	mini2
-      , testEditFilter allDat	(removeMeta .> getAllText)		mini2
-      ]
-    where
-    getAllText			= deep isXText
-    containsUnknownOrIgnore	= getChildren .> ( isText "unknown"
-						   +++
-						   isText "ignore"
-						 )
-    removeIgnorableData		= processTopDown ( none
-						   `when`
-						   ( isTag "data" .> containsUnknownOrIgnore )
-						 )
-    removeMeta			= processTopDown ( none
-						   `when`
-						   ( isTag "data" .> hasValue "class" ( == "meta" ) )
-						 )
-    allText	= " ignore unknown important important "
-    allData	= "ignoreunknownimportantimportant"
-    allImp	= "   important important "
-    allDat	= " ignore  important  "
-
-
-ys :: XmlTree
-ys = head $
-     tag "s:Envelope"
-     [ sattr "xmlns:s" "http://schemas.xmlsoap.org/soap/envelope/",
-       sattr "xmlns:xenc" "http://www.w3.org/2001/04/xmlenc#",
-       sattr "xmlns:eg" "http://example.org/paymentv2",
-       sattr "xmlns:wsse" "http://schemas.xmlsoap.org/ws/2002/12/secext"
-     ]
-     [ stag "s:Header"
-       [ stag "wsse:Security"
-         [ tag "wsse:BinarySecurityToken"
-           [ sattr "ValueType" "wsse:Kerberosv5ST",
-             sattr "EncodingType" "wsse:Base64Binary"
-           ]
-           [ txt "QMwcAG ..."
-           ]
-	 ]
-       ],
-       stag "s:Body"
-       [ stag "eg:OrderCurrency"
-         [ stag "eg:Name"
-           [ txt "John Smith" ],
-	   tag "eg:Amount"
-           [ sattr "Currency" "'USD'" ]
-	   [ txt "1000" ],
-	   tag "eg:CreditCard"
-           [ sattr "Limit" "'5000'",
-	     sattr "Currency" "'GBP'"
-	   ]
-	   [ stag "xenc:EncryptedData"
-             [ atag "xenc:EncryptionMethod"
-               [ sattr "Algorithm" "http://www.w3.org/2001/04/xmlenc#tripledes-cbc" ]
-             ],
-	     stag "xenc:CipherData"
-             [ stag "xenc:CipherValue"
-               [ txt "r5KipsDV ..." ]
-             ]
-	   ]
-         ]
-       ]
-     ]
-     .> propagateNamespaces
-     .> indentDoc
-     $ undefined
-
-
-main	:: IO ()
-main
-    = do
-      c <- runTestTT allTests
-      putStrLn $ show c
-      let errs = errors c
-	  fails = failures c
-      System.exitWith (codeGet errs fails)
-
-codeGet	:: Int -> Int -> ExitCode
-codeGet errs fails
-    | fails > 0       = ExitFailure 2
-    | errs > 0        = ExitFailure 1
-    | otherwise       = ExitSuccess
-
--- ----------------------------------------------------------
diff --git a/examples/hunit/Makefile b/examples/hunit/Makefile
deleted file mode 100644
--- a/examples/hunit/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# $Id: Makefile,v 1.6 2005/04/14 12:52:51 hxml Exp $
-
-HXT_HOME	= ../..
-PKGFLAGS	=
-GHCFLAGS	= -Wall -O2
-GHC		= ghc $(GHCFLAGS) $(PKGFLAGS)
-
-prog		= ./HUnitExample
-
-all		: $(prog)
-
-force		:
-		$(GHC) --make $(GHCPACKAGES) -o $(prog) $(prog).hs
-
-$(prog)		: $(prog).hs
-		$(GHC) --make $(GHCPACKAGES) -o $@ $<
-
-test		: $(prog)
-		@echo "===> run HUnit examples" ; echo ; sleep 2
-		$(prog)
-
-DIST		= $(HXT_HOME)/dist/examples
-DIST_DIR	= $(DIST)/hunit
-DIST_FILES	= mini1.xml mini2.xml Makefile $(prog).hs
-
-dist		:
-		[ -d $(DIST_DIR) ] || mkdir -p $(DIST_DIR)
-		cp $(DIST_FILES) $(DIST_DIR)
-
-clean		:
-		rm -f $(prog) $(prog).o $(prog).hi
-
diff --git a/examples/hunit/mini1.xml b/examples/hunit/mini1.xml
deleted file mode 100644
--- a/examples/hunit/mini1.xml
+++ /dev/null
@@ -1,1 +0,0 @@
-<x/>
diff --git a/examples/hunit/mini2.xml b/examples/hunit/mini2.xml
deleted file mode 100644
--- a/examples/hunit/mini2.xml
+++ /dev/null
@@ -1,1 +0,0 @@
-<data> <data class="data">ignore</data> <data class="meta">unknown</data> <data><data class="data">important</data> <data class="meta">important</data></data> </data>
diff --git a/examples/mini/Makefile b/examples/mini/Makefile
deleted file mode 100644
--- a/examples/mini/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# $Id: Makefile,v 1.5 2005/04/14 12:52:52 hxml Exp $
-
-HXT_HOME	= ../..
-PKGFLAGS	=
-GHCFLAGS	= -Wall -O2
-GHC		= ghc $(GHCFLAGS) $(PKGFLAGS)
-
-prog		= ./ParseExample
-
-all		: $(prog)
-
-force		:
-		$(GHC) --make -o $(prog) $(prog).hs
-
-$(prog)		: $(prog).hs
-		$(GHC) --make -o $@ $<
-
-test		: $(prog)
-		@echo "===> a very simple test"
-		@echo "===> a xml source"
-		@cat example1.xml
-		@sleep 2; echo "===> parse, validate and normalise the document"
-		$(prog) example1.xml
-
-DIST		= $(HXT_HOME)/dist/examples
-DIST_DIR	= $(DIST)/mini
-
-dist		:
-		[ -d $(DIST_DIR) ] || mkdir -p $(DIST_DIR)
-		cp example1.xml Makefile $(prog).hs $(DIST_DIR)
-
-clean		:
-		rm -f $(prog) *.o *.hi
-
diff --git a/examples/mini/ParseExample.hs b/examples/mini/ParseExample.hs
deleted file mode 100644
--- a/examples/mini/ParseExample.hs
+++ /dev/null
@@ -1,50 +0,0 @@
--- |
--- This is a simple example for parsing and validating an XML file and printing the generated
--- XmlTree to standard out.
---
--- Author : .\\artin Schmidt
--- Version : $Id: ParseExample.hs,v 1.4 2004/09/02 19:11:53 hxml Exp $
-
-module Main(main)
-where
-
-import Text.XML.HXT.Parser
-
-import System.IO
-import System
-
---
--- call this program with a single parameter for the file or uri to be processed
--- e.g. ParseExample example1.xml
-
-main :: IO ()
-main
-    = do
-      argv <- getArgs
-			      -- take the first cmdline argument as source name
-			      -- start the XState monad with the runParser command
-      res  <- run' $ parser [(a_source, head argv)] emptyRoot
-      exitProg res
-
--- run a command in the XState monad.
--- this monad includes the IO monad, a system state for global options
--- and a user definable state (type parameter state). This user state is
--- set to () (the empty state) by the run' command.
--- There are more general run commands: run, run0 in case of a proccessing
--- function, that requires e.g. an environment
-
-parser	:: Attributes -> XmlStateFilter ()
-parser al
-    = parseDocument al
-      .>>
-      writeDocument [(a_indent, v_1)]	-- indent document and output to stdout
-      .>>
-      checkStatus			-- check status
-
--- ------------------------------------------------------------
-
-exitProg	:: [a] -> IO ()
-exitProg []	= exitWith (ExitFailure (-1))
-exitProg _	= exitWith ExitSuccess
-
--- ------------------------------------------------------------
diff --git a/examples/mini/example1.xml b/examples/mini/example1.xml
deleted file mode 100644
--- a/examples/mini/example1.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-
-<!DOCTYPE a [
-<!ATTLIST a  att1  NMTOKENS  #IMPLIED
-             att2  ID        #REQUIRED>
-<!ATTLIST b  btt2  ID        #REQUIRED
-             btt3  IDREF     #REQUIRED>
-<!ELEMENT a  (b, cü?)>
-<!ELEMENT b  EMPTY>
-<!ELEMENT cü (#PCDATA)>
-]>
-
-<?pi a processing instruction?>
-
-<a att1=" test
-          äöüß
-          test "
-   att2="root"
->
-    <b btt2="b1" btt3="root"/>
-    <cü>hello world äöüß test</cü>
-</a>
diff --git a/examples/xhtml/xhtml-lat1.ent b/examples/xhtml/xhtml-lat1.ent
deleted file mode 100644
--- a/examples/xhtml/xhtml-lat1.ent
+++ /dev/null
@@ -1,196 +0,0 @@
-<!-- Portions (C) International Organization for Standardization 1986
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-<!-- Character entity set. Typical invocation:
-    <!ENTITY % HTMLlat1 PUBLIC
-       "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-       "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
-    %HTMLlat1;
--->
-
-<!ENTITY nbsp   "&#160;"> <!-- no-break space = non-breaking space,
-                                  U+00A0 ISOnum -->
-<!ENTITY iexcl  "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
-<!ENTITY cent   "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
-<!ENTITY pound  "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
-<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
-<!ENTITY yen    "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
-<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
-                                  U+00A6 ISOnum -->
-<!ENTITY sect   "&#167;"> <!-- section sign, U+00A7 ISOnum -->
-<!ENTITY uml    "&#168;"> <!-- diaeresis = spacing diaeresis,
-                                  U+00A8 ISOdia -->
-<!ENTITY copy   "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
-<!ENTITY ordf   "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
-<!ENTITY laquo  "&#171;"> <!-- left-pointing double angle quotation mark
-                                  = left pointing guillemet, U+00AB ISOnum -->
-<!ENTITY not    "&#172;"> <!-- not sign = discretionary hyphen,
-                                  U+00AC ISOnum -->
-<!ENTITY shy    "&#173;"> <!-- soft hyphen = discretionary hyphen,
-                                  U+00AD ISOnum -->
-<!ENTITY reg    "&#174;"> <!-- registered sign = registered trade mark sign,
-                                  U+00AE ISOnum -->
-<!ENTITY macr   "&#175;"> <!-- macron = spacing macron = overline
-                                  = APL overbar, U+00AF ISOdia -->
-<!ENTITY deg    "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
-<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
-                                  U+00B1 ISOnum -->
-<!ENTITY sup2   "&#178;"> <!-- superscript two = superscript digit two
-                                  = squared, U+00B2 ISOnum -->
-<!ENTITY sup3   "&#179;"> <!-- superscript three = superscript digit three
-                                  = cubed, U+00B3 ISOnum -->
-<!ENTITY acute  "&#180;"> <!-- acute accent = spacing acute,
-                                  U+00B4 ISOdia -->
-<!ENTITY micro  "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
-<!ENTITY para   "&#182;"> <!-- pilcrow sign = paragraph sign,
-                                  U+00B6 ISOnum -->
-<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
-                                  = Greek middle dot, U+00B7 ISOnum -->
-<!ENTITY cedil  "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
-<!ENTITY sup1   "&#185;"> <!-- superscript one = superscript digit one,
-                                  U+00B9 ISOnum -->
-<!ENTITY ordm   "&#186;"> <!-- masculine ordinal indicator,
-                                  U+00BA ISOnum -->
-<!ENTITY raquo  "&#187;"> <!-- right-pointing double angle quotation mark
-                                  = right pointing guillemet, U+00BB ISOnum -->
-<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
-                                  = fraction one quarter, U+00BC ISOnum -->
-<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
-                                  = fraction one half, U+00BD ISOnum -->
-<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
-                                  = fraction three quarters, U+00BE ISOnum -->
-<!ENTITY iquest "&#191;"> <!-- inverted question mark
-                                  = turned question mark, U+00BF ISOnum -->
-<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
-                                  = latin capital letter A grave,
-                                  U+00C0 ISOlat1 -->
-<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
-                                  U+00C1 ISOlat1 -->
-<!ENTITY Acirc  "&#194;"> <!-- latin capital letter A with circumflex,
-                                  U+00C2 ISOlat1 -->
-<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
-                                  U+00C3 ISOlat1 -->
-<!ENTITY Auml   "&#196;"> <!-- latin capital letter A with diaeresis,
-                                  U+00C4 ISOlat1 -->
-<!ENTITY Aring  "&#197;"> <!-- latin capital letter A with ring above
-                                  = latin capital letter A ring,
-                                  U+00C5 ISOlat1 -->
-<!ENTITY AElig  "&#198;"> <!-- latin capital letter AE
-                                  = latin capital ligature AE,
-                                  U+00C6 ISOlat1 -->
-<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
-                                  U+00C7 ISOlat1 -->
-<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
-                                  U+00C8 ISOlat1 -->
-<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
-                                  U+00C9 ISOlat1 -->
-<!ENTITY Ecirc  "&#202;"> <!-- latin capital letter E with circumflex,
-                                  U+00CA ISOlat1 -->
-<!ENTITY Euml   "&#203;"> <!-- latin capital letter E with diaeresis,
-                                  U+00CB ISOlat1 -->
-<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
-                                  U+00CC ISOlat1 -->
-<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
-                                  U+00CD ISOlat1 -->
-<!ENTITY Icirc  "&#206;"> <!-- latin capital letter I with circumflex,
-                                  U+00CE ISOlat1 -->
-<!ENTITY Iuml   "&#207;"> <!-- latin capital letter I with diaeresis,
-                                  U+00CF ISOlat1 -->
-<!ENTITY ETH    "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
-<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
-                                  U+00D1 ISOlat1 -->
-<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
-                                  U+00D2 ISOlat1 -->
-<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
-                                  U+00D3 ISOlat1 -->
-<!ENTITY Ocirc  "&#212;"> <!-- latin capital letter O with circumflex,
-                                  U+00D4 ISOlat1 -->
-<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
-                                  U+00D5 ISOlat1 -->
-<!ENTITY Ouml   "&#214;"> <!-- latin capital letter O with diaeresis,
-                                  U+00D6 ISOlat1 -->
-<!ENTITY times  "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
-<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
-                                  = latin capital letter O slash,
-                                  U+00D8 ISOlat1 -->
-<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
-                                  U+00D9 ISOlat1 -->
-<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
-                                  U+00DA ISOlat1 -->
-<!ENTITY Ucirc  "&#219;"> <!-- latin capital letter U with circumflex,
-                                  U+00DB ISOlat1 -->
-<!ENTITY Uuml   "&#220;"> <!-- latin capital letter U with diaeresis,
-                                  U+00DC ISOlat1 -->
-<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
-                                  U+00DD ISOlat1 -->
-<!ENTITY THORN  "&#222;"> <!-- latin capital letter THORN,
-                                  U+00DE ISOlat1 -->
-<!ENTITY szlig  "&#223;"> <!-- latin small letter sharp s = ess-zed,
-                                  U+00DF ISOlat1 -->
-<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
-                                  = latin small letter a grave,
-                                  U+00E0 ISOlat1 -->
-<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
-                                  U+00E1 ISOlat1 -->
-<!ENTITY acirc  "&#226;"> <!-- latin small letter a with circumflex,
-                                  U+00E2 ISOlat1 -->
-<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
-                                  U+00E3 ISOlat1 -->
-<!ENTITY auml   "&#228;"> <!-- latin small letter a with diaeresis,
-                                  U+00E4 ISOlat1 -->
-<!ENTITY aring  "&#229;"> <!-- latin small letter a with ring above
-                                  = latin small letter a ring,
-                                  U+00E5 ISOlat1 -->
-<!ENTITY aelig  "&#230;"> <!-- latin small letter ae
-                                  = latin small ligature ae, U+00E6 ISOlat1 -->
-<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
-                                  U+00E7 ISOlat1 -->
-<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
-                                  U+00E8 ISOlat1 -->
-<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
-                                  U+00E9 ISOlat1 -->
-<!ENTITY ecirc  "&#234;"> <!-- latin small letter e with circumflex,
-                                  U+00EA ISOlat1 -->
-<!ENTITY euml   "&#235;"> <!-- latin small letter e with diaeresis,
-                                  U+00EB ISOlat1 -->
-<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
-                                  U+00EC ISOlat1 -->
-<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
-                                  U+00ED ISOlat1 -->
-<!ENTITY icirc  "&#238;"> <!-- latin small letter i with circumflex,
-                                  U+00EE ISOlat1 -->
-<!ENTITY iuml   "&#239;"> <!-- latin small letter i with diaeresis,
-                                  U+00EF ISOlat1 -->
-<!ENTITY eth    "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
-<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
-                                  U+00F1 ISOlat1 -->
-<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
-                                  U+00F2 ISOlat1 -->
-<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
-                                  U+00F3 ISOlat1 -->
-<!ENTITY ocirc  "&#244;"> <!-- latin small letter o with circumflex,
-                                  U+00F4 ISOlat1 -->
-<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
-                                  U+00F5 ISOlat1 -->
-<!ENTITY ouml   "&#246;"> <!-- latin small letter o with diaeresis,
-                                  U+00F6 ISOlat1 -->
-<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
-<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
-                                  = latin small letter o slash,
-                                  U+00F8 ISOlat1 -->
-<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
-                                  U+00F9 ISOlat1 -->
-<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
-                                  U+00FA ISOlat1 -->
-<!ENTITY ucirc  "&#251;"> <!-- latin small letter u with circumflex,
-                                  U+00FB ISOlat1 -->
-<!ENTITY uuml   "&#252;"> <!-- latin small letter u with diaeresis,
-                                  U+00FC ISOlat1 -->
-<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
-                                  U+00FD ISOlat1 -->
-<!ENTITY thorn  "&#254;"> <!-- latin small letter thorn with,
-                                  U+00FE ISOlat1 -->
-<!ENTITY yuml   "&#255;"> <!-- latin small letter y with diaeresis,
-                                  U+00FF ISOlat1 -->
diff --git a/examples/xhtml/xhtml-special.ent b/examples/xhtml/xhtml-special.ent
deleted file mode 100644
--- a/examples/xhtml/xhtml-special.ent
+++ /dev/null
@@ -1,79 +0,0 @@
-<!-- Special characters for HTML -->
-
-<!-- Character entity set. Typical invocation:
-     <!ENTITY % HTMLspecial PUBLIC
-        "-//W3C//ENTITIES Special for XHTML//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
-     %HTMLspecial;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
-     New names (i.e., not in ISO 8879 list) do not clash with any
-     existing ISO 8879 entity names. ISO 10646 character numbers
-     are given for each character, in hex. values are decimal
-     conversions of the ISO 10646 values and refer to the document
-     character set. Names are Unicode names. 
--->
-
-<!-- C0 Controls and Basic Latin -->
-<!ENTITY quot    "&#34;"> <!--  quotation mark = APL quote,
-                                    U+0022 ISOnum -->
-<!ENTITY amp     "&#38;#38;"> <!--  ampersand, U+0026 ISOnum -->
-<!ENTITY lt      "&#38;#60;"> <!--  less-than sign, U+003C ISOnum -->
-<!ENTITY gt      "&#62;"> <!--  greater-than sign, U+003E ISOnum -->
-<!ENTITY apos	 "&#39;"> <!--  apostrophe mark, U+0027 ISOnum -->
-
-<!-- Latin Extended-A -->
-<!ENTITY OElig   "&#338;"> <!--  latin capital ligature OE,
-                                    U+0152 ISOlat2 -->
-<!ENTITY oelig   "&#339;"> <!--  latin small ligature oe, U+0153 ISOlat2 -->
-<!-- ligature is a misnomer, this is a separate character in some languages -->
-<!ENTITY Scaron  "&#352;"> <!--  latin capital letter S with caron,
-                                    U+0160 ISOlat2 -->
-<!ENTITY scaron  "&#353;"> <!--  latin small letter s with caron,
-                                    U+0161 ISOlat2 -->
-<!ENTITY Yuml    "&#376;"> <!--  latin capital letter Y with diaeresis,
-                                    U+0178 ISOlat2 -->
-
-<!-- Spacing Modifier Letters -->
-<!ENTITY circ    "&#710;"> <!--  modifier letter circumflex accent,
-                                    U+02C6 ISOpub -->
-<!ENTITY tilde   "&#732;"> <!--  small tilde, U+02DC ISOdia -->
-
-<!-- General Punctuation -->
-<!ENTITY ensp    "&#8194;"> <!-- en space, U+2002 ISOpub -->
-<!ENTITY emsp    "&#8195;"> <!-- em space, U+2003 ISOpub -->
-<!ENTITY thinsp  "&#8201;"> <!-- thin space, U+2009 ISOpub -->
-<!ENTITY zwnj    "&#8204;"> <!-- zero width non-joiner,
-                                    U+200C NEW RFC 2070 -->
-<!ENTITY zwj     "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
-<!ENTITY lrm     "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
-<!ENTITY rlm     "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
-<!ENTITY ndash   "&#8211;"> <!-- en dash, U+2013 ISOpub -->
-<!ENTITY mdash   "&#8212;"> <!-- em dash, U+2014 ISOpub -->
-<!ENTITY lsquo   "&#8216;"> <!-- left single quotation mark,
-                                    U+2018 ISOnum -->
-<!ENTITY rsquo   "&#8217;"> <!-- right single quotation mark,
-                                    U+2019 ISOnum -->
-<!ENTITY sbquo   "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
-<!ENTITY ldquo   "&#8220;"> <!-- left double quotation mark,
-                                    U+201C ISOnum -->
-<!ENTITY rdquo   "&#8221;"> <!-- right double quotation mark,
-                                    U+201D ISOnum -->
-<!ENTITY bdquo   "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
-<!ENTITY dagger  "&#8224;"> <!-- dagger, U+2020 ISOpub -->
-<!ENTITY Dagger  "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
-<!ENTITY permil  "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
-<!ENTITY lsaquo  "&#8249;"> <!-- single left-pointing angle quotation mark,
-                                    U+2039 ISO proposed -->
-<!-- lsaquo is proposed but not yet ISO standardized -->
-<!ENTITY rsaquo  "&#8250;"> <!-- single right-pointing angle quotation mark,
-                                    U+203A ISO proposed -->
-<!-- rsaquo is proposed but not yet ISO standardized -->
-<!ENTITY euro   "&#8364;"> <!--  euro sign, U+20AC NEW -->
diff --git a/examples/xhtml/xhtml-symbol.ent b/examples/xhtml/xhtml-symbol.ent
deleted file mode 100644
--- a/examples/xhtml/xhtml-symbol.ent
+++ /dev/null
@@ -1,242 +0,0 @@
-<!-- Mathematical, Greek and Symbolic characters for HTML -->
-
-<!-- Character entity set. Typical invocation:
-     <!ENTITY % HTMLsymbol PUBLIC
-        "-//W3C//ENTITIES Symbols for XHTML//EN"
-        "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
-     %HTMLsymbol;
--->
-
-<!-- Portions (C) International Organization for Standardization 1986:
-     Permission to copy in any form is granted for use with
-     conforming SGML systems and applications as defined in
-     ISO 8879, provided this notice is included in all copies.
--->
-
-<!-- Relevant ISO entity set is given unless names are newly introduced.
-     New names (i.e., not in ISO 8879 list) do not clash with any
-     existing ISO 8879 entity names. ISO 10646 character numbers
-     are given for each character, in hex. values are decimal
-     conversions of the ISO 10646 values and refer to the document
-     character set. Names are Unicode names. 
--->
-
-<!-- Latin Extended-B -->
-<!ENTITY fnof     "&#402;"> <!-- latin small f with hook = function
-                                    = florin, U+0192 ISOtech -->
-
-<!-- Greek -->
-<!ENTITY Alpha    "&#913;"> <!-- greek capital letter alpha, U+0391 -->
-<!ENTITY Beta     "&#914;"> <!-- greek capital letter beta, U+0392 -->
-<!ENTITY Gamma    "&#915;"> <!-- greek capital letter gamma,
-                                    U+0393 ISOgrk3 -->
-<!ENTITY Delta    "&#916;"> <!-- greek capital letter delta,
-                                    U+0394 ISOgrk3 -->
-<!ENTITY Epsilon  "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
-<!ENTITY Zeta     "&#918;"> <!-- greek capital letter zeta, U+0396 -->
-<!ENTITY Eta      "&#919;"> <!-- greek capital letter eta, U+0397 -->
-<!ENTITY Theta    "&#920;"> <!-- greek capital letter theta,
-                                    U+0398 ISOgrk3 -->
-<!ENTITY Iota     "&#921;"> <!-- greek capital letter iota, U+0399 -->
-<!ENTITY Kappa    "&#922;"> <!-- greek capital letter kappa, U+039A -->
-<!ENTITY Lambda   "&#923;"> <!-- greek capital letter lambda,
-                                    U+039B ISOgrk3 -->
-<!ENTITY Mu       "&#924;"> <!-- greek capital letter mu, U+039C -->
-<!ENTITY Nu       "&#925;"> <!-- greek capital letter nu, U+039D -->
-<!ENTITY Xi       "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
-<!ENTITY Omicron  "&#927;"> <!-- greek capital letter omicron, U+039F -->
-<!ENTITY Pi       "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
-<!ENTITY Rho      "&#929;"> <!-- greek capital letter rho, U+03A1 -->
-<!-- there is no Sigmaf, and no U+03A2 character either -->
-<!ENTITY Sigma    "&#931;"> <!-- greek capital letter sigma,
-                                    U+03A3 ISOgrk3 -->
-<!ENTITY Tau      "&#932;"> <!-- greek capital letter tau, U+03A4 -->
-<!ENTITY Upsilon  "&#933;"> <!-- greek capital letter upsilon,
-                                    U+03A5 ISOgrk3 -->
-<!ENTITY Phi      "&#934;"> <!-- greek capital letter phi,
-                                    U+03A6 ISOgrk3 -->
-<!ENTITY Chi      "&#935;"> <!-- greek capital letter chi, U+03A7 -->
-<!ENTITY Psi      "&#936;"> <!-- greek capital letter psi,
-                                    U+03A8 ISOgrk3 -->
-<!ENTITY Omega    "&#937;"> <!-- greek capital letter omega,
-                                    U+03A9 ISOgrk3 -->
-
-<!ENTITY alpha    "&#945;"> <!-- greek small letter alpha,
-                                    U+03B1 ISOgrk3 -->
-<!ENTITY beta     "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
-<!ENTITY gamma    "&#947;"> <!-- greek small letter gamma,
-                                    U+03B3 ISOgrk3 -->
-<!ENTITY delta    "&#948;"> <!-- greek small letter delta,
-                                    U+03B4 ISOgrk3 -->
-<!ENTITY epsilon  "&#949;"> <!-- greek small letter epsilon,
-                                    U+03B5 ISOgrk3 -->
-<!ENTITY zeta     "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
-<!ENTITY eta      "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
-<!ENTITY theta    "&#952;"> <!-- greek small letter theta,
-                                    U+03B8 ISOgrk3 -->
-<!ENTITY iota     "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
-<!ENTITY kappa    "&#954;"> <!-- greek small letter kappa,
-                                    U+03BA ISOgrk3 -->
-<!ENTITY lambda   "&#955;"> <!-- greek small letter lambda,
-                                    U+03BB ISOgrk3 -->
-<!ENTITY mu       "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
-<!ENTITY nu       "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
-<!ENTITY xi       "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
-<!ENTITY omicron  "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
-<!ENTITY pi       "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
-<!ENTITY rho      "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
-<!ENTITY sigmaf   "&#962;"> <!-- greek small letter final sigma,
-                                    U+03C2 ISOgrk3 -->
-<!ENTITY sigma    "&#963;"> <!-- greek small letter sigma,
-                                    U+03C3 ISOgrk3 -->
-<!ENTITY tau      "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
-<!ENTITY upsilon  "&#965;"> <!-- greek small letter upsilon,
-                                    U+03C5 ISOgrk3 -->
-<!ENTITY phi      "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
-<!ENTITY chi      "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
-<!ENTITY psi      "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
-<!ENTITY omega    "&#969;"> <!-- greek small letter omega,
-                                    U+03C9 ISOgrk3 -->
-<!ENTITY thetasym "&#977;"> <!-- greek small letter theta symbol,
-                                    U+03D1 NEW -->
-<!ENTITY upsih    "&#978;"> <!-- greek upsilon with hook symbol,
-                                    U+03D2 NEW -->
-<!ENTITY piv      "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
-
-<!-- General Punctuation -->
-<!ENTITY bull     "&#8226;"> <!-- bullet = black small circle,
-                                     U+2022 ISOpub  -->
-<!-- bullet is NOT the same as bullet operator, U+2219 -->
-<!ENTITY hellip   "&#8230;"> <!-- horizontal ellipsis = three dot leader,
-                                     U+2026 ISOpub  -->
-<!ENTITY prime    "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
-<!ENTITY Prime    "&#8243;"> <!-- double prime = seconds = inches,
-                                     U+2033 ISOtech -->
-<!ENTITY oline    "&#8254;"> <!-- overline = spacing overscore,
-                                     U+203E NEW -->
-<!ENTITY frasl    "&#8260;"> <!-- fraction slash, U+2044 NEW -->
-
-<!-- Letterlike Symbols -->
-<!ENTITY weierp   "&#8472;"> <!-- script capital P = power set
-                                     = Weierstrass p, U+2118 ISOamso -->
-<!ENTITY image    "&#8465;"> <!-- blackletter capital I = imaginary part,
-                                     U+2111 ISOamso -->
-<!ENTITY real     "&#8476;"> <!-- blackletter capital R = real part symbol,
-                                     U+211C ISOamso -->
-<!ENTITY trade    "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
-<!ENTITY alefsym  "&#8501;"> <!-- alef symbol = first transfinite cardinal,
-                                     U+2135 NEW -->
-<!-- alef symbol is NOT the same as hebrew letter alef,
-     U+05D0 although the same glyph could be used to depict both characters -->
-
-<!-- Arrows -->
-<!ENTITY larr     "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
-<!ENTITY uarr     "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
-<!ENTITY rarr     "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
-<!ENTITY darr     "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
-<!ENTITY harr     "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
-<!ENTITY crarr    "&#8629;"> <!-- downwards arrow with corner leftwards
-                                     = carriage return, U+21B5 NEW -->
-<!ENTITY lArr     "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
-<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
-    but also does not have any other character for that function. So ? lArr can
-    be used for 'is implied by' as ISOtech suggests -->
-<!ENTITY uArr     "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
-<!ENTITY rArr     "&#8658;"> <!-- rightwards double arrow,
-                                     U+21D2 ISOtech -->
-<!-- Unicode does not say this is the 'implies' character but does not have 
-     another character with this function so ?
-     rArr can be used for 'implies' as ISOtech suggests -->
-<!ENTITY dArr     "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
-<!ENTITY hArr     "&#8660;"> <!-- left right double arrow,
-                                     U+21D4 ISOamsa -->
-
-<!-- Mathematical Operators -->
-<!ENTITY forall   "&#8704;"> <!-- for all, U+2200 ISOtech -->
-<!ENTITY part     "&#8706;"> <!-- partial differential, U+2202 ISOtech  -->
-<!ENTITY exist    "&#8707;"> <!-- there exists, U+2203 ISOtech -->
-<!ENTITY empty    "&#8709;"> <!-- empty set = null set = diameter,
-                                     U+2205 ISOamso -->
-<!ENTITY nabla    "&#8711;"> <!-- nabla = backward difference,
-                                     U+2207 ISOtech -->
-<!ENTITY isin     "&#8712;"> <!-- element of, U+2208 ISOtech -->
-<!ENTITY notin    "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
-<!ENTITY ni       "&#8715;"> <!-- contains as member, U+220B ISOtech -->
-<!-- should there be a more memorable name than 'ni'? -->
-<!ENTITY prod     "&#8719;"> <!-- n-ary product = product sign,
-                                     U+220F ISOamsb -->
-<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
-     the same glyph might be used for both -->
-<!ENTITY sum      "&#8721;"> <!-- n-ary sumation, U+2211 ISOamsb -->
-<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
-     though the same glyph might be used for both -->
-<!ENTITY minus    "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
-<!ENTITY lowast   "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
-<!ENTITY radic    "&#8730;"> <!-- square root = radical sign,
-                                     U+221A ISOtech -->
-<!ENTITY prop     "&#8733;"> <!-- proportional to, U+221D ISOtech -->
-<!ENTITY infin    "&#8734;"> <!-- infinity, U+221E ISOtech -->
-<!ENTITY ang      "&#8736;"> <!-- angle, U+2220 ISOamso -->
-<!ENTITY and      "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
-<!ENTITY or       "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
-<!ENTITY cap      "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
-<!ENTITY cup      "&#8746;"> <!-- union = cup, U+222A ISOtech -->
-<!ENTITY int      "&#8747;"> <!-- integral, U+222B ISOtech -->
-<!ENTITY there4   "&#8756;"> <!-- therefore, U+2234 ISOtech -->
-<!ENTITY sim      "&#8764;"> <!-- tilde operator = varies with = similar to,
-                                     U+223C ISOtech -->
-<!-- tilde operator is NOT the same character as the tilde, U+007E,
-     although the same glyph might be used to represent both  -->
-<!ENTITY cong     "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
-<!ENTITY asymp    "&#8776;"> <!-- almost equal to = asymptotic to,
-                                     U+2248 ISOamsr -->
-<!ENTITY ne       "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
-<!ENTITY equiv    "&#8801;"> <!-- identical to, U+2261 ISOtech -->
-<!ENTITY le       "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
-<!ENTITY ge       "&#8805;"> <!-- greater-than or equal to,
-                                     U+2265 ISOtech -->
-<!ENTITY sub      "&#8834;"> <!-- subset of, U+2282 ISOtech -->
-<!ENTITY sup      "&#8835;"> <!-- superset of, U+2283 ISOtech -->
-<!-- note that nsup, 'not a superset of, U+2283' is not covered by the Symbol 
-     font encoding and is not included. Should it be, for symmetry?
-     It is in ISOamsn  --> 
-<!ENTITY nsub     "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
-<!ENTITY sube     "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
-<!ENTITY supe     "&#8839;"> <!-- superset of or equal to,
-                                     U+2287 ISOtech -->
-<!ENTITY oplus    "&#8853;"> <!-- circled plus = direct sum,
-                                     U+2295 ISOamsb -->
-<!ENTITY otimes   "&#8855;"> <!-- circled times = vector product,
-                                     U+2297 ISOamsb -->
-<!ENTITY perp     "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
-                                     U+22A5 ISOtech -->
-<!ENTITY sdot     "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
-<!-- dot operator is NOT the same character as U+00B7 middle dot -->
-
-<!-- Miscellaneous Technical -->
-<!ENTITY lceil    "&#8968;"> <!-- left ceiling = apl upstile,
-                                     U+2308 ISOamsc  -->
-<!ENTITY rceil    "&#8969;"> <!-- right ceiling, U+2309 ISOamsc  -->
-<!ENTITY lfloor   "&#8970;"> <!-- left floor = apl downstile,
-                                     U+230A ISOamsc  -->
-<!ENTITY rfloor   "&#8971;"> <!-- right floor, U+230B ISOamsc  -->
-<!ENTITY lang     "&#9001;"> <!-- left-pointing angle bracket = bra,
-                                     U+2329 ISOtech -->
-<!-- lang is NOT the same character as U+003C 'less than' 
-     or U+2039 'single left-pointing angle quotation mark' -->
-<!ENTITY rang     "&#9002;"> <!-- right-pointing angle bracket = ket,
-                                     U+232A ISOtech -->
-<!-- rang is NOT the same character as U+003E 'greater than' 
-     or U+203A 'single right-pointing angle quotation mark' -->
-
-<!-- Geometric Shapes -->
-<!ENTITY loz      "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
-
-<!-- Miscellaneous Symbols -->
-<!ENTITY spades   "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
-<!-- black here seems to mean filled as opposed to hollow -->
-<!ENTITY clubs    "&#9827;"> <!-- black club suit = shamrock,
-                                     U+2663 ISOpub -->
-<!ENTITY hearts   "&#9829;"> <!-- black heart suit = valentine,
-                                     U+2665 ISOpub -->
-<!ENTITY diams    "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
diff --git a/examples/xhtml/xhtml.xml b/examples/xhtml/xhtml.xml
deleted file mode 100644
--- a/examples/xhtml/xhtml.xml
+++ /dev/null
@@ -1,1484 +0,0 @@
-<!DOCTYPE html SYSTEM "xhtml1-strict.dtd">
-<?xml-stylesheet href="http://www.w3.org/StyleSheets/TR/W3C-REC.css" type="text/css"?>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-<head>
-<title>XHTML 1.0: The Extensible HyperText Markup
-Language</title>
-<link rel="stylesheet"
-href="http://www.w3.org/StyleSheets/TR/W3C-REC.css" type="text/css" />
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<style type="text/css">
-span.term { font-style: italic; color: rgb(0, 0, 192) }
-code {
-	color: green;
-	font-family: monospace;
-	font-weight: bold;
-}
-
-code.greenmono {
-	color: green;
-	font-family: monospace;
-	font-weight: bold;
-}
-.good {
-	border: solid green;
-	border-width: 2px;
-	color: green;
-	font-weight: bold;
-	margin-right: 5%;
-	margin-left: 0;
-}
-.bad  {
-	border: solid red;
-	border-width: 2px;
-	margin-left: 0;
-	margin-right: 5%;
-	color: rgb(192, 101, 101);
-}
-
-img {
-	color: white;
-	border: none;
-}
-
-div.navbar { text-align: center; }
-div.contents {
-	background-color: rgb(204,204,255);
-	padding: 0.5em;
-	border: none;
-	margin-right: 5%;
-}
-.tocline { list-style: none; }
-table.exceptions { background-color: rgb(255,255,153); }
-</style>
-</head>
-<body>
-<div class="navbar">
-  <a href="#toc">table of contents</a>
-  <hr />
-</div>
-<div class="head"><p><a href="http://www.w3.org/"><img class="head"
-src="http://www.w3.org/Icons/WWW/w3c_home.gif" alt="W3C" /></a></p>
-
-<h1 class="head"><a name="title" id="title">XHTML</a><sup>&#8482;</sup> 1.0:
-The Extensible HyperText Markup Language</h1>
-
-<h2>A Reformulation of HTML 4 in XML 1.0</h2>
-
-<h3>W3C Recommendation 26 January 2000</h3>
-
-<dl>
-<dt>This version:</dt>
-
-<dd><a href=
-"http://www.w3.org/TR/2000/REC-xhtml1-20000126">
-http://www.w3.org/TR/2000/REC-xhtml1-20000126</a> <br />
-(<a href="xhtml1.ps">Postscript version</a>,
-<a href="xhtml1.pdf">PDF version</a>,
-<a href="xhtml1.zip">ZIP archive</a>, or
-<a href="xhtml1.tgz">Gzip'd TAR archive</a>)
-</dd>
-
-<dt>Latest version:</dt>
-
-<dd><a href="http://www.w3.org/TR/xhtml1">
-http://www.w3.org/TR/xhtml1</a></dd>
-
-<dt>Previous version:</dt>
-
-<dd><a href=
-"http://www.w3.org/TR/1999/PR-xhtml1-19991210">
-http://www.w3.org/TR/1999/PR-xhtml1-19991210</a></dd>
-
-<dt>Authors:</dt>
-
-<dd>See <a href="#acks">acknowledgements</a>.</dd>
-</dl>
-
-<p class="copyright"><a
-href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright"> Copyright</a>
-&copy;2000 <a href="http://www.w3.org/"><abbr title="World Wide Web
-Consortium">W3C</abbr></a><sup>&reg;</sup> (<a
-href="http://www.lcs.mit.edu/"><abbr
-title="Massachusetts Institute of Technology">MIT</abbr></a>, <a
-href="http://www.inria.fr/"><abbr
-lang="fr" title="Institut National de Recherche en Informatique et
-Automatique">INRIA</abbr></a>, <a
-href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a
-href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
-<a
-href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>,
-<a
-href="http://www.w3.org/Consortium/Legal/copyright-documents-19990405">document
-use</a> and <a
-href="http://www.w3.org/Consortium/Legal/copyright-software-19980720">software
-licensing</a> rules
-apply.</p>
-<hr />
-</div>
-
-<h2 class="notoc">Abstract</h2>
-
-<p>This specification defines <abbr title="Extensible Hypertext Markup
-Language">XHTML</abbr> 1.0, a reformulation of HTML&nbsp;4
-as an XML 1.0 application, and three <abbr title="Document Type
-Definition">DTDs</abbr> corresponding to
-the ones defined by HTML&nbsp;4. The semantics of the elements and
-their attributes are defined in the W3C Recommendation for HTML&nbsp;4.
-These semantics provide the foundation for future
-extensibility of XHTML. Compatibility with existing HTML user
-agents is possible by following a small set of guidelines.</p>
-
-<h2>Status of this document</h2>
-
-<p><em>This section describes the status of this document at the time
-of its publication. Other documents may supersede this document. The
-latest status of this document series is maintained at the W3C.</em></p>
-
-<p>
-This document has been reviewed by W3C Members and other
-interested parties and has been endorsed by the Director
-as a W3C Recommendation. It is a stable document and may be
-used as reference material or cited as a normative
-reference from another document. W3C's role in making the
-Recommendation is to draw attention to the specification and
-to promote its widespread deployment. This enhances the
-functionality and interoperability of the Web.
-</p>
-<p>This document has been produced as part of the <a href=
-"http://www.w3.org/MarkUp/">W3C HTML Activity</a>. The goals of
-the <a href="http://www.w3.org/MarkUp/Group/">HTML Working
-Group</a> <i>(<a href="http://cgi.w3.org/MemberAccess/">members
-only</a>)</i> are discussed in the <a href=
-"http://www.w3.org/MarkUp/Group/HTMLcharter">HTML Working Group
-charter</a> <i>(<a href="http://cgi.w3.org/MemberAccess/">members
-only</a>)</i>.</p>
-
-<p>A list of current W3C Recommendations and other technical documents
-can be found at <a
-href="http://www.w3.org/TR">http://www.w3.org/TR</a>.</p>
-
-<p>Public discussion on <abbr title="HyperText Markup
-Language">HTML</abbr> features takes place on the mailing list <a
-href="mailto:www-html@w3.org"> www-html@w3.org</a> (<a href=
-"http://lists.w3.org/Archives/Public/www-html/">archive</a>).</p>
-
-<p>Please report errors in this document to <a
-href="mailto:www-html-editor@w3.org">www-html-editor@w3.org</a>.</p>
-
-<p>The list of known errors in this specification is available at <a
-href="http://www.w3.org/2000/01/REC-xhtml1-20000126-errata">http://www.w3.org/2000/01/REC-xhtml1-20000126-errata</a>.</p>
-
-<h2 class="notoc"><a id="toc" name="toc">Contents</a></h2>
-
-<div class="contents">
-<ul class="toc">
-<li class="tocline">1. <a href="#xhtml">What is XHTML?</a>
-
-<ul class="toc">
-<li class="tocline">1.1 <a href="#html4">What is HTML 4?</a></li>
-
-<li class="tocline">1.2 <a href="#xml">What is XML?</a></li>
-
-<li class="tocline">1.3 <a href="#why">Why the need for XHTML?</a></li>
-</ul>
-</li>
-
-<li class="tocline">2. <a href="#defs">Definitions</a>
-
-<ul class="toc">
-<li class="tocline">2.1 <a href="#terms">Terminology</a></li>
-
-<li class="tocline">2.2 <a href="#general">General Terms</a></li>
-</ul>
-</li>
-
-<li class="tocline">3. <a href="#normative">Normative Definition of XHTML 1.0</a>
-
-
-<ul class="toc">
-<li class="tocline">3.1 <a href="#docconf">Document Conformance</a></li>
-
-<li class="tocline">3.2 <a href="#uaconf">User Agent Conformance</a></li>
-</ul>
-</li>
-
-<li class="tocline">4. <a href="#diffs">Differences with HTML 4</a>
-
-</li>
-
-<li class="tocline">5. <a href="#issues">Compatibility Issues</a>
-
-<ul class="toc">
-<li class="tocline">5.1 <a href="#media">Internet Media Types</a></li>
-</ul>
-</li>
-
-<li class="tocline">6. <a href="#future">Future Directions</a>
-
-<ul class="toc">
-<li class="tocline">6.1 <a href="#mods">Modularizing HTML</a></li>
-
-<li class="tocline">6.2 <a href="#extensions">Subsets and Extensibility</a></li>
-
-<li class="tocline">6.3 <a href="#profiles">Document Profiles</a></li>
-</ul>
-</li>
-
-<li class="tocline"><a href="#dtds">Appendix A. DTDs</a></li>
-
-<li class="tocline"><a href="#prohibitions">Appendix B. Element
-Prohibitions</a></li>
-
-<li class="tocline"><a href="#guidelines">Appendix C. HTML Compatibility Guidelines</a></li>
-
-<li class="tocline"><a href="#acks">Appendix D. Acknowledgements</a></li>
-
-<li class="tocline"><a href="#refs">Appendix E. References</a></li>
-</ul>
-</div>
-
-<!--OddPage-->
-<h1><a name="xhtml" id="xhtml">1. What is XHTML?</a></h1>
-
-<p>XHTML is a family of current and future document types and modules that
-reproduce, subset, and extend HTML&nbsp;4 <a href="#ref-html4">[HTML]</a>. XHTML family document types are <abbr title="Extensible Markup Language">XML</abbr> based,
-and ultimately are designed to work in conjunction with XML-based user agents.
-The details of this family and its evolution are
-discussed in more detail in the section on <a href="#future">Future
-Directions</a>. </p>
-
-<p>XHTML 1.0 (this specification) is the first document type in the XHTML
-family. It is a reformulation of the three HTML&nbsp;4 document types as
-applications of XML 1.0 <a href="#ref-xml"> [XML]</a>. It is intended
-to be used as a language for content that is both XML-conforming and, if some
-simple <a href="#guidelines">guidelines</a> are followed,
-operates in HTML&nbsp;4 conforming user agents. Developers who migrate
-their content to XHTML 1.0 will realize the following benefits:</p>
-
-<ul>
-<li>XHTML documents are XML conforming. As such, they are readily viewed,
-edited, and validated with standard XML tools.</li>
-<li>XHTML documents can be written to
-to operate as well or better than they did before in existing
-HTML&nbsp;4-conforming user agents as well as in new, XHTML 1.0 conforming user
-agents.</li>
-<li>XHTML documents can utilize applications (e.g. scripts and applets) that rely
-upon either the HTML Document Object Model or the XML Document Object Model <a
-href="#ref-dom">[DOM]</a>.</li>
-<li>As the XHTML family evolves, documents conforming to XHTML 1.0 will be more
-likely to interoperate within and among various XHTML environments.</li>
-</ul>
-
-<p>The XHTML family is the next step in the evolution of the Internet. By
-migrating to XHTML today, content developers can enter the XML world with all
-of its attendant benefits, while still remaining confident in their
-content's backward and future compatibility.</p>
-
-<h2><a name="html4" id="html4">1.1 What is HTML&nbsp;4?</a></h2>
-
-<p>HTML 4 <a href="#ref-html4">[HTML]</a> is an <abbr title="Standard
-Generalized Markup Language">SGML</abbr> (Standard
-Generalized Markup Language) application conforming to
-International Standard <abbr title="Organization for International
-Standardization">ISO</abbr> 8879, and is widely regarded as the
-standard publishing language of the World Wide Web.</p>
-
-<p>SGML is a language for describing markup languages,
-particularly those used in electronic document exchange, document
-management, and document publishing. HTML is an example of a
-language defined in SGML.</p>
-
-<p>SGML has been around since the middle 1980's and has remained
-quite stable. Much of this stability stems from the fact that the
-language is both feature-rich and flexible. This flexibility,
-however, comes at a price, and that price is a level of
-complexity that has inhibited its adoption in a diversity of
-environments, including the World Wide Web.</p>
-
-<p>HTML, as originally conceived, was to be a language for the
-exchange of scientific and other technical documents, suitable
-for use by non-document specialists. HTML addressed the problem
-of SGML complexity by specifying a small set of structural and
-semantic tags suitable for authoring relatively simple documents.
-In addition to simplifying the document structure, HTML added
-support for hypertext. Multimedia capabilities were added
-later.</p>
-
-<p>In a remarkably short space of time, HTML became wildly
-popular and rapidly outgrew its original purpose. Since HTML's
-inception, there has been rapid invention of new elements for use
-within HTML (as a standard) and for adapting HTML to vertical,
-highly specialized, markets. This plethora of new elements has
-led to compatibility problems for documents across different
-platforms.</p>
-
-<p>As the heterogeneity of both software and platforms rapidly
-proliferate, it is clear that the suitability of 'classic' HTML&nbsp;4
-for use on these platforms is somewhat limited.</p>
-
-<h2><a name="xml" id="xml">1.2 What is XML?</a></h2>
-
-<p>XML<sup>&#8482;</sup> is the shorthand for Extensible Markup
-Language, and is an acronym of Extensible Markup Language <a
-href="#ref-xml">[XML]</a>.</p>
-
-<p>XML was conceived as a means of regaining the power and
-flexibility of SGML without most of its complexity. Although a
-restricted form of SGML, XML nonetheless preserves most of SGML's
-power and richness, and yet still retains all of SGML's commonly
-used features.</p>
-
-<p>While retaining these beneficial features, XML removes many of
-the more complex features of SGML that make the authoring and
-design of suitable software both difficult and costly.</p>
-
-<h2><a name="why" id="why">1.3 Why the need for XHTML?</a></h2>
-
-<p>The benefits of migrating to XHTML 1.0 are described above. Some of the
-benefits of migrating to XHTML in general are:</p>
-
-<ul>
-<li>Document developers and user agent designers are constantly
-discovering new ways to express their ideas through new markup. In XML, it is
-relatively easy to introduce new elements or additional element
-attributes.  The XHTML family is designed to accommodate these extensions
-through XHTML modules and techniques for developing new XHTML-conforming
-modules (described in the forthcoming XHTML Modularization specification).
-These modules will permit the combination of existing and
-new feature sets when developing content and when designing new user
-agents.</li>
-
-<li>Alternate ways of accessing the Internet are constantly being
-introduced.  Some estimates indicate that by the year 2002, 75% of
-Internet document viewing will be carried out on these alternate
-platforms.  The XHTML family is designed with general user agent
-interoperability in mind. Through a new user agent and document profiling
-mechanism, servers, proxies, and user agents will be able to perform
-best effort content transformation. Ultimately, it will be possible to
-develop XHTML-conforming content that is usable by any XHTML-conforming
-user agent.</li>
-
-</ul>
-<!--OddPage-->
-<h1><a name="defs" id="defs">2. Definitions</a></h1>
-
-<h2><a name="terms" id="terms">2.1 Terminology</a></h2>
-
-<p>The following terms are used in this specification. These
-terms extend the definitions in <a href="#ref-rfc2119">
-[RFC2119]</a> in ways based upon similar definitions in ISO/<abbr
-title="International Electro-technical Commission">IEC</abbr>
-9945-1:1990 <a href="#ref-posix">[POSIX.1]</a>:</p>
-
-<dl>
-<dt>Implementation-defined</dt>
-
-<dd>A value or behavior is implementation-defined when it is left
-to the implementation to define [and document] the corresponding
-requirements for correct document construction.</dd>
-
-<dt>May</dt>
-
-<dd>With respect to implementations, the word "may" is to be
-interpreted as an optional feature that is not required in this
-specification but can be provided. With respect to <a href=
-"#docconf">Document Conformance</a>, the word "may" means that
-the optional feature must not be used. The term "optional" has
-the same definition as "may".</dd>
-
-<dt>Must</dt>
-
-<dd>In this specification, the word "must" is to be interpreted
-as a mandatory requirement on the implementation or on Strictly
-Conforming XHTML Documents, depending upon the context. The term
-"shall" has the same definition as "must".</dd>
-
-<dt>Reserved</dt>
-
-<dd>A value or behavior is unspecified, but it is not allowed to
-be used by Conforming Documents nor to be supported by a
-Conforming User Agents.</dd>
-
-<dt>Should</dt>
-
-<dd>With respect to implementations, the word "should" is to be
-interpreted as an implementation recommendation, but not a
-requirement. With respect to documents, the word "should" is to
-be interpreted as recommended programming practice for documents
-and a requirement for Strictly Conforming XHTML Documents.</dd>
-
-<dt>Supported</dt>
-
-<dd>Certain facilities in this specification are optional. If a
-facility is supported, it behaves as specified by this
-specification.</dd>
-
-<dt>Unspecified</dt>
-
-<dd>When a value or behavior is unspecified, the specification
-defines no portability requirements for a facility on an
-implementation even when faced with a document that uses the
-facility. A document that requires specific behavior in such an
-instance, rather than tolerating any behavior when using that
-facility, is not a Strictly Conforming XHTML Document.</dd>
-</dl>
-
-<h2><a name="general" id="general">2.2 General Terms</a></h2>
-
-<dl>
-<dt>Attribute</dt>
-
-<dd>An attribute is a parameter to an element declared in the
-DTD. An attribute's type and value range, including a possible
-default value, are defined in the DTD.</dd>
-
-<dt>DTD</dt>
-
-<dd>A DTD, or document type definition, is a collection of XML
-declarations that, as a collection, defines the legal structure,
-<span class="term">elements</span>, and <span class="term">
-attributes</span> that are available for use in a document that
-complies to the DTD.</dd>
-
-<dt>Document</dt>
-
-<dd>A document is a stream of data that, after being combined
-with any other streams it references, is structured such that it
-holds information contained within <span class="term">
-elements</span> that are organized as defined in the associated
-<span class="term">DTD</span>. See <a href="#docconf">Document
-Conformance</a> for more information.</dd>
-
-<dt>Element</dt>
-
-<dd>An element is a document structuring unit declared in the
-<span class="term">DTD</span>. The element's content model is
-defined in the <span class="term">DTD</span>, and additional
-semantics may be defined in the prose description of the
-element.</dd>
-
-<dt><a name="facilities" id="facilities">Facilities</a></dt>
-
-<dd>Functionality includes <span class="term">elements</span>,
-<span class="term">attributes</span>, and the semantics
-associated with those <span class="term">elements</span> and
-<span class="term">attributes</span>. An implementation
-supporting that functionality is said to provide the necessary
-facilities.</dd>
-
-<dt>Implementation</dt>
-
-<dd>An implementation is a system that provides collection of
-<span class="term">facilities</span> and services that supports
-this specification. See <a href="#uaconf">User Agent
-Conformance</a> for more information.</dd>
-
-<dt>Parsing</dt>
-
-<dd>Parsing is the act whereby a <span class="term">
-document</span> is scanned, and the information contained within
-the <span class="term">document</span> is filtered into the
-context of the <span class="term">elements</span> in which the
-information is structured.</dd>
-
-<dt>Rendering</dt>
-
-<dd>Rendering is the act whereby the information in a <span
-class="term">document</span> is presented. This presentation is
-done in the form most appropriate to the environment (e.g.
-aurally, visually, in print).</dd>
-
-<dt>User Agent</dt>
-
-<dd>A user agent is an <span class="term">implementation</span>
-that retrieves and processes XHTML documents. See <a href=
-"#uaconf">User Agent Conformance</a> for more information.</dd>
-
-<dt>Validation</dt>
-
-<dd>Validation is a process whereby <span class="term">
-documents</span> are verified against the associated <span class=
-"term">DTD</span>, ensuring that the structure, use of <span
-class="term">elements</span>, and use of <span class="term">
-attributes</span> are consistent with the definitions in the
-<span class="term">DTD</span>.</dd>
-
-<dt><a name="wellformed" id="wellformed">Well-formed</a></dt>
-
-<dd>A <span class="term">document</span> is well-formed when it
-is structured according to the rules defined in <a href=
-"http://www.w3.org/TR/REC-xml#sec-well-formed">Section 2.1</a> of
-the XML 1.0 Recommendation <a href="#ref-xml">[XML]</a>.
-Basically, this definition states that elements, delimited by
-their start and end tags, are nested properly within one
-another.</dd>
-</dl>
-
-<!--OddPage-->
-<h1><a name="normative" id="normative">3. Normative Definition of
-XHTML 1.0</a></h1>
-
-<h2><a name="docconf" id="docconf">3.1 Document
-Conformance</a></h2>
-
-<p>This version of XHTML provides a definition of strictly
-conforming XHTML documents, which are restricted to tags and
-attributes from the XHTML namespace. See <a href=
-"#well-formed">Section 3.1.2</a> for information on using XHTML
-with other namespaces, for instance, to include metadata
-expressed in <abbr title="Resource Description Format">RDF</abbr> within XHTML documents.</p>
-
-<h3><a name="strict" id="strict">3.1.1 Strictly Conforming
-Documents</a></h3>
-
-<p>A Strictly Conforming XHTML Document is a document that
-requires only the facilities described as mandatory in this
-specification. Such a document must meet all of the following
-criteria:</p>
-
-<ol>
-<li>
-<p>It must validate against one of the three DTDs found in <a
-href="#dtds">Appendix&#160;A</a>.</p>
-</li>
-
-<li>
-<p>The root element of the document must be <code>
-&lt;html&gt;</code>.</p>
-</li>
-
-<li>
-<p>The root element of the document must designate the XHTML
-namespace using the <code>xmlns</code> attribute <a href=
-"#ref-xmlns">[XMLNAMES]</a>. The namespace for XHTML is
-defined to be
-<code>http://www.w3.org/1999/xhtml</code>.</p>
-</li>
-
-<li>
-<p>There must be a DOCTYPE declaration in the document prior to
-the root element. The public identifier included in
-the DOCTYPE declaration must reference one of the three DTDs
-found in <a href="#dtds">Appendix&#160;A</a> using the respective
-Formal Public Identifier. The system identifier may be changed to reflect
-local system conventions.</p>
-
-<pre>
-&lt;!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-     "DTD/xhtml1-strict.dtd"&gt;
-
-&lt;!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-     "DTD/xhtml1-transitional.dtd"&gt;
-
-&lt;!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-     "DTD/xhtml1-frameset.dtd"&gt;
-</pre>
-</li>
-</ol>
-
-<p>Here is an example of a minimal XHTML document.</p>
-
-<div class="good">
-<pre>
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "DTD/xhtml1-strict.dtd"&gt;
-&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
-  &lt;head&gt;
-    &lt;title&gt;Virtual Library&lt;/title&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;p&gt;Moved to &lt;a href="http://vlib.org/"&gt;vlib.org&lt;/a&gt;.&lt;/p&gt;
-  &lt;/body&gt;
-&lt;/html&gt;</pre>
-</div>
-
-<p>Note that in this example, the XML declaration is included. An XML
-declaration like the one above is
-not required in all XML documents. XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required
-when the character encoding of the document is other than the default UTF-8 or
-UTF-16.</p>
-
-<h3><a name="well-formed" id="well-formed">3.1.2 Using XHTML with
-other namespaces</a></h3>
-
-<p>The XHTML namespace may be used with other XML namespaces
-as per <a href="#ref-xmlns">[XMLNAMES]</a>, although such
-documents are not strictly conforming XHTML 1.0 documents as
-defined above. Future work by W3C will address ways to specify
-conformance for documents involving multiple namespaces.</p>
-
-<p>The following example shows the way in which XHTML 1.0 could
-be used in conjunction with the MathML Recommendation:</p>
-
-<div class="good">
-<pre>
-&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
-  &lt;head&gt;
-    &lt;title&gt;A Math Example&lt;/title&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;p&gt;The following is MathML markup:&lt;/p&gt;
-    &lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;
-      &lt;apply&gt; &lt;log/&gt;
-        &lt;logbase&gt;
-          &lt;cn&gt; 3 &lt;/cn&gt;
-        &lt;/logbase&gt;
-        &lt;ci&gt; x &lt;/ci&gt;
-      &lt;/apply&gt;
-    &lt;/math&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-</div>
-
-<p>The following example shows the way in which XHTML 1.0 markup
-could be incorporated into another XML namespace:</p>
-
-<div class="good">
-<pre>
-&lt;?xml version="1.0" encoding="UTF-8"?&gt;
-&lt;!-- initially, the default namespace is "books" --&gt;
-&lt;book xmlns='urn:loc.gov:books'
-    xmlns:isbn='urn:ISBN:0-395-36341-6' xml:lang="en" lang="en"&gt;
-  &lt;title&gt;Cheaper by the Dozen&lt;/title&gt;
-  &lt;isbn:number&gt;1568491379&lt;/isbn:number&gt;
-  &lt;notes&gt;
-    &lt;!-- make HTML the default namespace for a hypertext commentary --&gt;
-    &lt;p xmlns='http://www.w3.org/1999/xhtml'&gt;
-        This is also available &lt;a href="http://www.w3.org/"&gt;online&lt;/a&gt;.
-    &lt;/p&gt;
-  &lt;/notes&gt;
-&lt;/book&gt;
-</pre>
-</div>
-
-<h2><a name="uaconf" id="uaconf">3.2 User Agent
-Conformance</a></h2>
-
-<p>A conforming user agent must meet all of the following
-criteria:</p>
-
-<ol>
-<li>In order to be consistent with the XML 1.0 Recommendation <a
-href="#ref-xml">[XML]</a>, the user agent must parse and evaluate
-an XHTML document for well-formedness. If the user agent claims
-to be a validating user agent, it must also validate documents
-against their referenced DTDs according to <a href="#ref-xml">
-[XML]</a>.</li>
-
-<li>When the user agent claims to support <a href="#facilities">
-facilities</a> defined within this specification or required by
-this specification through normative reference, it must do so in
-ways consistent with the facilities' definition.</li>
-
-<li>When a user agent processes an XHTML document as generic XML,
-it shall only recognize attributes of type
-<code>ID</code> (e.g. the <code>id</code> attribute on most XHTML elements)
-as fragment identifiers.</li>
-
-<li>If a user agent encounters an element it does not recognize,
-it must render the element's content.</li>
-
-<li>If a user agent encounters an attribute it does not
-recognize, it must ignore the entire attribute specification
-(i.e., the attribute and its value).</li>
-
-<li>If a user agent encounters an attribute value it doesn't
-recognize, it must use the default attribute value.</li>
-
-<li>If it encounters an entity reference (other than one
-of the predefined entities) for which the User Agent has
-processed no declaration (which could happen if the declaration
-is in the external subset which the User Agent hasn't read), the entity
-reference should be rendered as the characters (starting
-with the ampersand and ending with the semi-colon) that
-make up the entity reference.</li>
-
-<li>When rendering content, User Agents that encounter
-characters or character entity references that are recognized but not renderable should display the document in such a way that it is obvious to the user that normal rendering has not taken place.</li>
-
-<li>
-The following characters are defined in [XML] as whitespace characters:
-
-<ul>
-<li>Space (&amp;#x0020;)</li>
-<li>Tab (&amp;#x0009;)</li>
-<li>Carriage return (&amp;#x000D;)</li>
-<li>Line feed (&amp;#x000A;)</li>
-</ul>
-
-<p>
-The XML processor normalizes different system's line end codes into one
-single line-feed character, that is passed up to the application. The XHTML
-user agent in addition, must treat the following characters as whitespace:
-</p>
-
-<ul>
-<li>Form feed (&amp;#x000C;)</li>
-<li>Zero-width space (&amp;#x200B;)</li>
-</ul>
-
-<p>
-In elements where the 'xml:space' attribute is set to 'preserve', the user
-agent must leave all whitespace characters intact (with the exception of
-leading and trailing whitespace characters, which should be removed).
-Otherwise, whitespace
-is handled according to the following rules:
-</p>
-
-<ul>
-<li>
-All whitespace surrounding block elements should be removed.
-</li>
-<li>
-Comments are removed entirely and do not affect whitespace handling. One
-whitespace character on either side of a comment is treated as two white
-space characters.
-</li>
-<li>
-Leading and trailing whitespace inside a block element must be removed.
-</li>
-<li>Line feed characters within a block element must be converted into a
-space (except when the 'xml:space' attribute is set to 'preserve').
-</li>
-<li>
-A sequence of white space characters must be reduced to a single space
-character (except when the 'xml:space' attribute is set to 'preserve').
-</li>
-<li>
-With regard to rendition,
-the User Agent should render the content in a
-manner appropriate to the language in which the content is written.
-In languages whose primary script is Latinate, the ASCII space
-character is typically used to encode both grammatical word boundaries and
-typographic whitespace; in languages whose script is related to Nagari
-(e.g., Sanskrit, Thai, etc.), grammatical boundaries may be encoded using
-the ZW 'space' character, but will not typically be represented by
-typographic whitespace in rendered output; languages using Arabiform scripts
-may encode typographic whitespace using a space character, but may also use
-the ZW space character to delimit 'internal' grammatical boundaries (what
-look like words in Arabic to an English eye frequently encode several words,
-e.g. 'kitAbuhum' = 'kitAbu-hum' = 'book them' == their book); and languages
-in the Chinese script tradition typically neither encode such delimiters nor
-use typographic whitespace in this way.
-</li>
-</ul>
-
-<p>Whitespace in attribute values is processed according to <a
-href="#ref-xml">[XML]</a>.</p>
-</li>
-</ol>
-
-<!--OddPage-->
-<h1><a name="diffs" id="diffs">4. Differences with HTML&nbsp;4</a></h1>
-
-<p>Due to the fact that XHTML is an XML application, certain
-practices that were perfectly legal in SGML-based HTML&nbsp;4 <a
-href="#ref-html4">[HTML]</a> must be changed.</p>
-
-<h2><a name="h-4.1" id="h-4.1">4.1 Documents must be
-well-formed</a></h2>
-
-<p><a href="#wellformed">Well-formedness</a> is a new concept
-introduced by <a href="#ref-xml">[XML]</a>. Essentially this
-means that all elements must either have closing tags or be
-written in a special form (as described below), and that all the
-elements must nest.</p>
-
-<p>Although overlapping is illegal in SGML, it was widely
-tolerated in existing browsers.</p>
-
-<div class="good">
-<p><strong><em>CORRECT: nested elements.</em></strong></p>
-
-<p>&lt;p&gt;here is an emphasized
-&lt;em&gt;paragraph&lt;/em&gt;.&lt;/p&gt;</p>
-</div>
-
-<div class="bad">
-<p><strong><em>INCORRECT: overlapping elements</em></strong></p>
-
-<p>&lt;p&gt;here is an emphasized
-&lt;em&gt;paragraph.&lt;/p&gt;&lt;/em&gt;</p>
-</div>
-
-<h2><a name="h-4.2" id="h-4.2">4.2 Element and attribute
-names must be in lower case</a></h2>
-
-<p>XHTML documents must use lower case for all HTML element and
-attribute names. This difference is necessary because XML is
-case-sensitive e.g. &lt;li&gt; and &lt;LI&gt; are different
-tags.</p>
-
-<h2><a name="h-4.3" id="h-4.3">4.3 For non-empty elements,
-end tags are required</a></h2>
-
-<p>In SGML-based HTML 4 certain elements were permitted to omit
-the end tag; with the elements that followed implying closure.
-This omission is not permitted in XML-based XHTML. All elements
-other than those declared in the DTD as <code>EMPTY</code> must
-have an end tag.</p>
-
-<div class="good">
-<p><strong><em>CORRECT: terminated elements</em></strong></p>
-
-<p>&lt;p&gt;here is a paragraph.&lt;/p&gt;&lt;p&gt;here is
-another paragraph.&lt;/p&gt;</p>
-</div>
-
-<div class="bad">
-<p><strong><em>INCORRECT: unterminated elements</em></strong></p>
-
-<p>&lt;p&gt;here is a paragraph.&lt;p&gt;here is another
-paragraph.</p>
-</div>
-
-<h2><a name="h-4.4" id="h-4.4">4.4 Attribute values must
-always be quoted</a></h2>
-
-<p>All attribute values must be quoted, even those which appear
-to be numeric.</p>
-
-<div class="good">
-<p><strong><em>CORRECT: quoted attribute values</em></strong></p>
-
-<p>&lt;table rows="3"&gt;</p>
-</div>
-
-<div class="bad">
-<p><strong><em>INCORRECT: unquoted attribute values</em></strong></p>
-
-<p>&lt;table rows=3&gt;</p>
-</div>
-
-<h2><a name="h-4.5" id="h-4.5">4.5 Attribute
-Minimization</a></h2>
-
-<p>XML does not support attribute minimization. Attribute-value
-pairs must be written in full. Attribute names such as <code>
-compact</code> and <code>checked</code> cannot occur in elements
-without their value being specified.</p>
-
-<div class="good">
-<p><strong><em>CORRECT: unminimized attributes</em></strong></p>
-
-<p>&lt;dl compact="compact"&gt;</p>
-</div>
-
-<div class="bad">
-<p><strong><em>INCORRECT: minimized attributes</em></strong></p>
-
-<p>&lt;dl compact&gt;</p>
-</div>
-
-<h2><a name="h-4.6" id="h-4.6">4.6 Empty Elements</a></h2>
-
-<p>Empty elements must either have an end tag or the start tag must end with <code>/&gt;</code>. For instance,
-<code>&lt;br/&gt;</code> or <code>&lt;hr&gt;&lt;/hr&gt;</code>. See <a
-href="#guidelines">HTML Compatibility Guidelines</a> for information on ways to
-ensure this is backward compatible with HTML 4 user agents.</p>
-
-<div class="good">
-<p><strong><em>CORRECT: terminated empty tags</em></strong></p>
-
-<p>&lt;br/&gt;&lt;hr/&gt;</p>
-</div>
-
-<div class="bad">
-<p><strong><em>INCORRECT: unterminated empty tags</em></strong></p>
-
-<p>&lt;br&gt;&lt;hr&gt;</p>
-</div>
-
-<h2><a name="h-4.7" id="h-4.7">4.7 Whitespace handling in
-attribute values</a></h2>
-
-<p>In attribute values, user agents will strip leading and
-trailing whitespace from attribute values and map sequences
-of one or more whitespace characters (including line breaks) to
-a single inter-word space (an ASCII space character for western
-scripts). See <a href="http://www.w3.org/TR/REC-xml#AVNormalize">
-Section 3.3.3</a> of <a href="#ref-xml">[XML]</a>.</p>
-
-<h2><a name="h-4.8" id="h-4.8">4.8 Script and Style
-elements</a></h2>
-
-<p>In XHTML, the script and style elements are declared as having
-<code>#PCDATA</code> content. As a result, <code>&lt;</code> and
-<code>&amp;</code> will be treated as the start of markup, and
-entities such as <code>&amp;lt;</code> and <code>&amp;amp;</code>
-will be recognized as entity references by the XML processor to
-<code>&lt;</code> and <code>&amp;</code> respectively. Wrapping
-the content of the script or style element within a <code>
-CDATA</code> marked section avoids the expansion of these
-entities.</p>
-
-<div class="good">
-<pre>
-&lt;script&gt;
- &lt;![CDATA[
- ... unescaped script content ...
- ]]&gt;
- &lt;/script&gt;
-</pre>
-</div>
-
-<p><code>CDATA</code> sections are recognized by the XML
-processor and appear as nodes in the Document Object Model, see
-<a href=
-"http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-E067D597">
-Section 1.3</a> of the DOM Level 1 Recommendation <a href=
-"#ref-dom">[DOM]</a>.</p>
-
-<p>An alternative is to use external script and style
-documents.</p>
-
-<h2><a name="h-4.9" id="h-4.9">4.9 SGML exclusions</a></h2>
-
-<p>SGML gives the writer of a DTD the ability to exclude specific
-elements from being contained within an element. Such
-prohibitions (called "exclusions") are not possible in XML.</p>
-
-<p>For example, the HTML 4 Strict DTD forbids the nesting of an
-'<code>a</code>' element within another '<code>a</code>' element
-to any descendant depth. It is not possible to spell out such
-prohibitions in XML. Even though these prohibitions cannot be
-defined in the DTD, certain elements should not be nested. A
-summary of such elements and the elements that should not be
-nested in them is found in the normative <a href="#prohibitions">
-Appendix&#160;B</a>.</p>
-
-<h2><a name="h-4.10" id="h-4.10">4.10 The elements with 'id' and 'name'
-attributes</a></h2>
-
-<p>HTML 4 defined the <code>name</code> attribute for the elements
-<code>a</code>,
-<code>applet</code>, <code>form</code>, <code>frame</code>,
-<code>iframe</code>, <code>img</code>, and <code>map</code>.
-HTML 4 also introduced
-the <code>id</code> attribute. Both of these attributes are designed to be
-used as fragment identifiers.</p>
-<p>In XML, fragment identifiers are of type <code>ID</code>, and
-there can only be a single attribute of type <code>ID</code> per element.
-Therefore, in XHTML 1.0 the <code>id</code>
-attribute is defined to be of type <code>ID</code>. In order to
-ensure that XHTML 1.0 documents are well-structured XML documents, XHTML 1.0
-documents MUST use the <code>id</code> attribute when defining fragment
-identifiers, even on elements that historically have also had a
-<code>name</code> attribute.
-See the <a href="#guidelines">HTML Compatibility
-Guidelines</a> for information on ensuring such anchors are backwards
-compatible when serving XHTML documents as media type <code>text/html</code>.
-</p>
-<p>Note that in XHTML 1.0, the <code>name</code> attribute of these
-elements is formally deprecated, and will be removed in a
-subsequent version of XHTML.</p>
-
-<!--OddPage-->
-<h1><a name="issues" id="issues">5. Compatibility Issues</a></h1>
-
-<p>Although there is no requirement for XHTML 1.0 documents to be
-compatible with existing user agents, in practice this is easy to
-accomplish. Guidelines for creating compatible documents can be
-found in <a href="#guidelines">Appendix&#160;C</a>.</p>
-
-<h2><a name="media" id="media">5.1 Internet Media Type</a></h2>
-<p>As of the publication of this recommendation, the general
-recommended MIME labeling for XML-based applications
-has yet to be resolved.</p>
-
-<p>However, XHTML Documents which follow the guidelines set forth
-in <a href="#guidelines">Appendix C</a>, "HTML Compatibility Guidelines" may be
-labeled with the Internet Media Type "text/html", as they
-are compatible with most HTML browsers. This document
-makes no recommendation about MIME labeling of other
-XHTML documents.</p>
-
-<!--OddPage-->
-<h1><a name="future" id="future">6. Future Directions</a></h1>
-
-<p>XHTML 1.0 provides the basis for a family of document types
-that will extend and subset XHTML, in order to support a wide
-range of new devices and applications, by defining modules and
-specifying a mechanism for combining these modules. This
-mechanism will enable the extension and sub-setting of XHTML 1.0
-in a uniform way through the definition of new modules.</p>
-
-<h2><a name="mods" id="mods">6.1 Modularizing HTML</a></h2>
-
-<p>As the use of XHTML moves from the traditional desktop user
-agents to other platforms, it is clear that not all of the XHTML
-elements will be required on all platforms. For example a hand
-held device or a cell-phone may only support a subset of XHTML
-elements.</p>
-
-<p>The process of modularization breaks XHTML up into a series of
-smaller element sets. These elements can then be recombined to
-meet the needs of different communities.</p>
-
-<p>These modules will be defined in a later W3C document.</p>
-
-<h2><a name="extensions" id="extensions">6.2 Subsets and
-Extensibility</a></h2>
-
-<p>Modularization brings with it several advantages:</p>
-
-<ul>
-<li>
-<p>It provides a formal mechanism for sub-setting XHTML.</p>
-</li>
-
-<li>
-<p>It provides a formal mechanism for extending XHTML.</p>
-</li>
-
-<li>
-<p>It simplifies the transformation between document types.</p>
-</li>
-
-<li>
-<p>It promotes the reuse of modules in new document types.</p>
-</li>
-</ul>
-
-<h2><a name="profiles" id="profiles">6.3 Document
-Profiles</a></h2>
-
-<p>A document profile specifies the syntax and semantics of a set
-of documents. Conformance to a document profile provides a basis
-for interoperability guarantees. The document profile specifies
-the facilities required to process documents of that type, e.g.
-which image formats can be used, levels of scripting, style sheet
-support, and so on.</p>
-
-<p>For product designers this enables various groups to define
-their own standard profile.</p>
-
-<p>For authors this will obviate the need to write several
-different versions of documents for different clients.</p>
-
-<p>For special groups such as chemists, medical doctors, or
-mathematicians this allows a special profile to be built using
-standard HTML elements plus a group of elements geared to the
-specialist's needs.</p>
-
-<!--OddPage-->
-<h1><a name="appendices" id="appendices"></a>
-<a name="dtds" id="dtds">Appendix A. DTDs</a></h1>
-
-<p><b>This appendix is normative.</b></p>
-
-<p>These DTDs and entity sets form a normative part of this
-specification. The complete set of DTD files together with an XML
-declaration and SGML Open Catalog is included in the <a href=
-"xhtml1.zip">zip file</a> for this specification.</p>
-
-<h2><a name="h-A1" id="h-A1">A.1 Document Type
-Definitions</a></h2>
-
-<p>These DTDs approximate the HTML 4 DTDs. It is likely that
-when the DTDs are modularized, a method of DTD construction will
-be employed that corresponds more closely to HTML 4.</p>
-
-<ul>
-<li>
-<p><a href="DTD/xhtml1-strict.dtd" type="text/plain">
-XHTML-1.0-Strict</a></p>
-</li>
-
-<li>
-<p><a href="DTD/xhtml1-transitional.dtd" type="text/plain">
-XHTML-1.0-Transitional</a></p>
-</li>
-
-<li>
-<p><a href="DTD/xhtml1-frameset.dtd" type="text/plain">
-XHTML-1.0-Frameset</a></p>
-</li>
-</ul>
-
-<h2><a name="h-A2" id="h-A2">A.2 Entity Sets</a></h2>
-
-<p>The XHTML entity sets are the same as for HTML 4, but have
-been modified to be valid XML 1.0 entity declarations. Note the
-entity for the Euro currency sign (<code>&amp;euro;</code> or
-<code>&amp;#8364;</code> or <code>&amp;#x20AC;</code>) is defined
-as part of the special characters.</p>
-
-<ul>
-<li>
-<p><a href="DTD/xhtml-lat1.ent">Latin-1 characters</a></p>
-</li>
-
-<li>
-<p><a href="DTD/xhtml-special.ent">Special characters</a></p>
-</li>
-
-<li>
-<p><a href="DTD/xhtml-symbol.ent">Symbols</a></p>
-</li>
-</ul>
-
-<!--OddPage-->
-<h1><a name="prohibitions" id="prohibitions">Appendix B. Element
-Prohibitions</a></h1>
-
-<p><b>This appendix is normative.</b></p>
-
-<p>The following elements have prohibitions on which elements
-they can contain (see <a href="#h-4.9">Section 4.9</a>). This
-prohibition applies to all depths of nesting, i.e. it contains
-all the descendant elements.</p>
-
-<dl><dt><code class="tag">a</code></dt>
-<dd>
-cannot contain other <code>a</code> elements.</dd>
-<dt><code class="tag">pre</code></dt>
-<dd>cannot contain the <code>img</code>, <code>object</code>,
-<code>big</code>, <code>small</code>, <code>sub</code>, or <code>
-sup</code> elements.</dd>
-
-<dt><code class="tag">button</code></dt>
-<dd>cannot contain the <code>input</code>, <code>select</code>,
-<code>textarea</code>, <code>label</code>, <code>button</code>,
-<code>form</code>, <code>fieldset</code>, <code>iframe</code> or
-<code>isindex</code> elements.</dd>
-<dt><code class="tag">label</code></dt>
-<dd>cannot contain other <code class="tag">label</code> elements.</dd>
-<dt><code class="tag">form</code></dt>
-<dd>cannot contain other <code>form</code> elements.</dd>
-</dl>
-
-<!--OddPage-->
-<h1><a name="guidelines" id="guidelines">Appendix C.
-HTML Compatibility Guidelines</a></h1>
-
-<p><b>This appendix is informative.</b></p>
-
-<p>This appendix summarizes design guidelines for authors who
-wish their XHTML documents to render on existing HTML user
-agents.</p>
-
-<h2>C.1 Processing Instructions</h2>
-<p>Be aware that processing instructions are rendered on some
-user agents. However, also note that when the XML declaration is not included
-in a document, the document can only use the default character encodings UTF-8
-or UTF-16.</p>
-
-<h2>C.2 Empty Elements</h2>
-<p>Include a space before the trailing <code>/</code> and <code>
-&gt;</code> of empty elements, e.g. <code class="greenmono">
-&lt;br&#160;/&gt;</code>, <code class="greenmono">
-&lt;hr&#160;/&gt;</code> and <code class="greenmono">&lt;img
-src="karen.jpg" alt="Karen"&#160;/&gt;</code>. Also, use the
-minimized tag syntax for empty elements, e.g. <code class=
-"greenmono">&lt;br /&gt;</code>, as the alternative syntax <code
-class="greenmono">&lt;br&gt;&lt;/br&gt;</code> allowed by XML
-gives uncertain results in many existing user agents.</p>
-
-<h2>C.3 Element Minimization and Empty Element Content</h2>
-<p>Given an empty instance of an element whose content model is
-not <code>EMPTY</code> (for example, an empty title or paragraph)
-do not use the minimized form (e.g. use <code class="greenmono">
-&lt;p&gt; &lt;/p&gt;</code> and not <code class="greenmono">
-&lt;p&#160;/&gt;</code>).</p>
-
-<h2>C.4 Embedded Style Sheets and Scripts</h2>
-<p>Use external style sheets if your style sheet uses <code>
-&lt;</code> or <code>&amp;</code> or <code>]]&gt;</code> or <code>--</code>. Use
-external scripts if your script uses <code>&lt;</code> or <code>
-&amp;</code> or <code>]]&gt;</code> or <code>--</code>. Note that XML parsers
-are permitted to silently remove the contents of comments. Therefore, the historical
-practice of "hiding" scripts and style sheets within comments to make the
-documents backward compatible is likely to not work as expected in XML-based
-implementations.</p>
-
-<h2>C.5 Line Breaks within Attribute Values</h2>
-<p>Avoid line breaks and multiple whitespace characters within
-attribute values. These are handled inconsistently by user
-agents.</p>
-
-<h2>C.6 Isindex</h2>
-<p>Don't include more than one <code>isindex</code> element in
-the document <code>head</code>. The <code>isindex</code> element
-is deprecated in favor of the <code>input</code> element.</p>
-
-<h2>C.7 The <code>lang</code> and <code>xml:lang</code> Attributes</h2>
-<p>Use both the <code>lang</code> and <code>xml:lang</code>
-attributes when specifying the language of an element. The value
-of the <code>xml:lang</code> attribute takes precedence.</p>
-
-<h2>C.8 Fragment Identifiers</h2>
-<p>In XML, <abbr title="Uniform Resource Identifiers">URIs</abbr> [<a href="#ref-rfc2396">RFC2396</a>] that end with fragment identifiers of the form
-<code>"#foo"</code> do not refer to elements with an attribute
-<code>name="foo"</code>; rather, they refer to elements with an
-attribute defined to be of type <code>ID</code>, e.g., the <code>
-id</code> attribute in HTML 4. Many existing HTML clients don't
-support the use of <code>ID</code>-type attributes in this way,
-so identical values may be supplied for both of these attributes to ensure
-maximum forward and backward compatibility (e.g., <code class=
-"greenmono">&lt;a id="foo" name="foo"&gt;...&lt;/a&gt;</code>).</p>
-
-<p>Further, since the set of
-legal values for attributes of type <code>ID</code> is much smaller than
-for those of type <code>CDATA</code>, the type of the <code>name</code>
-attribute has been changed to <code>NMTOKEN</code>. This attribute is
-constrained such that it can only have the same values as type
-<code>ID</code>, or as the <code>Name</code> production in XML 1.0 Section
-2.5, production 5. Unfortunately, this constraint cannot be expressed in the
-XHTML 1.0 DTDs.  Because of this change, care must be taken when
-converting existing HTML documents. The values of these attributes
-must be unique within the document, valid, and any references to these
-fragment identifiers (both
-internal and external) must be updated should the values be changed during
-conversion.</p>
-<p>Finally, note that XHTML 1.0 has deprecated the
-<code>name</code> attribute of the <code>a</code>, <code>applet</code>, <code>form</code>, <code>frame</code>, <code>iframe</code>, <code>img</code>, and <code>map</code>
-elements, and it will be
-removed from XHTML in subsequent versions.</p>
-
-<h2>C.9 Character Encoding</h2>
-<p>To specify a character encoding in the document, use both the
-encoding attribute specification on the xml declaration (e.g.
-<code class="greenmono">&lt;?xml version="1.0"
-encoding="EUC-JP"?&gt;</code>) and a meta http-equiv statement
-(e.g. <code class="greenmono">&lt;meta http-equiv="Content-type"
-content='text/html; charset="EUC-JP"'&#160;/&gt;</code>). The
-value of the encoding attribute of the xml processing instruction
-takes precedence.</p>
-
-<h2>C.10 Boolean Attributes</h2>
-<p>Some HTML user agents are unable to interpret boolean
-attributes when these appear in their full (non-minimized) form,
-as required by XML 1.0. Note this problem doesn't affect user
-agents compliant with HTML 4. The following attributes are
-involved: <code>compact</code>, <code>nowrap</code>, <code>
-ismap</code>, <code>declare</code>, <code>noshade</code>, <code>
-checked</code>, <code>disabled</code>, <code>readonly</code>,
-<code>multiple</code>, <code>selected</code>, <code>
-noresize</code>, <code>defer</code>.</p>
-
-<h2>C.11 Document Object Model and XHTML</h2>
-<p>
-The Document Object Model level 1 Recommendation [<a href="#ref-dom">DOM</a>]
-defines document object model interfaces for XML and HTML 4. The HTML 4
-document object model specifies that HTML element and attribute names are
-returned in upper-case. The XML document object model specifies that
-element and attribute names are returned in the case they are specified. In
-XHTML 1.0, elements and attributes are specified in lower-case. This apparent difference can be
-addressed in two ways:
-</p>
-<ol>
-<li>Applications that access XHTML documents served as Internet media type
-<code>text/html</code>
-via the <abbr title="Document Object Model">DOM</abbr> can use the HTML DOM,
-and can rely upon element and attribute names being returned in
-upper-case from those interfaces.</li>
-<li>Applications that access XHTML documents served as Internet media types
-<code>text/xml</code> or <code>application/xml</code>
-can also use the XML DOM. Elements and attributes will be returned in lower-case.
-Also, some XHTML elements may or may
-not appear
-in the object tree because they are optional in the content model
-(e.g. the <code>tbody</code> element within
-<code>table</code>).  This occurs because in HTML 4 some elements were
-permitted to be minimized such that their start and end tags are both omitted
-(an SGML feature).
-This is not possible in XML. Rather than require document authors to insert
-extraneous elements, XHTML has made the elements optional.
-Applications need to adapt to this
-accordingly.</li>
-</ol>
-
-<h2>C.12 Using Ampersands in Attribute Values</h2>
-<p>
-When an attribute value contains an ampersand, it must be expressed as a character
-entity reference
-(e.g. "<code>&amp;amp;</code>"). For example, when the
-<code>href</code> attribute
-of the <code>a</code> element refers to a
-CGI script that takes parameters, it must be expressed as
-<code>http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;amp;name=user</code>
-rather than as
-<code>http://my.site.dom/cgi-bin/myscript.pl?class=guest&amp;name=user</code>.
-</p>
-
-<h2>C.13 Cascading Style Sheets (CSS) and XHTML</h2>
-
-<p>The Cascading Style Sheets level 2 Recommendation [<a href="#ref-css2">CSS2</a>] defines style
-properties which are applied to the parse tree of the HTML or XML
-document.  Differences in parsing will produce different visual or
-aural results, depending on the selectors used. The following hints
-will reduce this effect for documents which are served without
-modification as both media types:</p>
-
-<ol>
-<li>
-CSS style sheets for XHTML should use lower case element and
-attribute names.</li>
-
-
-<li>In tables, the tbody element will be inferred by the parser of an
-HTML user agent, but not by the parser of an XML user agent. Therefore
-you should always explicitly add a tbody element if it is referred to
-in a CSS selector.</li>
-
-<li>Within the XHTML name space, user agents are expected to
-recognize the "id" attribute as an attribute of type ID.
-Therefore, style sheets should be able to continue using the
-shorthand "#" selector syntax even if the user agent does not read
-the DTD.</li>
-
-<li>Within the XHTML name space, user agents are expected to
-recognize the "class" attribute. Therefore, style sheets should be
-able to continue using the shorthand "." selector syntax.</li>
-
-<li>
-CSS defines different conformance rules for HTML and XML documents;
-be aware that the HTML rules apply to XHTML documents delivered as
-HTML and the XML rules apply to XHTML documents delivered as XML.</li>
-</ol>
-<!--OddPage-->
-<h1><a name="acks" id="acks">Appendix D.
-Acknowledgements</a></h1>
-
-<p><b>This appendix is informative.</b></p>
-
-<p>This specification was written with the participation of the
-members of the W3C HTML working group:</p>
-
-<dl>
-<dd>Steven Pemberton, CWI (HTML Working Group Chair)<br />
-Murray Altheim, Sun Microsystems<br />
-Daniel Austin, AskJeeves (CNET: The Computer Network through July 1999)<br />
-Frank Boumphrey, HTML Writers Guild<br />
-John Burger, Mitre<br />
-Andrew W. Donoho, IBM<br />
-Sam Dooley, IBM<br />
-Klaus Hofrichter, GMD<br />
-Philipp Hoschka, W3C<br />
-Masayasu Ishikawa, W3C<br />
-Warner ten Kate, Philips Electronics<br />
-Peter King, Phone.com<br />
-Paula Klante, JetForm<br />
-Shin'ichi Matsui, Panasonic (W3C visiting engineer through September 1999)<br />
-Shane McCarron, Applied Testing and Technology (The Open Group through August
-1999)<br />
-Ann Navarro, HTML Writers Guild<br />
-Zach Nies, Quark<br />
-Dave Raggett, W3C/HP (W3C lead for HTML)<br />
-Patrick Schmitz, Microsoft<br />
-Sebastian Schnitzenbaumer, Stack Overflow<br />
-Peter Stark, Phone.com<br />
-Chris Wilson, Microsoft<br />
-Ted Wugofski, Gateway 2000<br />
-Dan Zigmond, WebTV Networks</dd>
-</dl>
-
-<!--OddPage-->
-<h1><a name="refs" id="refs">Appendix E. References</a></h1>
-
-<p><b>This appendix is informative.</b></p>
-
-<dl>
-
-<dt><a name="ref-css2" id="ref-css2"><b>[CSS2]</b></a></dt>
-
-<dd><a href="http://www.w3.org/TR/1998/REC-CSS2-19980512">"Cascading Style Sheets, level 2 (CSS2) Specification"</a>, B.
-Bos, H. W. Lie, C. Lilley, I. Jacobs, 12 May 1998.<br />
-Latest version available at: <a href="http://www.w3.org/TR/REC-CSS2">
-http://www.w3.org/TR/REC-CSS2</a></dd>
-
-<dt><a name="ref-dom" id="ref-dom"><b>[DOM]</b></a></dt>
-
-<dd><a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001">"Document Object Model (DOM) Level 1 Specification"</a>, Lauren
-Wood <i>et al.</i>, 1 October 1998.<br />
-Latest version available at: <a href="http://www.w3.org/TR/REC-DOM-Level-1">
-http://www.w3.org/TR/REC-DOM-Level-1</a></dd>
-
-<dt><a name="ref-html4" id="ref-html4"><b>[HTML]</b></a></dt>
-
-<dd><a href="http://www.w3.org/TR/1999/REC-html401-19991224">"HTML 4.01 Specification"</a>, D. Raggett, A. Le&#160;Hors, I.
-Jacobs, 24 December 1999.<br />
-Latest version available at: <a href="http://www.w3.org/TR/html401">
-http://www.w3.org/TR/html401</a></dd>
-
-<dt><a name="ref-posix" id="ref-posix"><b>[POSIX.1]</b></a></dt>
-
-<dd>"ISO/IEC 9945-1:1990 Information Technology - Portable
-Operating System Interface (POSIX) - Part 1: System Application
-Program Interface (API) [C Language]", Institute of Electrical
-and Electronics Engineers, Inc, 1990.</dd>
-
-<dt><a name="ref-rfc2046" id="ref-rfc2046"><b>
-[RFC2046]</b></a></dt>
-
-<dd><a href="http://www.ietf.org/rfc/rfc2046.txt">"RFC2046: Multipurpose Internet Mail Extensions (MIME) Part
-Two: Media Types"</a>, N. Freed and N. Borenstein, November
-1996.<br />
-Available at <a href="http://www.ietf.org/rfc/rfc2046.txt">
-http://www.ietf.org/rfc/rfc2046.txt</a>. Note that this RFC
-obsoletes RFC1521, RFC1522, and RFC1590.</dd>
-
-<dt><a name="ref-rfc2119" id="ref-rfc2119"><b>
-[RFC2119]</b></a></dt>
-
-<dd><a href="http://www.ietf.org/rfc/rfc2119.txt">"RFC2119: Key words for use in RFCs to Indicate Requirement
-Levels"</a>, S. Bradner, March 1997.<br />
-Available at: <a href="http://www.ietf.org/rfc/rfc2119.txt">
-http://www.ietf.org/rfc/rfc2119.txt</a></dd>
-
-<dt><a name="ref-rfc2376" id="ref-rfc2376"><b>
-[RFC2376]</b></a></dt>
-
-<dd><a href="http://www.ietf.org/rfc/rfc2376.txt">"RFC2376: XML Media Types"</a>, E. Whitehead, M. Murata, July
-1998.<br />
-Available at: <a href="http://www.ietf.org/rfc/rfc2376.txt">
-http://www.ietf.org/rfc/rfc2376.txt</a></dd>
-
-<dt><a name="ref-rfc2396" id="ref-rfc2396"><b>
-[RFC2396]</b></a></dt>
-
-<dd><a href="http://www.ietf.org/rfc/rfc2396.txt">"RFC2396: Uniform Resource Identifiers (URI): Generic
-Syntax"</a>, T. Berners-Lee, R. Fielding, L. Masinter, August
-1998.<br />
-This document updates RFC1738 and RFC1808.<br />
-Available at: <a href="http://www.ietf.org/rfc/rfc2396.txt">
-http://www.ietf.org/rfc/rfc2396.txt</a></dd>
-
-<dt><a name="ref-xml" id="ref-xml"><b>[XML]</b></a></dt>
-
-<dd><a href="http://www.w3.org/TR/1998/REC-xml-19980210">"Extensible Markup Language (XML) 1.0 Specification"</a>, T.
-Bray, J. Paoli, C. M. Sperberg-McQueen, 10 February 1998.<br />
-Latest version available at: <a href="http://www.w3.org/TR/REC-xml">
-http://www.w3.org/TR/REC-xml</a></dd>
-
-<dt><a name="ref-xmlns" id="ref-xmlns"><b>[XMLNAMES]</b></a></dt>
-
-<dd><a href="http://www.w3.org/TR/1999/REC-xml-names-19990114">"Namespaces in XML"</a>, T. Bray, D. Hollander, A. Layman, 14
-January 1999.<br />
-XML namespaces provide a simple method for qualifying names used
-in XML documents by associating them with namespaces identified
-by URI.<br />
-Latest version available at: <a href="http://www.w3.org/TR/REC-xml-names">
-http://www.w3.org/TR/REC-xml-names</a></dd>
-
-</dl>
-<p><a href="http://www.w3.org/WAI/WCAG1AAA-Conformance"
-title="Explanation of Level Triple-A Conformance">
-<img height="32" width="88"
-src="http://www.w3.org/WAI/wcag1AAA.gif"
-alt="Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0" /></a></p>
-<div class="navbar">
-  <hr />
-  <a href="#toc">table of contents</a>
-</div>
-</body>
-</html>
-
diff --git a/examples/xhtml/xhtml1-frameset.dtd b/examples/xhtml/xhtml1-frameset.dtd
deleted file mode 100644
--- a/examples/xhtml/xhtml1-frameset.dtd
+++ /dev/null
@@ -1,1225 +0,0 @@
-<!--
-   Extensible HTML version 1.0 Frameset DTD
-
-   This is the same as HTML 4.0 Frameset except for
-   changes due to the differences between XML and SGML.
-
-   Namespace = http://www.w3.org/1999/xhtml
-
-   For further information, see: http://www.w3.org/TR/xhtml1
-
-   Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio),
-   All Rights Reserved. 
-
-   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
-   PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
-
-   $Revision: 1.1 $
-   $Date: 2002/10/01 13:47:08 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-   "xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols for XHTML//EN"
-   "xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special for XHTML//EN"
-   "xhtml-special.ent">
-%HTMLspecial;
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % ContentTypes "CDATA">
-    <!-- comma-separated list of media types, as per [RFC2045] -->
-
-<!ENTITY % Charset "CDATA">
-    <!-- a character encoding, as per [RFC2045] -->
-
-<!ENTITY % Charsets "CDATA">
-    <!-- a space separated list of character encodings, as per [RFC2045] -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC1766] -->
-
-<!ENTITY % Character "CDATA">
-    <!-- a single character from [ISO10646] -->
-
-<!ENTITY % Number "CDATA">
-    <!-- one or more digits -->
-
-<!ENTITY % LinkTypes "CDATA">
-    <!-- space-separated list of link types -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- single or comma-separated list of media descriptors -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [RFC2396] -->
-
-<!ENTITY % UriList "CDATA">
-    <!-- a space separated list of Uniform Resource Identifiers -->
-
-<!ENTITY % Datetime "CDATA">
-    <!-- date and time information. ISO date format -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % Text "CDATA">
-    <!-- used for titles etc. -->
-
-<!ENTITY % FrameTarget "NMTOKEN">
-    <!-- render in this frame -->
-
-<!ENTITY % Length "CDATA">
-    <!-- nn for pixels or nn% for percentage length -->
-
-<!ENTITY % MultiLength "CDATA">
-    <!-- pixel, percentage, or relative -->
-
-<!ENTITY % MultiLengths "CDATA">
-    <!-- comma-separated list of MultiLength -->
-
-<!ENTITY % Pixels "CDATA">
-    <!-- integer representing length in pixels -->
-
-<!-- these are used for image maps -->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-
-<!ENTITY % Coords "CDATA">
-    <!-- comma separated list of lengths -->
-
-<!-- used for object, applet, img, input and iframe -->
-<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
-
-<!-- a color using sRGB: #RRGGBB as Hex values -->
-<!ENTITY % Color "CDATA">
-
-<!-- There are also 16 widely known color names with their sRGB values:
-
-    Black  = #000000    Green  = #008000
-    Silver = #C0C0C0    Lime   = #00FF00
-    Gray   = #808080    Olive  = #808000
-    White  = #FFFFFF    Yellow = #FFFF00
-    Maroon = #800000    Navy   = #000080
-    Red    = #FF0000    Blue   = #0000FF
-    Purple = #800080    Teal   = #008080
-    Fuchsia= #FF00FF    Aqua   = #00FFFF
--->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!-- core attributes common to most elements
-  id       document-wide unique id
-  class    space separated list of classes
-  style    associated style info
-  title    advisory title/amplification
--->
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED"
-  >
-
-<!-- internationalization attributes
-  lang        language code (backwards compatible)
-  xml:lang    language code (as per XML 1.0 spec)
-  dir         direction for weak/neutral text
--->
-<!ENTITY % i18n
- "lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!-- attributes for common UI events
-  onclick     a pointer button was clicked
-  ondblclick  a pointer button was double clicked
-  onmousedown a pointer button was pressed down
-  onmouseup   a pointer button was released
-  onmousemove a pointer was moved onto the element
-  onmouseout  a pointer was moved away from the element
-  onkeypress  a key was pressed and released
-  onkeydown   a key was pressed down
-  onkeyup     a key was released
--->
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- attributes for elements that can get the focus
-  accesskey   accessibility key character
-  tabindex    position in tabbing order
-  onfocus     the element got the focus
-  onblur      the element lost the focus
--->
-<!ENTITY % focus
- "accesskey   %Character;    #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED"
-  >
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-<!-- text alignment for p, div, h1-h6. The default is
-     align="left" for ltr headings, "right" for rtl -->
-
-<!ENTITY % TextAlign "align (left|center|right) #IMPLIED">
-
-<!--=================== Text Elements ====================================-->
-
-<!ENTITY % special
-   "br | span | bdo |object | applet | img | map | iframe">
-
-<!ENTITY % fontstyle "tt | i | b | big | small | u
-                      | s | strike |font | basefont">
-
-<!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
-                   samp | kbd | var | cite | abbr | acronym">
-
-<!ENTITY % inline.forms "input | select | textarea | label | button">
-
-<!-- these can occur at block or inline level -->
-<!ENTITY % misc "ins | del | script | noscript">
-
-<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
-
-<!-- %Inline; covers inline or "text-level" elements -->
-<!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">
-
-<!--================== Block level elements ==============================-->
-
-<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
-<!ENTITY % lists "ul | ol | dl | menu | dir">
-<!ENTITY % blocktext "pre | hr | blockquote | address | center">
-
-<!ENTITY % block
-    "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %Flow; mixes Block and Inline and is used for list items etc. -->
-<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
-
-<!--================== Content models for exclusions =====================-->
-
-<!-- a elements use %Inline; excluding a -->
-
-<!ENTITY % a.content
-   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">
-
-<!-- pre uses %Inline excluding img, object, applet, big, small,
-     sub, sup, font, or basefont -->
-
-<!ENTITY % pre.content
-   "(#PCDATA | a | br | span | bdo | map | tt | i | b | u | s |
-      %phrase; | %inline.forms;)*">
-
-<!-- form uses %Flow; excluding form -->
-
-<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
-
-<!ENTITY % button.content
-   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
-      table | br | span | bdo | object | applet | img | map |
-      %fontstyle; | %phrase; | %misc;)*">
-
-<!--================ Document Structure ==================================-->
-
-<!-- the namespace URI designates the document profile -->
-
-<!ELEMENT html (head, frameset)>
-<!ATTLIST html
-  %i18n;
-  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
-  >
-
-<!--================ Document Head =======================================-->
-
-<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
-
-<!-- content model is %head.misc; combined with a single
-     title and an optional base element in any order -->
-
-<!ELEMENT head (%head.misc;,
-     ((title, %head.misc;, (base, %head.misc;)?) |
-      (base, %head.misc;, (title, %head.misc;))))>
-
-<!ATTLIST head
-  %i18n;
-  profile     %URI;          #IMPLIED
-  >
-
-<!-- The title element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!ELEMENT title (#PCDATA)>
-<!ATTLIST title %i18n;>
-
-<!-- document base URI -->
-
-<!ELEMENT base EMPTY>
-<!ATTLIST base
-  href        %URI;          #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!-- generic metainformation -->
-<!ELEMENT meta EMPTY>
-<!ATTLIST meta
-  %i18n;
-  http-equiv  CDATA          #IMPLIED
-  name        CDATA          #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  >
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the link element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel="stylesheet")
-   c) to make a link to a script (rel="script")
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a PostScript or PDF version (rel="alternate" media="print")
--->
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!-- style info, which may include CDATA sections -->
-<!ELEMENT style (#PCDATA)>
-<!ATTLIST style
-  %i18n;
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- script statements, which may include CDATA sections -->
-<!ELEMENT script (#PCDATA)>
-<!ATTLIST script
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  language    CDATA          #IMPLIED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Flow;>
-<!ATTLIST noscript
-  %attrs;
-  >
-
-<!--======================= Frames =======================================-->
-
-<!-- only one noframes element permitted per document -->
-
-<!ELEMENT frameset (frameset|frame|noframes)*>
-<!ATTLIST frameset
-  %coreattrs;
-  rows        %MultiLengths; #IMPLIED
-  cols        %MultiLengths; #IMPLIED
-  onload      %Script;       #IMPLIED
-  onunload    %Script;       #IMPLIED
-  >
-
-<!-- reserved frame names start with "_" otherwise starts with letter -->
-
-<!-- tiled window within frameset -->
-
-<!ELEMENT frame EMPTY>
-<!ATTLIST frame
-  %coreattrs;
-  longdesc    %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  src         %URI;          #IMPLIED
-  frameborder (1|0)          "1"
-  marginwidth %Pixels;       #IMPLIED
-  marginheight %Pixels;      #IMPLIED
-  noresize    (noresize)     #IMPLIED
-  scrolling   (yes|no|auto)  "auto"
-  >
-
-<!-- inline subwindow -->
-
-<!ELEMENT iframe %Flow;>
-<!ATTLIST iframe
-  %coreattrs;
-  longdesc    %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  src         %URI;          #IMPLIED
-  frameborder (1|0)          "1"
-  marginwidth %Pixels;       #IMPLIED
-  marginheight %Pixels;      #IMPLIED
-  scrolling   (yes|no|auto)  "auto"
-  align       %ImgAlign;     #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  >
-
-<!-- alternate content container for non frame-based rendering -->
-
-<!ELEMENT noframes (body)>
-<!ATTLIST noframes
-  %attrs;
-  >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Flow;>
-<!ATTLIST body
-  %attrs;
-  onload      %Script;       #IMPLIED
-  onunload    %Script;       #IMPLIED
-  background  %URI;          #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  text        %Color;        #IMPLIED
-  link        %Color;        #IMPLIED
-  vlink       %Color;        #IMPLIED
-  alink       %Color;        #IMPLIED
-  >
-
-<!ELEMENT div %Flow;>  <!-- generic language/style container -->
-<!ATTLIST div
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from h1 (the most important)
-  to h6 (the least important).
--->
-
-<!ELEMENT h1  %Inline;>
-<!ATTLIST h1
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list bullet styles -->
-
-<!ENTITY % ULStyle "(disc|square|circle)">
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
-  %attrs;
-  type        %ULStyle;     #IMPLIED
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- Ordered list numbering style
-
-    1   arabic numbers      1, 2, 3, ...
-    a   lower alpha         a, b, c, ...
-    A   upper alpha         A, B, C, ...
-    i   lower roman         i, ii, iii, ...
-    I   upper roman         I, II, III, ...
-
-    The style is applied to the sequence number which by default
-    is reset to 1 for the first list item in an ordered list.
--->
-<!ENTITY % OLStyle "CDATA">
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
-  %attrs;
-  type        %OLStyle;      #IMPLIED
-  compact     (compact)      #IMPLIED
-  start       %Number;       #IMPLIED
-  >
-
-<!-- single column list (DEPRECATED) --> 
-<!ELEMENT menu (li)+>
-<!ATTLIST menu
-  %attrs;
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- multiple column list (DEPRECATED) --> 
-<!ELEMENT dir (li)+>
-<!ATTLIST dir
-  %attrs;
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
-<!ENTITY % LIStyle "CDATA">
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
-  %attrs;
-  type        %LIStyle;      #IMPLIED
-  value       %Number;       #IMPLIED
-  >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
-  %attrs;
-  compact     (compact)      #IMPLIED
-  >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
-  %attrs;
-  >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
-  %attrs;
-  >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
-  %attrs;
-  >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
-  %attrs;
-  align       (left|center|right) #IMPLIED
-  noshade     (noshade)      #IMPLIED
-  size        %Pixels;       #IMPLIED
-  width       %Length;       #IMPLIED
-  >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding 
-        "img|object|applet|big|small|sub|sup|font|basefont" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
-  %attrs;
-  width       %Number;      #IMPLIED
-  xml:space   (preserve)    #FIXED 'preserve'
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Flow;>
-<!ATTLIST blockquote
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Text alignment ===================================-->
-
-<!-- center content -->
-<!ELEMENT center %Flow;>
-<!ATTLIST center
-  %attrs;
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-
-<!--
-  ins/del are allowed in block and inline content, but its
-  inappropriate to include block content within an ins element
-  occurring in inline content.
--->
-<!ELEMENT ins %Flow;>
-<!ATTLIST ins
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!ELEMENT del %Flow;>
-<!ATTLIST del
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--================== The Anchor Element ================================-->
-
-<!-- content is %Inline; except that anchors shouldn't be nested -->
-
-<!ELEMENT a %a.content;>
-<!ATTLIST a
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--===================== Inline Elements ================================-->
-
-<!ELEMENT span %Inline;> <!-- generic language/style container -->
-<!ATTLIST span
-  %attrs;
-  >
-
-<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
-<!ATTLIST bdo
-  %coreattrs;
-  %events;
-  lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-<!ELEMENT br EMPTY>   <!-- forced line break -->
-<!ATTLIST br
-  %coreattrs;
-  clear       (left|all|right|none) "none"
-  >
-
-<!ELEMENT em %Inline;>   <!-- emphasis -->
-<!ATTLIST em %attrs;>
-
-<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
-<!ATTLIST strong %attrs;>
-
-<!ELEMENT dfn %Inline;>   <!-- definitional -->
-<!ATTLIST dfn %attrs;>
-
-<!ELEMENT code %Inline;>   <!-- program code -->
-<!ATTLIST code %attrs;>
-
-<!ELEMENT samp %Inline;>   <!-- sample -->
-<!ATTLIST samp %attrs;>
-
-<!ELEMENT kbd %Inline;>  <!-- something user would type -->
-<!ATTLIST kbd %attrs;>
-
-<!ELEMENT var %Inline;>   <!-- variable -->
-<!ATTLIST var %attrs;>
-
-<!ELEMENT cite %Inline;>   <!-- citation -->
-<!ATTLIST cite %attrs;>
-
-<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
-<!ATTLIST abbr %attrs;>
-
-<!ELEMENT acronym %Inline;>   <!-- acronym -->
-<!ATTLIST acronym %attrs;>
-
-<!ELEMENT q %Inline;>   <!-- inlined quote -->
-<!ATTLIST q
-   %attrs;
-  cite        %URI;          #IMPLIED
-   >
-
-<!ELEMENT sub %Inline;> <!-- subscript -->
-<!ATTLIST sub %attrs;>
-
-<!ELEMENT sup %Inline;> <!-- superscript -->
-<!ATTLIST sup %attrs;>
-
-<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
-<!ATTLIST tt %attrs;>
-
-<!ELEMENT i %Inline;>   <!-- italic font -->
-<!ATTLIST i %attrs;>
-
-<!ELEMENT b %Inline;>   <!-- bold font -->
-<!ATTLIST b %attrs;>
-
-<!ELEMENT big %Inline;>   <!-- bigger font -->
-<!ATTLIST big %attrs;>
-
-<!ELEMENT small %Inline;>   <!-- smaller font -->
-<!ATTLIST small %attrs;>
-
-<!ELEMENT u %Inline;>   <!-- underline -->
-<!ATTLIST u %attrs;>
-
-<!ELEMENT s %Inline;>   <!-- strike-through -->
-<!ATTLIST s %attrs;>
-
-<!ELEMENT strike %Inline;>   <!-- strike-through -->
-<!ATTLIST strike %attrs;>
-
-<!ELEMENT basefont EMPTY>  <!-- base font size -->
-<!ATTLIST basefont
-  id          ID             #IMPLIED
-  size        CDATA          #REQUIRED
-  color       %Color;        #IMPLIED
-  face        CDATA          #IMPLIED
-  >
-
-<!ELEMENT font %Inline;> <!-- local change to font -->
-<!ATTLIST font
-  %coreattrs;
-  %i18n;
-  size        CDATA          #IMPLIED
-  color       %Color;        #IMPLIED
-  face        CDATA          #IMPLIED
-  >
-
-<!--==================== Object ======================================-->
-<!--
-  object is used to embed objects as part of HTML pages.
-  param elements should precede other content. Parameters
-  can also be expressed as attribute/value pairs on the
-  object element itself when brevity is desired.
--->
-
-<!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
-<!ATTLIST object
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %UriList;      #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  border      %Pixels;       #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!--
-  param is used to supply a named property value.
-  In XML it would seem natural to follow RDF and support an
-  abbreviated syntax where the param elements are replaced
-  by attribute value pairs on the object start tag.
--->
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  id          ID             #IMPLIED
-  name        CDATA          #REQUIRED
-  value       CDATA          #IMPLIED
-  valuetype   (data|ref|object) "data"
-  type        %ContentType;  #IMPLIED
-  >
-
-<!--=================== Java applet ==================================-->
-<!--
-  One of code or object attributes must be present.
-  Place param elements before other content.
--->
-<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST applet
-  %coreattrs;
-  codebase    %URI;          #IMPLIED
-  archive     CDATA          #IMPLIED
-  code        CDATA          #IMPLIED
-  object      CDATA          #IMPLIED
-  alt         %Text;         #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  width       %Length;       #REQUIRED
-  height      %Length;       #REQUIRED
-  align       %ImgAlign;     #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!--
-   To avoid accessibility problems for people who aren't
-   able to see the image, you should provide a text
-   description using the alt and longdesc attributes.
-   In addition, avoid the use of server-side image maps.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  name        NMTOKEN        #IMPLIED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  border      %Pixels;       #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!-- usemap points to a map element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
-<!ATTLIST map
-  %i18n;
-  %events;
-  id          ID             #REQUIRED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
-  %attrs;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--================ Forms ===============================================-->
-
-<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (get|post)     "get"
-  name        NMTOKEN        #IMPLIED
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--
-  Each label must not contain more than ONE field
-  Label elements shouldn't be nested.
--->
-<!ELEMENT label %Inline;>
-<!ATTLIST label
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(text | password | checkbox |
-    radio | submit | reset |
-    file | hidden | image | button)"
-   >
-
-<!-- the name attribute is required for all but submit & reset -->
-
-<!ELEMENT input EMPTY>     <!-- form control -->
-<!ATTLIST input
-  %attrs;
-  type        %InputType;    "text"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  >
-
-<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
-<!ATTLIST select
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!ELEMENT optgroup (option)+>   <!-- option group -->
-<!ATTLIST optgroup
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
-<!ATTLIST option
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
-<!ATTLIST textarea
-  %attrs;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!--
-  The fieldset element is used to group form fields.
-  Only one legend element should occur in the content
-  and if present should only be preceded by whitespace.
--->
-<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
-<!ATTLIST fieldset
-  %attrs;
-  >
-
-<!ENTITY % LAlign "(top|bottom|left|right)">
-
-<!ELEMENT legend %Inline;>     <!-- fieldset label -->
-<!ATTLIST legend
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  align       %LAlign;       #IMPLIED
-  >
-
-<!--
- Content is %Flow; excluding a, form, form controls, iframe
---> 
-<!ELEMENT button %button.content;>  <!-- push button -->
-<!ATTLIST button
-  %attrs;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!-- single-line text input control (DEPRECATED) -->
-<!ELEMENT isindex EMPTY>
-<!ATTLIST isindex
-  %coreattrs;
-  %i18n;
-  prompt      %Text;         #IMPLIED
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- Derived from IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The border attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The frame attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the valign attribute.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The rules attribute defines which rules to draw between cells:
-
- If rules is absent then assume:
-     "none" if border is absent or border="0" otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal placement of table relative to document -->
-<!ENTITY % TAlign "(left|center|right)">
-
-<!-- horizontal alignment attributes for cell contents
-
-  char        alignment char, e.g. char=":"
-  charoff     offset for alignment char
--->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT table
-     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
-<!ELEMENT caption  %Inline;>
-<!ELEMENT thead    (tr)+>
-<!ELEMENT tfoot    (tr)+>
-<!ELEMENT tbody    (tr)+>
-<!ELEMENT colgroup (col)*>
-<!ELEMENT col      EMPTY>
-<!ELEMENT tr       (th|td)+>
-<!ELEMENT th       %Flow;>
-<!ELEMENT td       %Flow;>
-
-<!ATTLIST table
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  align       %TAlign;       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  >
-
-<!ENTITY % CAlign "(top|bottom|left|right)">
-
-<!ATTLIST caption
-  %attrs;
-  align       %CAlign;       #IMPLIED
-  >
-
-<!--
-colgroup groups a set of col elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST colgroup
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- col elements define the alignment properties for cells in
- one or more columns.
-
- The width attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The span attribute causes the attributes of one
- col element to apply to more than one column.
--->
-<!ATTLIST col
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST thead
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tfoot
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tbody
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tr
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  bgcolor     %Color;        #IMPLIED
-  >
-
-<!-- Scope is simpler than headers attribute for common tables -->
-<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
-
-<!-- th is for headers, td for data and for cells acting as both -->
-
-<!ATTLIST th
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  nowrap      (nowrap)       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  width       %Pixels;       #IMPLIED
-  height      %Pixels;       #IMPLIED
-  >
-
-<!ATTLIST td
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  nowrap      (nowrap)       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  width       %Pixels;       #IMPLIED
-  height      %Pixels;       #IMPLIED
-  >
-
diff --git a/examples/xhtml/xhtml1-strict.dtd b/examples/xhtml/xhtml1-strict.dtd
deleted file mode 100644
--- a/examples/xhtml/xhtml1-strict.dtd
+++ /dev/null
@@ -1,988 +0,0 @@
-<!--
-   Extensible HTML version 1.0 Strict DTD
-
-   This is the same as HTML 4.0 Strict except for
-   changes due to the differences between XML and SGML.
-
-   Namespace = http://www.w3.org/1999/xhtml
-
-   For further information, see: http://www.w3.org/TR/xhtml1
-
-   Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio),
-   All Rights Reserved. 
-
-   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
-   PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
-
-   $Revision: 1.1 $
-   $Date: 2002/10/01 13:47:08 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-   "xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols for XHTML//EN"
-   "xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special for XHTML//EN"
-   "xhtml-special.ent">
-%HTMLspecial;
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % ContentTypes "CDATA">
-    <!-- comma-separated list of media types, as per [RFC2045] -->
-
-<!ENTITY % Charset "CDATA">
-    <!-- a character encoding, as per [RFC2045] -->
-
-<!ENTITY % Charsets "CDATA">
-    <!-- a space separated list of character encodings, as per [RFC2045] -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC1766] -->
-
-<!ENTITY % Character "CDATA">
-    <!-- a single character from [ISO10646] -->
-
-<!ENTITY % Number "CDATA">
-    <!-- one or more digits -->
-
-<!ENTITY % LinkTypes "CDATA">
-    <!-- space-separated list of link types -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- single or comma-separated list of media descriptors -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [RFC2396] -->
-
-<!ENTITY % UriList "CDATA">
-    <!-- a space separated list of Uniform Resource Identifiers -->
-
-<!ENTITY % Datetime "CDATA">
-    <!-- date and time information. ISO date format -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % Text "CDATA">
-    <!-- used for titles etc. -->
-
-<!ENTITY % FrameTarget "NMTOKEN">
-    <!-- render in this frame -->
-
-<!ENTITY % Length "CDATA">
-    <!-- nn for pixels or nn% for percentage length -->
-
-<!ENTITY % MultiLength "CDATA">
-    <!-- pixel, percentage, or relative -->
-
-<!ENTITY % MultiLengths "CDATA">
-    <!-- comma-separated list of MultiLength -->
-
-<!ENTITY % Pixels "CDATA">
-    <!-- integer representing length in pixels -->
-
-<!-- these are used for image maps -->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-
-<!ENTITY % Coords "CDATA">
-    <!-- comma separated list of lengths -->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!-- core attributes common to most elements
-  id       document-wide unique id
-  class    space separated list of classes
-  style    associated style info
-  title    advisory title/amplification
--->
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED"
-  >
-
-<!-- internationalization attributes
-  lang        language code (backwards compatible)
-  xml:lang    language code (as per XML 1.0 spec)
-  dir         direction for weak/neutral text
--->
-<!ENTITY % i18n
- "lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!-- attributes for common UI events
-  onclick     a pointer button was clicked
-  ondblclick  a pointer button was double clicked
-  onmousedown a pointer button was pressed down
-  onmouseup   a pointer button was released
-  onmousemove a pointer was moved onto the element
-  onmouseout  a pointer was moved away from the element
-  onkeypress  a key was pressed and released
-  onkeydown   a key was pressed down
-  onkeyup     a key was released
--->
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- attributes for elements that can get the focus
-  accesskey   accessibility key character
-  tabindex    position in tabbing order
-  onfocus     the element got the focus
-  onblur      the element lost the focus
--->
-<!ENTITY % focus
- "accesskey   %Character;    #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED"
-  >
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-<!--=================== Text Elements ====================================-->
-
-<!ENTITY % special
-   "br | span | bdo | object | img | map">
-
-<!ENTITY % fontstyle "tt | i | b | big | small">
-
-<!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
-                   samp | kbd | var | cite | abbr | acronym">
-
-<!ENTITY % inline.forms "input | select | textarea | label | button">
-
-<!-- these can occur at block or inline level -->
-<!ENTITY % misc "ins | del | script | noscript">
-
-<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
-
-<!-- %Inline; covers inline or "text-level" elements -->
-<!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">
-
-<!--================== Block level elements ==============================-->
-
-<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
-<!ENTITY % lists "ul | ol | dl">
-<!ENTITY % blocktext "pre | hr | blockquote | address">
-
-<!ENTITY % block
-     "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %Flow; mixes Block and Inline and is used for list items etc. -->
-<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
-
-<!--================== Content models for exclusions =====================-->
-
-<!-- a elements use %Inline; excluding a -->
-
-<!ENTITY % a.content
-   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">
-
-<!-- pre uses %Inline excluding img, object, big, small, sup or sup -->
-
-<!ENTITY % pre.content
-   "(#PCDATA | a | br | span | bdo | map | tt | i | b |
-      %phrase; | %inline.forms;)*">
-
-<!-- form uses %Block; excluding form -->
-
-<!ENTITY % form.content "(%block; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form and form controls -->
-
-<!ENTITY % button.content
-   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
-    table | %special; | %fontstyle; | %phrase; | %misc;)*">
-
-<!--================ Document Structure ==================================-->
-
-<!-- the namespace URI designates the document profile -->
-
-<!ELEMENT html (head, body)>
-<!ATTLIST html
-  %i18n;
-  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
-  >
-
-<!--================ Document Head =======================================-->
-
-<!ENTITY % head.misc "(script|style|meta|link|object)*">
-
-<!-- content model is %head.misc; combined with a single
-     title and an optional base element in any order -->
-
-<!ELEMENT head (%head.misc;,
-     ((title, %head.misc;, (base, %head.misc;)?) |
-      (base, %head.misc;, (title, %head.misc;))))>
-
-<!ATTLIST head
-  %i18n;
-  profile     %URI;          #IMPLIED
-  >
-
-<!-- The title element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!ELEMENT title (#PCDATA)>
-<!ATTLIST title %i18n;>
-
-<!-- document base URI -->
-
-<!ELEMENT base EMPTY>
-<!ATTLIST base
-  href        %URI;          #IMPLIED
-  >
-
-<!-- generic metainformation -->
-<!ELEMENT meta EMPTY>
-<!ATTLIST meta
-  %i18n;
-  http-equiv  CDATA          #IMPLIED
-  name        CDATA          #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  >
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the link element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel="stylesheet")
-   c) to make a link to a script (rel="script")
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a PostScript or PDF version (rel="alternate" media="print")
--->
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  >
-
-<!-- style info, which may include CDATA sections -->
-<!ELEMENT style (#PCDATA)>
-<!ATTLIST style
-  %i18n;
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- script statements, which may include CDATA sections -->
-<!ELEMENT script (#PCDATA)>
-<!ATTLIST script
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Block;>
-<!ATTLIST noscript
-  %attrs;
-  >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Block;>
-<!ATTLIST body
-  %attrs;
-  onload          %Script;   #IMPLIED
-  onunload        %Script;   #IMPLIED
-  >
-
-<!ELEMENT div %Flow;>  <!-- generic language/style container -->
-<!ATTLIST div
-  %attrs;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
-  %attrs;
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from h1 (the most important)
-  to h6 (the least important).
--->
-
-<!ELEMENT h1  %Inline;>
-<!ATTLIST h1
-   %attrs;
-   >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
-   %attrs;
-   >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
-   %attrs;
-   >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
-   %attrs;
-   >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
-   %attrs;
-   >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
-   %attrs;
-   >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
-  %attrs;
-  >
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
-  %attrs;
-  >
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
-  %attrs;
-  >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
-  %attrs;
-  >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
-  %attrs;
-  >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
-  %attrs;
-  >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
-  %attrs;
-  >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
-  %attrs;
-  >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
-  %attrs;
-  xml:space (preserve) #FIXED 'preserve'
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Block;>
-<!ATTLIST blockquote
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-<!--
-  ins/del are allowed in block and inline content, but its
-  inappropriate to include block content within an ins element
-  occurring in inline content.
--->
-<!ELEMENT ins %Flow;>
-<!ATTLIST ins
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!ELEMENT del %Flow;>
-<!ATTLIST del
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--================== The Anchor Element ================================-->
-
-<!-- content is %Inline; except that anchors shouldn't be nested -->
-
-<!ELEMENT a %a.content;>
-<!ATTLIST a
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!--===================== Inline Elements ================================-->
-
-<!ELEMENT span %Inline;> <!-- generic language/style container -->
-<!ATTLIST span
-  %attrs;
-  >
-
-<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
-<!ATTLIST bdo
-  %coreattrs;
-  %events;
-  lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-<!ELEMENT br EMPTY>   <!-- forced line break -->
-<!ATTLIST br
-  %coreattrs;
-  >
-
-<!ELEMENT em %Inline;>   <!-- emphasis -->
-<!ATTLIST em %attrs;>
-
-<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
-<!ATTLIST strong %attrs;>
-
-<!ELEMENT dfn %Inline;>   <!-- definitional -->
-<!ATTLIST dfn %attrs;>
-
-<!ELEMENT code %Inline;>   <!-- program code -->
-<!ATTLIST code %attrs;>
-
-<!ELEMENT samp %Inline;>   <!-- sample -->
-<!ATTLIST samp %attrs;>
-
-<!ELEMENT kbd %Inline;>  <!-- something user would type -->
-<!ATTLIST kbd %attrs;>
-
-<!ELEMENT var %Inline;>   <!-- variable -->
-<!ATTLIST var %attrs;>
-
-<!ELEMENT cite %Inline;>   <!-- citation -->
-<!ATTLIST cite %attrs;>
-
-<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
-<!ATTLIST abbr %attrs;>
-
-<!ELEMENT acronym %Inline;>   <!-- acronym -->
-<!ATTLIST acronym %attrs;>
-
-<!ELEMENT q %Inline;>   <!-- inlined quote -->
-<!ATTLIST q
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!ELEMENT sub %Inline;> <!-- subscript -->
-<!ATTLIST sub %attrs;>
-
-<!ELEMENT sup %Inline;> <!-- superscript -->
-<!ATTLIST sup %attrs;>
-
-<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
-<!ATTLIST tt %attrs;>
-
-<!ELEMENT i %Inline;>   <!-- italic font -->
-<!ATTLIST i %attrs;>
-
-<!ELEMENT b %Inline;>   <!-- bold font -->
-<!ATTLIST b %attrs;>
-
-<!ELEMENT big %Inline;>   <!-- bigger font -->
-<!ATTLIST big %attrs;>
-
-<!ELEMENT small %Inline;>   <!-- smaller font -->
-<!ATTLIST small %attrs;>
-
-<!--==================== Object ======================================-->
-<!--
-  object is used to embed objects as part of HTML pages.
-  param elements should precede other content. Parameters
-  can also be expressed as attribute/value pairs on the
-  object element itself when brevity is desired.
--->
-
-<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST object
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %UriList;      #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  >
-
-<!--
-  param is used to supply a named property value.
-  In XML it would seem natural to follow RDF and support an
-  abbreviated syntax where the param elements are replaced
-  by attribute value pairs on the object start tag.
--->
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  id          ID             #IMPLIED
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  valuetype   (data|ref|object) "data"
-  type        %ContentType;  #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!--
-   To avoid accessibility problems for people who aren't
-   able to see the image, you should provide a text
-   description using the alt and longdesc attributes.
-   In addition, avoid the use of server-side image maps.
-   Note that in this DTD there is no name attribute. That
-   is only available in the transitional and frameset DTD.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  >
-
-<!-- usemap points to a map element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
-<!ATTLIST map
-  %i18n;
-  %events;
-  id          ID             #REQUIRED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
-  %attrs;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!--================ Forms ===============================================-->
-<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (get|post)     "get"
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  >
-
-<!--
-  Each label must not contain more than ONE field
-  Label elements shouldn't be nested.
--->
-<!ELEMENT label %Inline;>
-<!ATTLIST label
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(text | password | checkbox |
-    radio | submit | reset |
-    file | hidden | image | button)"
-   >
-
-<!-- the name attribute is required for all but submit & reset -->
-
-<!ELEMENT input EMPTY>     <!-- form control -->
-<!ATTLIST input
-  %attrs;
-  type        %InputType;    "text"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  >
-
-<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
-<!ATTLIST select
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!ELEMENT optgroup (option)+>   <!-- option group -->
-<!ATTLIST optgroup
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
-<!ATTLIST option
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
-<!ATTLIST textarea
-  %attrs;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!--
-  The fieldset element is used to group form fields.
-  Only one legend element should occur in the content
-  and if present should only be preceded by whitespace.
--->
-<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
-<!ATTLIST fieldset
-  %attrs;
-  >
-
-<!ELEMENT legend %Inline;>     <!-- fieldset label -->
-<!ATTLIST legend
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  >
-
-<!--
- Content is %Flow; excluding a, form and form controls
---> 
-<!ELEMENT button %button.content;>  <!-- push button -->
-<!ATTLIST button
-  %attrs;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- Derived from IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The border attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The frame attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the valign attribute.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The rules attribute defines which rules to draw between cells:
-
- If rules is absent then assume:
-     "none" if border is absent or border="0" otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal placement of table relative to document -->
-<!ENTITY % TAlign "(left|center|right)">
-
-<!-- horizontal alignment attributes for cell contents
-
-  char        alignment char, e.g. char=':'
-  charoff     offset for alignment char
--->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT table
-     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
-<!ELEMENT caption  %Inline;>
-<!ELEMENT thead    (tr)+>
-<!ELEMENT tfoot    (tr)+>
-<!ELEMENT tbody    (tr)+>
-<!ELEMENT colgroup (col)*>
-<!ELEMENT col      EMPTY>
-<!ELEMENT tr       (th|td)+>
-<!ELEMENT th       %Flow;>
-<!ELEMENT td       %Flow;>
-
-<!ATTLIST table
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  >
-
-<!ENTITY % CAlign "(top|bottom|left|right)">
-
-<!ATTLIST caption
-  %attrs;
-  >
-
-<!--
-colgroup groups a set of col elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST colgroup
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- col elements define the alignment properties for cells in
- one or more columns.
-
- The width attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The span attribute causes the attributes of one
- col element to apply to more than one column.
--->
-<!ATTLIST col
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST thead
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tfoot
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tbody
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tr
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-
-<!-- Scope is simpler than headers attribute for common tables -->
-<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
-
-<!-- th is for headers, td for data and for cells acting as both -->
-
-<!ATTLIST th
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST td
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  >
-
diff --git a/examples/xhtml/xhtml1-transitional.dtd b/examples/xhtml/xhtml1-transitional.dtd
deleted file mode 100644
--- a/examples/xhtml/xhtml1-transitional.dtd
+++ /dev/null
@@ -1,1196 +0,0 @@
-<!--
-   Extensible HTML version 1.0 Transitional DTD
-
-   This is the same as HTML 4.0 Transitional except for
-   changes due to the differences between XML and SGML.
-
-   Namespace = http://www.w3.org/1999/xhtml
-
-   For further information, see: http://www.w3.org/TR/xhtml1
-
-   Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio),
-   All Rights Reserved. 
-
-   This DTD module is identified by the PUBLIC and SYSTEM identifiers:
-
-   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-   SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
-
-   $Revision: 1.1 $
-   $Date: 2002/10/01 13:47:08 $
-
--->
-
-<!--================ Character mnemonic entities =========================-->
-
-<!ENTITY % HTMLlat1 PUBLIC
-   "-//W3C//ENTITIES Latin 1 for XHTML//EN"
-   "xhtml-lat1.ent">
-%HTMLlat1;
-
-<!ENTITY % HTMLsymbol PUBLIC
-   "-//W3C//ENTITIES Symbols for XHTML//EN"
-   "xhtml-symbol.ent">
-%HTMLsymbol;
-
-<!ENTITY % HTMLspecial PUBLIC
-   "-//W3C//ENTITIES Special for XHTML//EN"
-   "xhtml-special.ent">
-%HTMLspecial;
-
-<!--================== Imported Names ====================================-->
-
-<!ENTITY % ContentType "CDATA">
-    <!-- media type, as per [RFC2045] -->
-
-<!ENTITY % ContentTypes "CDATA">
-    <!-- comma-separated list of media types, as per [RFC2045] -->
-
-<!ENTITY % Charset "CDATA">
-    <!-- a character encoding, as per [RFC2045] -->
-
-<!ENTITY % Charsets "CDATA">
-    <!-- a space separated list of character encodings, as per [RFC2045] -->
-
-<!ENTITY % LanguageCode "NMTOKEN">
-    <!-- a language code, as per [RFC1766] -->
-
-<!ENTITY % Character "CDATA">
-    <!-- a single character from [ISO10646] -->
-
-<!ENTITY % Number "CDATA">
-    <!-- one or more digits -->
-
-<!ENTITY % LinkTypes "CDATA">
-    <!-- space-separated list of link types -->
-
-<!ENTITY % MediaDesc "CDATA">
-    <!-- single or comma-separated list of media descriptors -->
-
-<!ENTITY % URI "CDATA">
-    <!-- a Uniform Resource Identifier, see [RFC2396] -->
-
-<!ENTITY % UriList "CDATA">
-    <!-- a space separated list of Uniform Resource Identifiers -->
-
-<!ENTITY % Datetime "CDATA">
-    <!-- date and time information. ISO date format -->
-
-<!ENTITY % Script "CDATA">
-    <!-- script expression -->
-
-<!ENTITY % StyleSheet "CDATA">
-    <!-- style sheet data -->
-
-<!ENTITY % Text "CDATA">
-    <!-- used for titles etc. -->
-
-<!ENTITY % FrameTarget "NMTOKEN">
-    <!-- render in this frame -->
-
-<!ENTITY % Length "CDATA">
-    <!-- nn for pixels or nn% for percentage length -->
-
-<!ENTITY % MultiLength "CDATA">
-    <!-- pixel, percentage, or relative -->
-
-<!ENTITY % MultiLengths "CDATA">
-    <!-- comma-separated list of MultiLength -->
-
-<!ENTITY % Pixels "CDATA">
-    <!-- integer representing length in pixels -->
-
-<!-- these are used for image maps -->
-
-<!ENTITY % Shape "(rect|circle|poly|default)">
-
-<!ENTITY % Coords "CDATA">
-    <!-- comma separated list of lengths -->
-
-<!-- used for object, applet, img, input and iframe -->
-<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
-
-<!-- a color using sRGB: #RRGGBB as Hex values -->
-<!ENTITY % Color "CDATA">
-
-<!-- There are also 16 widely known color names with their sRGB values:
-
-    Black  = #000000    Green  = #008000
-    Silver = #C0C0C0    Lime   = #00FF00
-    Gray   = #808080    Olive  = #808000
-    White  = #FFFFFF    Yellow = #FFFF00
-    Maroon = #800000    Navy   = #000080
-    Red    = #FF0000    Blue   = #0000FF
-    Purple = #800080    Teal   = #008080
-    Fuchsia= #FF00FF    Aqua   = #00FFFF
--->
-
-<!--=================== Generic Attributes ===============================-->
-
-<!-- core attributes common to most elements
-  id       document-wide unique id
-  class    space separated list of classes
-  style    associated style info
-  title    advisory title/amplification
--->
-<!ENTITY % coreattrs
- "id          ID             #IMPLIED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED"
-  >
-
-<!-- internationalization attributes
-  lang        language code (backwards compatible)
-  xml:lang    language code (as per XML 1.0 spec)
-  dir         direction for weak/neutral text
--->
-<!ENTITY % i18n
- "lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #IMPLIED"
-  >
-
-<!-- attributes for common UI events
-  onclick     a pointer button was clicked
-  ondblclick  a pointer button was double clicked
-  onmousedown a pointer button was pressed down
-  onmouseup   a pointer button was released
-  onmousemove a pointer was moved onto the element
-  onmouseout  a pointer was moved away from the element
-  onkeypress  a key was pressed and released
-  onkeydown   a key was pressed down
-  onkeyup     a key was released
--->
-<!ENTITY % events
- "onclick     %Script;       #IMPLIED
-  ondblclick  %Script;       #IMPLIED
-  onmousedown %Script;       #IMPLIED
-  onmouseup   %Script;       #IMPLIED
-  onmouseover %Script;       #IMPLIED
-  onmousemove %Script;       #IMPLIED
-  onmouseout  %Script;       #IMPLIED
-  onkeypress  %Script;       #IMPLIED
-  onkeydown   %Script;       #IMPLIED
-  onkeyup     %Script;       #IMPLIED"
-  >
-
-<!-- attributes for elements that can get the focus
-  accesskey   accessibility key character
-  tabindex    position in tabbing order
-  onfocus     the element got the focus
-  onblur      the element lost the focus
--->
-<!ENTITY % focus
- "accesskey   %Character;    #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED"
-  >
-
-<!ENTITY % attrs "%coreattrs; %i18n; %events;">
-
-<!-- text alignment for p, div, h1-h6. The default is
-     align="left" for ltr headings, "right" for rtl -->
-
-<!ENTITY % TextAlign "align (left|center|right) #IMPLIED">
-
-<!--=================== Text Elements ====================================-->
-
-<!ENTITY % special
-   "br | span | bdo | object | applet | img | map | iframe">
-
-<!ENTITY % fontstyle "tt | i | b | big | small | u
-                      | s | strike |font | basefont">
-
-<!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
-                   samp | kbd | var | cite | abbr | acronym">
-
-<!ENTITY % inline.forms "input | select | textarea | label | button">
-
-<!-- these can occur at block or inline level -->
-<!ENTITY % misc "ins | del | script | noscript">
-
-<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
-
-<!-- %Inline; covers inline or "text-level" elements -->
-<!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">
-
-<!--================== Block level elements ==============================-->
-
-<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
-<!ENTITY % lists "ul | ol | dl | menu | dir">
-<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
-
-<!ENTITY % block
-    "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
-
-<!ENTITY % Block "(%block; | form | %misc;)*">
-
-<!-- %Flow; mixes Block and Inline and is used for list items etc. -->
-<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
-
-<!--================== Content models for exclusions =====================-->
-
-<!-- a elements use %Inline; excluding a -->
-
-<!ENTITY % a.content
-   "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">
-
-<!-- pre uses %Inline excluding img, object, applet, big, small,
-     sub, sup, font, or basefont -->
-
-<!ENTITY % pre.content
-   "(#PCDATA | a | br | span | bdo | map | tt | i | b | u | s |
-      %phrase; | %inline.forms;)*">
-
-<!-- form uses %Flow; excluding form -->
-
-<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
-
-<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
-
-<!ENTITY % button.content
-   "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
-      table | br | span | bdo | object | applet | img | map |
-      %fontstyle; | %phrase; | %misc;)*">
-
-<!--================ Document Structure ==================================-->
-
-<!-- the namespace URI designates the document profile -->
-
-<!ELEMENT html (head, body)>
-<!ATTLIST html
-  %i18n;
-  xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
-  >
-
-<!--================ Document Head =======================================-->
-
-<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
-
-<!-- content model is %head.misc; combined with a single
-     title and an optional base element in any order -->
-
-<!ELEMENT head (%head.misc;,
-     ((title, %head.misc;, (base, %head.misc;)?) |
-      (base, %head.misc;, (title, %head.misc;))))>
-
-<!ATTLIST head
-  %i18n;
-  profile     %URI;          #IMPLIED
-  >
-
-<!-- The title element is not considered part of the flow of text.
-       It should be displayed, for example as the page header or
-       window title. Exactly one title is required per document.
-    -->
-<!ELEMENT title (#PCDATA)>
-<!ATTLIST title %i18n;>
-
-<!-- document base URI -->
-
-<!ELEMENT base EMPTY>
-<!ATTLIST base
-  href        %URI;          #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!-- generic metainformation -->
-<!ELEMENT meta EMPTY>
-<!ATTLIST meta
-  %i18n;
-  http-equiv  CDATA          #IMPLIED
-  name        CDATA          #IMPLIED
-  content     CDATA          #REQUIRED
-  scheme      CDATA          #IMPLIED
-  >
-
-<!--
-  Relationship values can be used in principle:
-
-   a) for document specific toolbars/menus when used
-      with the link element in document head e.g.
-        start, contents, previous, next, index, end, help
-   b) to link to a separate style sheet (rel="stylesheet")
-   c) to make a link to a script (rel="script")
-   d) by stylesheets to control how collections of
-      html nodes are rendered into printed documents
-   e) to make a link to a printable version of this document
-      e.g. a PostScript or PDF version (rel="alternate" media="print")
--->
-
-<!ELEMENT link EMPTY>
-<!ATTLIST link
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  type        %ContentType;  #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  media       %MediaDesc;    #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!-- style info, which may include CDATA sections -->
-<!ELEMENT style (#PCDATA)>
-<!ATTLIST style
-  %i18n;
-  type        %ContentType;  #REQUIRED
-  media       %MediaDesc;    #IMPLIED
-  title       %Text;         #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- script statements, which may include CDATA sections -->
-<!ELEMENT script (#PCDATA)>
-<!ATTLIST script
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #REQUIRED
-  language    CDATA          #IMPLIED
-  src         %URI;          #IMPLIED
-  defer       (defer)        #IMPLIED
-  xml:space   (preserve)     #FIXED 'preserve'
-  >
-
-<!-- alternate content container for non script-based rendering -->
-
-<!ELEMENT noscript %Flow;>
-<!ATTLIST noscript
-  %attrs;
-  >
-
-<!--======================= Frames =======================================-->
-
-<!-- inline subwindow -->
-
-<!ELEMENT iframe %Flow;>
-<!ATTLIST iframe
-  %coreattrs;
-  longdesc    %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  src         %URI;          #IMPLIED
-  frameborder (1|0)          "1"
-  marginwidth %Pixels;       #IMPLIED
-  marginheight %Pixels;      #IMPLIED
-  scrolling   (yes|no|auto)  "auto"
-  align       %ImgAlign;     #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  >
-
-<!-- alternate content container for non frame-based rendering -->
-
-<!ELEMENT noframes %Flow;>
-<!ATTLIST noframes
-  %attrs;
-  >
-
-<!--=================== Document Body ====================================-->
-
-<!ELEMENT body %Flow;>
-<!ATTLIST body
-  %attrs;
-  onload      %Script;       #IMPLIED
-  onunload    %Script;       #IMPLIED
-  background  %URI;          #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  text        %Color;        #IMPLIED
-  link        %Color;        #IMPLIED
-  vlink       %Color;        #IMPLIED
-  alink       %Color;        #IMPLIED
-  >
-
-<!ELEMENT div %Flow;>  <!-- generic language/style container -->
-<!ATTLIST div
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Paragraphs =======================================-->
-
-<!ELEMENT p %Inline;>
-<!ATTLIST p
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Headings =========================================-->
-
-<!--
-  There are six levels of headings from h1 (the most important)
-  to h6 (the least important).
--->
-
-<!ELEMENT h1  %Inline;>
-<!ATTLIST h1
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h2 %Inline;>
-<!ATTLIST h2
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h3 %Inline;>
-<!ATTLIST h3
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h4 %Inline;>
-<!ATTLIST h4
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h5 %Inline;>
-<!ATTLIST h5
-  %attrs;
-  %TextAlign;
-  >
-
-<!ELEMENT h6 %Inline;>
-<!ATTLIST h6
-  %attrs;
-  %TextAlign;
-  >
-
-<!--=================== Lists ============================================-->
-
-<!-- Unordered list bullet styles -->
-
-<!ENTITY % ULStyle "(disc|square|circle)">
-
-<!-- Unordered list -->
-
-<!ELEMENT ul (li)+>
-<!ATTLIST ul
-  %attrs;
-  type        %ULStyle;     #IMPLIED
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- Ordered list numbering style
-
-    1   arabic numbers      1, 2, 3, ...
-    a   lower alpha         a, b, c, ...
-    A   upper alpha         A, B, C, ...
-    i   lower roman         i, ii, iii, ...
-    I   upper roman         I, II, III, ...
-
-    The style is applied to the sequence number which by default
-    is reset to 1 for the first list item in an ordered list.
--->
-<!ENTITY % OLStyle "CDATA">
-
-<!-- Ordered (numbered) list -->
-
-<!ELEMENT ol (li)+>
-<!ATTLIST ol
-  %attrs;
-  type        %OLStyle;      #IMPLIED
-  compact     (compact)      #IMPLIED
-  start       %Number;       #IMPLIED
-  >
-
-<!-- single column list (DEPRECATED) --> 
-<!ELEMENT menu (li)+>
-<!ATTLIST menu
-  %attrs;
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- multiple column list (DEPRECATED) --> 
-<!ELEMENT dir (li)+>
-<!ATTLIST dir
-  %attrs;
-  compact     (compact)     #IMPLIED
-  >
-
-<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
-<!ENTITY % LIStyle "CDATA">
-
-<!-- list item -->
-
-<!ELEMENT li %Flow;>
-<!ATTLIST li
-  %attrs;
-  type        %LIStyle;      #IMPLIED
-  value       %Number;       #IMPLIED
-  >
-
-<!-- definition lists - dt for term, dd for its definition -->
-
-<!ELEMENT dl (dt|dd)+>
-<!ATTLIST dl
-  %attrs;
-  compact     (compact)      #IMPLIED
-  >
-
-<!ELEMENT dt %Inline;>
-<!ATTLIST dt
-  %attrs;
-  >
-
-<!ELEMENT dd %Flow;>
-<!ATTLIST dd
-  %attrs;
-  >
-
-<!--=================== Address ==========================================-->
-
-<!-- information on author -->
-
-<!ELEMENT address %Inline;>
-<!ATTLIST address
-  %attrs;
-  >
-
-<!--=================== Horizontal Rule ==================================-->
-
-<!ELEMENT hr EMPTY>
-<!ATTLIST hr
-  %attrs;
-  align       (left|center|right) #IMPLIED
-  noshade     (noshade)      #IMPLIED
-  size        %Pixels;       #IMPLIED
-  width       %Length;       #IMPLIED
-  >
-
-<!--=================== Preformatted Text ================================-->
-
-<!-- content is %Inline; excluding 
-        "img|object|applet|big|small|sub|sup|font|basefont" -->
-
-<!ELEMENT pre %pre.content;>
-<!ATTLIST pre
-  %attrs;
-  width       %Number;      #IMPLIED
-  xml:space   (preserve)    #FIXED 'preserve'
-  >
-
-<!--=================== Block-like Quotes ================================-->
-
-<!ELEMENT blockquote %Flow;>
-<!ATTLIST blockquote
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!--=================== Text alignment ===================================-->
-
-<!-- center content -->
-<!ELEMENT center %Flow;>
-<!ATTLIST center
-  %attrs;
-  >
-
-<!--=================== Inserted/Deleted Text ============================-->
-
-<!--
-  ins/del are allowed in block and inline content, but its
-  inappropriate to include block content within an ins element
-  occurring in inline content.
--->
-<!ELEMENT ins %Flow;>
-<!ATTLIST ins
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!ELEMENT del %Flow;>
-<!ATTLIST del
-  %attrs;
-  cite        %URI;          #IMPLIED
-  datetime    %Datetime;     #IMPLIED
-  >
-
-<!--================== The Anchor Element ================================-->
-
-<!-- content is %Inline; except that anchors shouldn't be nested -->
-
-<!ELEMENT a %a.content;>
-<!ATTLIST a
-  %attrs;
-  charset     %Charset;      #IMPLIED
-  type        %ContentType;  #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  href        %URI;          #IMPLIED
-  hreflang    %LanguageCode; #IMPLIED
-  rel         %LinkTypes;    #IMPLIED
-  rev         %LinkTypes;    #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--===================== Inline Elements ================================-->
-
-<!ELEMENT span %Inline;> <!-- generic language/style container -->
-<!ATTLIST span
-  %attrs;
-  >
-
-<!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
-<!ATTLIST bdo
-  %coreattrs;
-  %events;
-  lang        %LanguageCode; #IMPLIED
-  xml:lang    %LanguageCode; #IMPLIED
-  dir         (ltr|rtl)      #REQUIRED
-  >
-
-<!ELEMENT br EMPTY>   <!-- forced line break -->
-<!ATTLIST br
-  %coreattrs;
-  clear       (left|all|right|none) "none"
-  >
-
-<!ELEMENT em %Inline;>   <!-- emphasis -->
-<!ATTLIST em %attrs;>
-
-<!ELEMENT strong %Inline;>   <!-- strong emphasis -->
-<!ATTLIST strong %attrs;>
-
-<!ELEMENT dfn %Inline;>   <!-- definitional -->
-<!ATTLIST dfn %attrs;>
-
-<!ELEMENT code %Inline;>   <!-- program code -->
-<!ATTLIST code %attrs;>
-
-<!ELEMENT samp %Inline;>   <!-- sample -->
-<!ATTLIST samp %attrs;>
-
-<!ELEMENT kbd %Inline;>  <!-- something user would type -->
-<!ATTLIST kbd %attrs;>
-
-<!ELEMENT var %Inline;>   <!-- variable -->
-<!ATTLIST var %attrs;>
-
-<!ELEMENT cite %Inline;>   <!-- citation -->
-<!ATTLIST cite %attrs;>
-
-<!ELEMENT abbr %Inline;>   <!-- abbreviation -->
-<!ATTLIST abbr %attrs;>
-
-<!ELEMENT acronym %Inline;>   <!-- acronym -->
-<!ATTLIST acronym %attrs;>
-
-<!ELEMENT q %Inline;>   <!-- inlined quote -->
-<!ATTLIST q
-  %attrs;
-  cite        %URI;          #IMPLIED
-  >
-
-<!ELEMENT sub %Inline;> <!-- subscript -->
-<!ATTLIST sub %attrs;>
-
-<!ELEMENT sup %Inline;> <!-- superscript -->
-<!ATTLIST sup %attrs;>
-
-<!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
-<!ATTLIST tt %attrs;>
-
-<!ELEMENT i %Inline;>   <!-- italic font -->
-<!ATTLIST i %attrs;>
-
-<!ELEMENT b %Inline;>   <!-- bold font -->
-<!ATTLIST b %attrs;>
-
-<!ELEMENT big %Inline;>   <!-- bigger font -->
-<!ATTLIST big %attrs;>
-
-<!ELEMENT small %Inline;>   <!-- smaller font -->
-<!ATTLIST small %attrs;>
-
-<!ELEMENT u %Inline;>   <!-- underline -->
-<!ATTLIST u %attrs;>
-
-<!ELEMENT s %Inline;>   <!-- strike-through -->
-<!ATTLIST s %attrs;>
-
-<!ELEMENT strike %Inline;>   <!-- strike-through -->
-<!ATTLIST strike %attrs;>
-
-<!ELEMENT basefont EMPTY>  <!-- base font size -->
-<!ATTLIST basefont
-  id          ID             #IMPLIED
-  size        CDATA          #REQUIRED
-  color       %Color;        #IMPLIED
-  face        CDATA          #IMPLIED
-  >
-
-<!ELEMENT font %Inline;> <!-- local change to font -->
-<!ATTLIST font
-  %coreattrs;
-  %i18n;
-  size        CDATA          #IMPLIED
-  color       %Color;        #IMPLIED
-  face        CDATA          #IMPLIED
-  >
-
-<!--==================== Object ======================================-->
-<!--
-  object is used to embed objects as part of HTML pages.
-  param elements should precede other content. Parameters
-  can also be expressed as attribute/value pairs on the
-  object element itself when brevity is desired.
--->
-
-<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST object
-  %attrs;
-  declare     (declare)      #IMPLIED
-  classid     %URI;          #IMPLIED
-  codebase    %URI;          #IMPLIED
-  data        %URI;          #IMPLIED
-  type        %ContentType;  #IMPLIED
-  codetype    %ContentType;  #IMPLIED
-  archive     %UriList;      #IMPLIED
-  standby     %Text;         #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  border      %Pixels;       #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!--
-  param is used to supply a named property value.
-  In XML it would seem natural to follow RDF and support an
-  abbreviated syntax where the param elements are replaced
-  by attribute value pairs on the object start tag.
--->
-<!ELEMENT param EMPTY>
-<!ATTLIST param
-  id          ID             #IMPLIED
-  name        CDATA          #REQUIRED
-  value       CDATA          #IMPLIED
-  valuetype   (data|ref|object) "data"
-  type        %ContentType;  #IMPLIED
-  >
-
-<!--=================== Java applet ==================================-->
-<!--
-  One of code or object attributes must be present.
-  Place param elements before other content.
--->
-<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
-<!ATTLIST applet
-  %coreattrs;
-  codebase    %URI;          #IMPLIED
-  archive     CDATA          #IMPLIED
-  code        CDATA          #IMPLIED
-  object      CDATA          #IMPLIED
-  alt         %Text;         #IMPLIED
-  name        NMTOKEN        #IMPLIED
-  width       %Length;       #REQUIRED
-  height      %Length;       #REQUIRED
-  align       %ImgAlign;     #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!--=================== Images ===========================================-->
-
-<!--
-   To avoid accessibility problems for people who aren't
-   able to see the image, you should provide a text
-   description using the alt and longdesc attributes.
-   In addition, avoid the use of server-side image maps.
--->
-
-<!ELEMENT img EMPTY>
-<!ATTLIST img
-  %attrs;
-  src         %URI;          #REQUIRED
-  alt         %Text;         #REQUIRED
-  name        NMTOKEN        #IMPLIED
-  longdesc    %URI;          #IMPLIED
-  height      %Length;       #IMPLIED
-  width       %Length;       #IMPLIED
-  usemap      %URI;          #IMPLIED
-  ismap       (ismap)        #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  border      %Length;       #IMPLIED
-  hspace      %Pixels;       #IMPLIED
-  vspace      %Pixels;       #IMPLIED
-  >
-
-<!-- usemap points to a map element which may be in this document
-  or an external document, although the latter is not widely supported -->
-
-<!--================== Client-side image maps ============================-->
-
-<!-- These can be placed in the same document or grouped in a
-     separate document although this isn't yet widely supported -->
-
-<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
-<!ATTLIST map
-  %i18n;
-  %events;
-  id          ID             #REQUIRED
-  class       CDATA          #IMPLIED
-  style       %StyleSheet;   #IMPLIED
-  title       %Text;         #IMPLIED
-  name        CDATA          #IMPLIED
-  >
-
-<!ELEMENT area EMPTY>
-<!ATTLIST area
-  %attrs;
-  shape       %Shape;        "rect"
-  coords      %Coords;       #IMPLIED
-  href        %URI;          #IMPLIED
-  nohref      (nohref)       #IMPLIED
-  alt         %Text;         #REQUIRED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--================ Forms ===============================================-->
-
-<!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
-
-<!ATTLIST form
-  %attrs;
-  action      %URI;          #REQUIRED
-  method      (get|post)     "get"
-  name        NMTOKEN        #IMPLIED
-  enctype     %ContentType;  "application/x-www-form-urlencoded"
-  onsubmit    %Script;       #IMPLIED
-  onreset     %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  accept-charset %Charsets;  #IMPLIED
-  target      %FrameTarget;  #IMPLIED
-  >
-
-<!--
-  Each label must not contain more than ONE field
-  Label elements shouldn't be nested.
--->
-<!ELEMENT label %Inline;>
-<!ATTLIST label
-  %attrs;
-  for         IDREF          #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!ENTITY % InputType
-  "(text | password | checkbox |
-    radio | submit | reset |
-    file | hidden | image | button)"
-   >
-
-<!-- the name attribute is required for all but submit & reset -->
-
-<!ELEMENT input EMPTY>     <!-- form control -->
-<!ATTLIST input
-  %attrs;
-  type        %InputType;    "text"
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  checked     (checked)      #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  size        CDATA          #IMPLIED
-  maxlength   %Number;       #IMPLIED
-  src         %URI;          #IMPLIED
-  alt         CDATA          #IMPLIED
-  usemap      %URI;          #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  accept      %ContentTypes; #IMPLIED
-  align       %ImgAlign;     #IMPLIED
-  >
-
-<!ELEMENT select (optgroup|option)+>  <!-- option selector -->
-<!ATTLIST select
-  %attrs;
-  name        CDATA          #IMPLIED
-  size        %Number;       #IMPLIED
-  multiple    (multiple)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!ELEMENT optgroup (option)+>   <!-- option group -->
-<!ATTLIST optgroup
-  %attrs;
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #REQUIRED
-  >
-
-<!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
-<!ATTLIST option
-  %attrs;
-  selected    (selected)     #IMPLIED
-  disabled    (disabled)     #IMPLIED
-  label       %Text;         #IMPLIED
-  value       CDATA          #IMPLIED
-  >
-
-<!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
-<!ATTLIST textarea
-  %attrs;
-  name        CDATA          #IMPLIED
-  rows        %Number;       #REQUIRED
-  cols        %Number;       #REQUIRED
-  disabled    (disabled)     #IMPLIED
-  readonly    (readonly)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  onselect    %Script;       #IMPLIED
-  onchange    %Script;       #IMPLIED
-  >
-
-<!--
-  The fieldset element is used to group form fields.
-  Only one legend element should occur in the content
-  and if present should only be preceded by whitespace.
--->
-<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
-<!ATTLIST fieldset
-  %attrs;
-  >
-
-<!ENTITY % LAlign "(top|bottom|left|right)">
-
-<!ELEMENT legend %Inline;>     <!-- fieldset label -->
-<!ATTLIST legend
-  %attrs;
-  accesskey   %Character;    #IMPLIED
-  align       %LAlign;       #IMPLIED
-  >
-
-<!--
- Content is %Flow; excluding a, form, form controls, iframe
---> 
-<!ELEMENT button %button.content;>  <!-- push button -->
-<!ATTLIST button
-  %attrs;
-  name        CDATA          #IMPLIED
-  value       CDATA          #IMPLIED
-  type        (button|submit|reset) "submit"
-  disabled    (disabled)     #IMPLIED
-  tabindex    %Number;       #IMPLIED
-  accesskey   %Character;    #IMPLIED
-  onfocus     %Script;       #IMPLIED
-  onblur      %Script;       #IMPLIED
-  >
-
-<!-- single-line text input control (DEPRECATED) -->
-<!ELEMENT isindex EMPTY>
-<!ATTLIST isindex
-  %coreattrs;
-  %i18n;
-  prompt      %Text;         #IMPLIED
-  >
-
-<!--======================= Tables =======================================-->
-
-<!-- Derived from IETF HTML table standard, see [RFC1942] -->
-
-<!--
- The border attribute sets the thickness of the frame around the
- table. The default units are screen pixels.
-
- The frame attribute specifies which parts of the frame around
- the table should be rendered. The values are not the same as
- CALS to avoid a name clash with the valign attribute.
--->
-<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
-
-<!--
- The rules attribute defines which rules to draw between cells:
-
- If rules is absent then assume:
-     "none" if border is absent or border="0" otherwise "all"
--->
-
-<!ENTITY % TRules "(none | groups | rows | cols | all)">
-  
-<!-- horizontal placement of table relative to document -->
-<!ENTITY % TAlign "(left|center|right)">
-
-<!-- horizontal alignment attributes for cell contents
-
-  char        alignment char, e.g. char=':'
-  charoff     offset for alignment char
--->
-<!ENTITY % cellhalign
-  "align      (left|center|right|justify|char) #IMPLIED
-   char       %Character;    #IMPLIED
-   charoff    %Length;       #IMPLIED"
-  >
-
-<!-- vertical alignment attributes for cell contents -->
-<!ENTITY % cellvalign
-  "valign     (top|middle|bottom|baseline) #IMPLIED"
-  >
-
-<!ELEMENT table
-     (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
-<!ELEMENT caption  %Inline;>
-<!ELEMENT thead    (tr)+>
-<!ELEMENT tfoot    (tr)+>
-<!ELEMENT tbody    (tr)+>
-<!ELEMENT colgroup (col)*>
-<!ELEMENT col      EMPTY>
-<!ELEMENT tr       (th|td)+>
-<!ELEMENT th       %Flow;>
-<!ELEMENT td       %Flow;>
-
-<!ATTLIST table
-  %attrs;
-  summary     %Text;         #IMPLIED
-  width       %Length;       #IMPLIED
-  border      %Pixels;       #IMPLIED
-  frame       %TFrame;       #IMPLIED
-  rules       %TRules;       #IMPLIED
-  cellspacing %Length;       #IMPLIED
-  cellpadding %Length;       #IMPLIED
-  align       %TAlign;       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  >
-
-<!ENTITY % CAlign "(top|bottom|left|right)">
-
-<!ATTLIST caption
-  %attrs;
-  align       %CAlign;       #IMPLIED
-  >
-
-<!--
-colgroup groups a set of col elements. It allows you to group
-several semantically related columns together.
--->
-<!ATTLIST colgroup
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
- col elements define the alignment properties for cells in
- one or more columns.
-
- The width attribute specifies the width of the columns, e.g.
-
-     width=64        width in screen pixels
-     width=0.5*      relative width of 0.5
-
- The span attribute causes the attributes of one
- col element to apply to more than one column.
--->
-<!ATTLIST col
-  %attrs;
-  span        %Number;       "1"
-  width       %MultiLength;  #IMPLIED
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!--
-    Use thead to duplicate headers when breaking table
-    across page boundaries, or for static headers when
-    tbody sections are rendered in scrolling panel.
-
-    Use tfoot to duplicate footers when breaking table
-    across page boundaries, or for static footers when
-    tbody sections are rendered in scrolling panel.
-
-    Use multiple tbody sections when rules are needed
-    between groups of table rows.
--->
-<!ATTLIST thead
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tfoot
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tbody
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  >
-
-<!ATTLIST tr
-  %attrs;
-  %cellhalign;
-  %cellvalign;
-  bgcolor     %Color;        #IMPLIED
-  >
-
-<!-- Scope is simpler than headers attribute for common tables -->
-<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
-
-<!-- th is for headers, td for data and for cells acting as both -->
-
-<!ATTLIST th
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  nowrap      (nowrap)       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  width       %Pixels;       #IMPLIED
-  height      %Pixels;       #IMPLIED
-  >
-
-<!ATTLIST td
-  %attrs;
-  abbr        %Text;         #IMPLIED
-  axis        CDATA          #IMPLIED
-  headers     IDREFS         #IMPLIED
-  scope       %Scope;        #IMPLIED
-  rowspan     %Number;       "1"
-  colspan     %Number;       "1"
-  %cellhalign;
-  %cellvalign;
-  nowrap      (nowrap)       #IMPLIED
-  bgcolor     %Color;        #IMPLIED
-  width       %Pixels;       #IMPLIED
-  height      %Pixels;       #IMPLIED
-  >
-
diff --git a/hxt-filter.cabal b/hxt-filter.cabal
--- a/hxt-filter.cabal
+++ b/hxt-filter.cabal
@@ -1,6 +1,6 @@
 -- arch-tag: Haskell XML Toolbox main description file
 name: hxt-filter
-version: 8.3.0
+version: 8.4.0
 license: OtherLicense
 license-file: LICENCE
 maintainer: Uwe Schmidt <uwe@fh-wedel.de>
@@ -53,15 +53,15 @@
  ghc-options: -Wall
  extensions: MultiParamTypeClasses DeriveDataTypeable FunctionalDependencies FlexibleInstances
 
- build-depends: base       >= 4,
-                haskell98  >= 1,
-                containers >= 0.1,
-                directory  >= 1,
-                filepath   >= 1,
-                parsec     >= 2.1 && < 3,
-                HUnit      >= 1.2,
-                network    >= 2.1,
-                HTTP       >= 4000.0.4 && < 5000,
-                process    >= 1.0.1,
-                hxt        >= 8.3
+ build-depends: base       >= 4.2    && < 5,
+                haskell98  >= 1      && < 2,
+                containers >= 0.3    && < 1,
+                directory  >= 1      && < 2,
+                filepath   >= 1      && < 2,
+                parsec     >= 2.1    && < 4,
+                HUnit      >= 1.2    && < 2,
+                network    >= 2.1    && < 3,
+                HTTP       >= 4000   && < 5000,
+                process    >= 1.0.1  && < 2,
+                hxt        >= 8.4    && < 9
 
diff --git a/src/Data/Tree/NTree/Filter.hs b/src/Data/Tree/NTree/Filter.hs
--- a/src/Data/Tree/NTree/Filter.hs
+++ b/src/Data/Tree/NTree/Filter.hs
@@ -905,8 +905,7 @@
 
 performAction	:: Monad m => (a -> m b) -> a -> m [a]
 performAction cmd t
-    = do
-      cmd t
-      return [t]
+    = cmd t
+      >> return [t]
 
 -- eof ------------------------------------------------------------
diff --git a/src/HXT.hs b/src/HXT.hs
deleted file mode 100644
--- a/src/HXT.hs
+++ /dev/null
@@ -1,5 +0,0 @@
-module HXT
-where
-
-import Text.XML.HXT.DOM    as DOM ()
-import Text.XML.HXT.Parser as P()
diff --git a/src/Makefile b/src/Makefile
deleted file mode 100644
--- a/src/Makefile
+++ /dev/null
@@ -1,163 +0,0 @@
-# ------------------------------------------------------------
-#
-# global names and dirs
-
-include ../Version.mk
-
-HXT_HOME	= ..
-HXT_HOME_PATH	= $(shell cd $(HXT_HOME) ; pwd)
-PACKAGE_DIR	= $(HXT_HOME_PATH)/lib/$(SOFTWARE)
-IMPORT_DIR	= imports
-HXT_PACKAGE	= $(SOFTWARE)
-
-# ------------------------------------------------------------
-#
-# commands
-
-GHCFLAGS	= -Wall -O2 -fglasgow-exts -ignore-package $(SOFTWARE)
-GHC             = ghc $(GHCFLAGS)
-GHCVERSION	=  $(shell ghc -v 2>&1 | head -n 2 | tail -n 1 | cut -d " " -f 5 | sed 's|^.*ghc-\([0-9.]*\)/package.conf|\1|')
-
-HXT_PACKAGE_NAME=$(DIST_NAME)
-
-RM              = rm -f
-
-all	:
-
-packagename	:
-		@echo $(HXT_PACKAGE_NAME)
-
-# ------------------------------------------------------------
-#
-# protocol handler config (for removing http or popen)
-
-./Text/XML/HXT/Parser/ProtocolHandler.hs	: ./Text/XML/HXT/ProtocolHandler/ProtocolHandler.hs
-		$(MAKE) -C ./Text/XML/HXT/ProtocolHandler default_http
-
-# ------------------------------------------------------------
-#
-# hxt package variables and rules
-
-HXT_SRC	= \
-	$(wildcard Control/Monad/*.hs) \
-	$(wildcard Data/Tree/NTree/*.hs) \
-        $(wildcard System/*.hs) \
-	$(wildcard Text/XML/HXT/*.hs) \
-	$(wildcard Text/XML/HXT/DOM/*.hs) \
-	$(wildcard Text/XML/HXT/Parser/*.hs) \
-	$(wildcard Text/XML/HXT/Validator/*.hs)
-
-HXT_OBJ		= $(HXT_SRC:.hs=.o)
-HXT_HI		= $(HXT_SRC:.hs=.hi)
-
-HXT_DRIVER	= HXT.o
-HXT_LIBA	= libHS$(HXT_PACKAGE).a
-HXT_LIBO	= HS$(HXT_PACKAGE).o
-HXT_LIB		= $(HXT_LIBA) $(HXT_LIBO)
-HXT_REQ_PKG	= -package parsec -package HTTP -package hxt-8.3.0
-
-$(HXT_LIBA)	: $(HXT_SRC)
-		$(GHC) -package-name $(HXT_PACKAGE_NAME) $(HXT_REQ_PKG) --make $(HXT_DRIVER:.o=.hs)
-		ar crs $@ $(HXT_OBJ)
-		@echo "#  please note: !! GNU ar (at least 2.15.90) does not set exit code on missing .o files !!"
-
-$(HXT_LIBO)	: $(HXT_LIBA)
-		ld -r --whole-archive -o $@ $<
-
-# ------------------------------------------------------------
-#
-
-PROFFLAGS	= -Wall -fglasgow-exts $(HXT_REQ_PKG) -prof -auto -ignore-package hxt -ignore-package HTTP -i../profiling
-
-prof		:
-		ghc $(PROFFLAGS) --make $(HXT_DRIVER:.o=.hs)
-
-# ------------------------------------------------------------
-
-LOCAL_INSTALL_DIR	= $(PACKAGE_DIR)
-LOCAL_IMPORT_DIR	= $(PACKAGE_DIR)/$(IMPORT_DIR)
-
-PKG_LIB		= 
-PKG_NAME	=
-PKG_HI		=
-
-install_local_$(HXT_PACKAGE)	: $(HXT_LIB) $(SOFTWARE)-package.conf
-		$(MAKE) install_local_package PKG_NAME=$(HXT_PACKAGE) PKG_LIB="$(HXT_LIB)" PKG_HI="$(HXT_HI)"
-
-install_local_package	: $(PKG_NAME)-package.conf
-		[ -d $(LOCAL_INSTALL_DIR) ] || mkdir -p $(LOCAL_INSTALL_DIR)
-		[ -d $(LOCAL_IMPORT_DIR)  ] || mkdir -p $(LOCAL_IMPORT_DIR)
-		cp -f  $(PKG_LIB)    $(LOCAL_INSTALL_DIR)
-		tar cvf - $(PKG_HI) | ( cd $(LOCAL_IMPORT_DIR) ; tar xf - )
-		[ -f $(LOCAL_INSTALL_DIR)/package.conf ] || echo "[]" > $(LOCAL_INSTALL_DIR)/package.conf
-		cat $(PKG_NAME)-package.conf \
-		| ghc-pkg update - --package-conf=$(LOCAL_INSTALL_DIR)/package.conf
-		@echo use package with: ghc\(i\) ... -package-conf $(LOCAL_INSTALL_DIR)/package.conf -package $(PKG_NAME) ...
-
-GHC_INSTALL	= $(shell ghc -v 2>&1 | head -n 2 | tail -n 1 | cut -d " " -f 5 | sed 's|/package.conf||')
-GHC_INSTALL_DIR	= $(GHC_INSTALL)/$(SOFTWARE)
-GHC_PKG_CONF	=
-
-install		: $(SOFTWARE)-package.conf
-		@[ -d $(GHC_INSTALL)     ] || ( echo "ghc install dir not found"       1>&2 ; exit 1 )
-		@[ -w $(GHC_INSTALL)     ] || ( echo "you need root access for this target" ; exit 1 )
-		[ -d $(GHC_INSTALL_DIR) ] || mkdir -p $(GHC_INSTALL_DIR)
-		cp -r $(LOCAL_INSTALL_DIR)/*.[ao] $(LOCAL_INSTALL_DIR)/imports $(GHC_INSTALL_DIR)
-		$(MAKE) install_packages
-		@echo
-		@echo use package with: ghc\(i\) ... -package $(HXT_PACKAGE) ...
-
-uninstall	:
-		@[ -d $(GHC_INSTALL) ] || ( echo "ghc install dir not found"       1>&2 ; exit 1 )
-		@[ -w $(GHC_INSTALL) ] || ( echo "you need root access for this target" ; exit 1 )
-		$(MAKE) uninstall_packages
-		rm -rf $(GHC_INSTALL_DIR)
-
-# ------------------------------------------------------------
-
-all		:
-		$(MAKE) install_local_$(HXT_PACKAGE)
-
-$(SOFTWARE)-package.conf	: $(SOFTWARE)-package.hs
-		ghc -o $(SOFTWARE)-package $(SOFTWARE)-package.hs
-		./$(SOFTWARE)-package $(VERSION) "ghc" $(LOCAL_INSTALL_DIR) $(HXT_SRC) > $@
-
-../$(SOFTWARE).cabal	: $(SOFTWARE)-package.hs Makefile ../Makefile
-		ghc -o $(SOFTWARE)-package $(SOFTWARE)-package.hs
-		./$(SOFTWARE)-package $(VERSION) "cabal" $(GHC_INSTALL_DIR) $(HXT_SRC) > $@
-
-install_packages	:
-		runghc $(SOFTWARE)-package.hs $(VERSION) "ghc" $(GHC_INSTALL_DIR) $(HXT_SRC) \
-		| ghc-pkg --update-package
-
-uninstall_packages	:
-		ghc-pkg --remove-package $(HXT_PACKAGE) || true
-
-clean_packages	:
-		$(MAKE) clean_$(HXT_PACKAGE)
-
-clean		:
-		$(MAKE) clean_packages
-		$(MAKE) -C ./Text/XML/HXT/ProtocolHandler clean
-		rm -rf $(LOCAL_INSTALL_DIR) $(SOFTWARE)-package.conf ../$(SOFTWARE).cabal
-
-clean_$(HXT_PACKAGE)	:
-		$(RM) $(HXT_DRIVER) $(HXT_DRIVER:.o=.hi) $(HXT_OBJ) $(HXT_HI) $(HXT_LIB)
-
-# ------------------------------------------------------------
-
-DIST		= ../$(DIST_NAME)
-DIST_DIR	= $(DIST)/src
-DIST_FILES	= Makefile \
-		  $(HXT_SRC) $(HXT_DRIVER:.o=.hs) $(SOFTWARE)-package.hs \
-		  ./Text/XML/HXT/ProtocolHandler/ProtocolHandler.hs \
-		  ./Text/XML/HXT/ProtocolHandler/Makefile
-
-
-dist		:
-		[ -d $(DIST_DIR) ] || mkdir -p $(DIST_DIR)
-		tar cvf - $(DIST_FILES) | ( cd $(DIST_DIR) ; tar xf - )
-
-.PHONY		: all install doc clean dist
-
-# eof ------------------------------------------------------------
diff --git a/src/Text/XML/HXT/DOM/Namespace.hs b/src/Text/XML/HXT/DOM/Namespace.hs
--- a/src/Text/XML/HXT/DOM/Namespace.hs
+++ b/src/Text/XML/HXT/DOM/Namespace.hs
@@ -45,8 +45,8 @@
 	  errs = validateNamespaces t
 	  in if null errs
 	     then thisM t
-	     else do
-		  liftF this $$< errs
+	     else ( liftF this $$< errs )
+                  >>
 		  return (setStatus c_err "namespace propagation" t)
 	  
 -- -----------------------------------------------------------------------------
diff --git a/src/Text/XML/HXT/DOM/XmlState.hs b/src/Text/XML/HXT/DOM/XmlState.hs
--- a/src/Text/XML/HXT/DOM/XmlState.hs
+++ b/src/Text/XML/HXT/DOM/XmlState.hs
@@ -155,9 +155,8 @@
 
 setSysErrorHandler		:: XmlStateFilter () -> XState state ()
 setSysErrorHandler ehf
-    = do
-      changeSysState (\ s -> s { sysStateErrorHandler = ehf })
-      return ()
+    = changeSysState (\ s -> s { sysStateErrorHandler = ehf })
+      >> return ()
 
 -- |
 -- get the error handler
@@ -183,9 +182,8 @@
 
 setSysParamTree		:: String -> XmlTrees -> XState state ()
 setSysParamTree name val
-    = do
-      changeSysState (changeSysStateAttrs (addEntry name val))
-      return ()
+    = changeSysState (changeSysStateAttrs (addEntry name val))
+      >> return ()
 
 -- |
 -- set or change a single system parameter of type string.
@@ -216,9 +214,8 @@
 
 setSystemParams	:: XmlStateFilter state
 setSystemParams t
-    = do
-      changeSysState (changeSysStateAttrs (addEntries (toTreel . getAttrl $ t)))
-      thisM t
+    = changeSysState (changeSysStateAttrs (addEntries (toTreel . getAttrl $ t)))
+      >> thisM t
 
 -- ------------------------------------------------------------
 
@@ -335,7 +332,7 @@
     = do
       sysState0 <- getSysState
       (res, finalState1) <- io $ run0 (XmlState sysState0 initialUserState1) cmd1
-      setSysState (sysState finalState1)
+      _ <- setSysState (sysState finalState1)
       return (res, (userState finalState1))
 
 -- |
@@ -500,7 +497,7 @@
     = performAction
       ( \ t -> chain' () ( do
 			   ehf <- getSysErrorHandler
-			   ehf t
+			   _ <- ehf t
 			   return ()
 			 )
       )
@@ -621,9 +618,8 @@
 checkStatus	:: XmlStateFilter state
 checkStatus t
     = if status >= c_err
-      then do
-	   errorMsgHandler (mkXErrorTree c_warn (errClass status ++ "s detected in " ++ msg) [])
-	   noneM t
+      then errorMsgHandler (mkXErrorTree c_warn (errClass status ++ "s detected in " ++ msg) [])
+	   >> noneM t
 	else
            thisM t
     where
diff --git a/src/Text/XML/HXT/Parser/DTDProcessing.hs b/src/Text/XML/HXT/Parser/DTDProcessing.hs
--- a/src/Text/XML/HXT/Parser/DTDProcessing.hs
+++ b/src/Text/XML/HXT/Parser/DTDProcessing.hs
@@ -353,9 +353,8 @@
     | isDTDElemNode CONDSECT xn					-- conditional section
       &&
       loc == Internal
-	  = do
-	    issueErr "conditional sections in internal part of the DTD is not allowed" n
-            return []
+	  = issueErr "conditional sections in internal part of the DTD is not allowed" n
+            >> return []
 
     | isDTDElemNode CONDSECT xn					-- conditional section
       &&
@@ -414,7 +413,7 @@
     addPE name t
 	= do
 	  trace 2 ("substParamEntity: add entity to env: " ++ xshow [t])
-	  changeState $ addPeEntry name t
+	  _ <- changeState $ addPeEntry name t
 	  return []
 
     substPEref	:: DTDStateFilter
@@ -568,7 +567,7 @@
 	= return []
     | otherwise
 	= do
-	  checkStandalone
+	  _ <- checkStandalone
 	  dtdContent <- ( getXmlEntityContents
 			  .>>
 			  traceMsg 2 ("processExternalDTD: parsing DTD part for " ++ show sysVal)
@@ -579,7 +578,7 @@
 			)
 		       $ newDocument sysVal
 	  trace 2 "processExternalDTD: parsing DTD part done"
-	  traceTree $ mkRootTree [] dtdContent
+	  _ <- traceTree $ mkRootTree [] dtdContent
 	  return dtdContent
     where
     sysVal		= lookup1 k_system al
@@ -756,14 +755,14 @@
 	    = return []
 	| null txt'						-- something weird in entity content
 	    = do
-	      issueErr ("illegal external parsed entity value for entity " ++ show name) n
+	      _ <- issueErr ("illegal external parsed entity value for entity " ++ show name) n
 	      return []
 	| otherwise						-- o.k.: parse the contents
 	    = do
 	      res' <- liftF (parseXmlGeneralEntityValue ("external parsed entity " ++ show name)) $$< txt'
-	      ( traceSource
-		.>>
-		traceTree ) $ mkRootTree (fromAttrl context) res'
+	      _ <- ( traceSource
+		     .>>
+		     traceTree ) $ mkRootTree (fromAttrl context) res'
 	      return res'
 	where
 	txt' = (getChildren .> isXText) $$ cl'
@@ -775,11 +774,11 @@
 	  case lookupGeEnv name' geEnv' of
 	    Just _fct
 		-> do
-		   issueWarn ("entity " ++ show name ++ " already defined, repeated definition ignored") n
+		   _ <- issueWarn ("entity " ++ show name ++ " already defined, repeated definition ignored") n
 		   return []
             Nothing
 		-> do
-		   changeState $ addGeEntry name' fct' 
+		   _ <- changeState $ addGeEntry name' fct' 
 		   return $ this n
 
     -- --------
@@ -803,7 +802,7 @@
 	= do
 	  trace 2 ("substExternalParsed1Time: read and parse external parsed entity " ++ show name)
 	  res  <- runInLocalURIContext getContents' $ newDocument' context
-	  changeState $ addGeEntry name (substExternalParsed res)
+	  _ <- changeState $ addGeEntry name (substExternalParsed res)
 	  substExternalParsed res cx' rl' n' 
 	  where
 	  getContents'	:: GeStateFilter
@@ -851,7 +850,7 @@
 
     forbidden msg' cx'					-- 4.4.4
 	= do
-	  issueErr ("reference of " ++ msg' ++ show name ++ " forbidden in " ++ cx') n
+	  _ <- issueErr ("reference of " ++ msg' ++ show name ++ " forbidden in " ++ cx') n
           return []
 
 							-- normalize default value in ATTLIST
@@ -878,13 +877,13 @@
         Just fct
 	  -> if name `elem` rl
 	     then do
-		  issueErr ("recursive substitution of general entity reference " ++ show ref ++ " not processed") n
+		  _ <- issueErr ("recursive substitution of general entity reference " ++ show ref ++ " not processed") n
 		  return nl
 	     else do
 		  fct cx rl n
         Nothing
 	  -> do
-	     issueErr ("general entity reference " ++ show ref ++ " not processed, no definition found, (forward reference?)") n
+	     _ <- issueErr ("general entity reference " ++ show ref ++ " not processed, no definition found, (forward reference?)") n
 	     return nl
       where
       nl  = this n
diff --git a/src/Text/XML/HXT/Parser/HtmlParser.hs b/src/Text/XML/HXT/Parser/HtmlParser.hs
--- a/src/Text/XML/HXT/Parser/HtmlParser.hs
+++ b/src/Text/XML/HXT/Parser/HtmlParser.hs
@@ -120,11 +120,11 @@
 	    in do 
 	       if null warnings
 		  then thisM t'
-		  else do
-		       if noWarnings
+		  else (  if noWarnings
 			  then return []
 			  else do
 			       issueError $$< warnings
+                       ) >>
 		       return (remWarnings t')
 
 -- | The pure HTML parser, usually called via 'parseHtmlDoc'.
@@ -133,11 +133,9 @@
 runHtmlParser	:: XmlStateFilter a
 runHtmlParser t
     = if null errs
-      then do
-	   return (replaceChildren res t)
-      else do
-	   issueError $$< errs
-	   return (setStatus c_err "parsing HTML" t)
+      then return (replaceChildren res t)
+      else (issueError $$< errs)
+	   >> return (setStatus c_err "parsing HTML" t)
       where
       res  = getChildren .> parseHtmlText loc $ t
       errs = isXError .> neg isWarning $$ res
diff --git a/src/Text/XML/HXT/Parser/MainFunctions.hs b/src/Text/XML/HXT/Parser/MainFunctions.hs
--- a/src/Text/XML/HXT/Parser/MainFunctions.hs
+++ b/src/Text/XML/HXT/Parser/MainFunctions.hs
@@ -25,7 +25,7 @@
 import Text.XML.HXT.DOM.EditFilters
 import Text.XML.HXT.DOM.Namespace
 
-import System.IO
+-- import System.IO
 
 -- ------------------------------------------------------------
 
diff --git a/src/Text/XML/HXT/Parser/ProtocolHandlerFile.hs b/src/Text/XML/HXT/Parser/ProtocolHandlerFile.hs
--- a/src/Text/XML/HXT/Parser/ProtocolHandlerFile.hs
+++ b/src/Text/XML/HXT/Parser/ProtocolHandlerFile.hs
@@ -42,7 +42,7 @@
 	      perm <- io $ getPermissions source
 	      if readable perm
 		 then do
-		      h <- io $ try ( openFile source ReadMode )
+		      h <- io $ try ( openBinaryFile source ReadMode )
 		      case h of
 			     Left e
 				 -> readErr ( "system error when reading file "
diff --git a/src/Text/XML/HXT/Parser/ProtocolHandlerHttpCurl.hs b/src/Text/XML/HXT/Parser/ProtocolHandlerHttpCurl.hs
--- a/src/Text/XML/HXT/Parser/ProtocolHandlerHttpCurl.hs
+++ b/src/Text/XML/HXT/Parser/ProtocolHandlerHttpCurl.hs
@@ -132,7 +132,7 @@
     crlf		:: Parser ()
     crlf
 	= do
-	  ( Text.ParserCombinators.Parsec.try (string "\r\n") <|> string "\n" )
+	  _ <- ( Text.ParserCombinators.Parsec.try (string "\r\n") <|> string "\n" )
 	  return ()
 
     parseResp		:: Parser (Int, XmlTrees)
@@ -141,7 +141,7 @@
 	  vers <- ( do
 		    http <- string "HTTP/"
 		    mav <- many1 digit
-		    char '.'
+		    _ <- char '.'
 		    miv <- many1 digit
 		    return (http ++ mav ++ "." ++ miv)
 		  )
diff --git a/src/Text/XML/HXT/Parser/ProtocolHandlerHttpNative.hs b/src/Text/XML/HXT/Parser/ProtocolHandlerHttpNative.hs
--- a/src/Text/XML/HXT/Parser/ProtocolHandlerHttpNative.hs
+++ b/src/Text/XML/HXT/Parser/ProtocolHandlerHttpNative.hs
@@ -43,8 +43,6 @@
 --
 -- the native http protocol handler
 
-type ResponseString	= Response String
-
 -- ------------------------------------------------------------
 --
 -- the http protocol handler, haskell implementation
@@ -84,7 +82,7 @@
     where
     readErr msg	= addFatal msg n
 
-    getHttp		:: Int -> URI -> String -> IO ResponseString
+    getHttp		:: Int -> URI -> String -> IO (Response String)
     getHttp trc' uri' proxy'
 	= withSocketsDo $
 	  browse ( do
@@ -111,7 +109,7 @@
     convertResponseStatus (a, b, c)
 	= 100 * a + 10 * b + c
 
-    convertResponseHeaders	:: ResponseString -> XmlTrees
+    convertResponseHeaders	:: Response String -> XmlTrees
     convertResponseHeaders r'
 	= cvResponseCode (rspCode r')
 	  ++
diff --git a/src/Text/XML/HXT/Parser/XmlOutput.hs b/src/Text/XML/HXT/Parser/XmlOutput.hs
--- a/src/Text/XML/HXT/Parser/XmlOutput.hs
+++ b/src/Text/XML/HXT/Parser/XmlOutput.hs
@@ -74,7 +74,7 @@
 putXmlDocToFile	:: String -> XmlStateFilter a
 putXmlDocToFile fn t
     = do
-      res <- io $ try (openFile fn WriteMode)
+      res <- io $ try (openBinaryFile fn WriteMode)
       case res of
         Left ioerr
 	    -> ( issueFatal (show ioerr)
@@ -84,7 +84,7 @@
 	Right h
 	    -> do
 	       t' <- hPutXmlDoc h t
-	       io $ try (hClose h)
+	       _  <- io $ try (hClose h)
 	       trace 2 ("document written to file: " ++ fn)
 	       return t'
 
diff --git a/src/Text/XML/HXT/ProtocolHandler/Makefile b/src/Text/XML/HXT/ProtocolHandler/Makefile
deleted file mode 100644
--- a/src/Text/XML/HXT/ProtocolHandler/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# $Id: Makefile,v 1.1 2004/09/02 19:12:02 hxml Exp $
-#
-# Makefile to configure the http handlers to be used
-#
-# default is: http access may be done via a native http module
-# or via an external program curl called via pipes
-# the access can be controlled at runtime by option --withCurl
-#
-# variants:
-#
-# 1. ONLY_NATIVE_HTTP: does not need the code for calling external programs via pipes
-# activate this variant by running "make only_native_http" in this dir before compilation
-#
-# 2. ONLY_CURL_HTTP: does not need the code for a socked connection and other stuff used by http modules
-# activate this variant by running "make only_curl_http" in this dir before compilation
-#
-# 3. NO_HTTP: does not need any code for http, only local file access is supported
-# activate this variant by running "make no_http" in this dir before compilation
-#
-# reset to default (both variants compiled in and selected by runtime options) by
-# running "make default_http"
-
-source	= ProtocolHandler.hs
-tmp	= ProtocolHandler.tmp
-target	= ../Parser/ProtocolHandler.hs
-
-all		:
-		@echo "make a target out of \"only_native_http only_curl_http no_http default_http\""
-
-only_native_http	:
-		ghc -E -cpp -DONLY_NATIVE_HTTP=1 -o $(tmp) $(source) ; grep -v '^#' $(tmp) > $(target)
-
-only_curl_http	:
-		ghc -E -cpp -DONLY_CURL_HTTP=1   -o $(tmp) $(source) ; grep -v '^#' $(tmp) > $(target)
-
-no_http	:
-		ghc -E -cpp -DNO_HTTP=1          -o $(tmp) $(source) ; grep -v '^#' $(tmp) > $(target)
-
-default_http	:
-		ghc -E -cpp                      -o $(tmp) $(source) ; grep -v '^#' $(tmp) > $(target)
-
-clean		:
-		rm -f $(tmp)
-
-.PHONY		: all only_native_http only_curl_http no_http default_http clean
diff --git a/src/Text/XML/HXT/ProtocolHandler/ProtocolHandler.hs b/src/Text/XML/HXT/ProtocolHandler/ProtocolHandler.hs
deleted file mode 100644
--- a/src/Text/XML/HXT/ProtocolHandler/ProtocolHandler.hs
+++ /dev/null
@@ -1,113 +0,0 @@
--- ------------------------------------------------------------
---
--- protocol handler functions
--- configuration file
--- real handler is generated with cpp
-
-module Text.XML.HXT.Parser.ProtocolHandler
-    ( getProtocolHandler
-    )
-
-where
-
-import Text.XML.HXT.DOM.XmlState
-
--- ------------------------------------------------------------
---
--- file io and network
-
-import Data.Maybe
-    ( fromMaybe
-    )
-
-import Network.URI
-    ( URI
-    , uriScheme
-    )
-
-import Text.XML.HXT.Parser.ProtocolHandlerFile
-    ( getFileContents
-    )
-
-#ifdef ONLY_NATIVE_HTTP
-
-import Text.XML.HXT.Parser.ProtocolHandlerHttpNative
-    ( getHttpContentsWithHttp
-    )
-
-#else
-#ifdef ONLY_CURL_HTTP
-
-import Text.XML.HXT.Parser.ProtocolHandlerHttpCurl
-    ( getHttpContentsWithCurl
-    )
-
-#else
-#ifdef NO_HTTP
-#else
-
-import Text.XML.HXT.Parser.ProtocolHandlerHttpNativeOrCurl
-    ( getHttpContentsNativeOrWithCurl
-    )
-
-#endif
-#endif
-#endif
-
--- ------------------------------------------------------------
---
-
-getProtocolHandler	:: String -> (URI -> XmlStateFilter a)
-getProtocolHandler proto
-    = fromMaybe getUnsupported handler
-      where
-      handler  = lookup proto protocolHandler
-
---
--- the fall back protocol handler
-
-getUnsupported	:: URI -> XmlStateFilter a
-getUnsupported uri
-    = addFatal ( "unsupported protocol "
-		 ++ show (uriScheme uri)
-		 ++ " in URI: "
-		 ++ show uri
-	       )
-
--- ------------------------------------------------------------
---
--- the table of potocol handlers
--- looked up in getProtocolHandler
-
-protocolHandler	:: [(String, URI -> XmlStateFilter a)]
-protocolHandler
-    = [ ("file", getFileContents)
-      , ("http",
-
-#ifdef ONLY_NATIVE_HTTP
-
-	 getHttpContentsWithHttp
-
-#else
-#ifdef ONLY_CURL_HTTP
-
-	 getHttpContentsWithCurl
-
-#else
-#ifdef NO_HTTP
-
-         getUnsupported
-
-#else
-
-	 getHttpContentsNativeOrWithCurl
-
-#endif
-#endif
-#endif
-	)
-      ]
-
--- ------------------------------------------------------------
-
-
diff --git a/src/Text/XML/HXT/Validator/DocTransformation.hs b/src/Text/XML/HXT/Validator/DocTransformation.hs
--- a/src/Text/XML/HXT/Validator/DocTransformation.hs
+++ b/src/Text/XML/HXT/Validator/DocTransformation.hs
@@ -37,10 +37,7 @@
 
 import Text.XML.HXT.Validator.AttributeValueValidation
 
-import Data.Maybe
 import Data.List
-
-
 
 -- |
 -- Lookup-table which maps element names to their transformation functions. The
diff --git a/src/Text/XML/HXT/Validator/DocValidation.hs b/src/Text/XML/HXT/Validator/DocValidation.hs
--- a/src/Text/XML/HXT/Validator/DocValidation.hs
+++ b/src/Text/XML/HXT/Validator/DocValidation.hs
@@ -29,8 +29,6 @@
 import Text.XML.HXT.Validator.AttributeValueValidation
 import Text.XML.HXT.Validator.XmlRE
 
-import Data.Maybe
-
 -- |
 -- Lookup-table which maps element names to their validation functions. The
 -- validation functions are XmlFilters.
diff --git a/src/Text/XML/HXT/Validator/Validation.hs b/src/Text/XML/HXT/Validator/Validation.hs
--- a/src/Text/XML/HXT/Validator/Validation.hs
+++ b/src/Text/XML/HXT/Validator/Validation.hs
@@ -48,8 +48,8 @@
       )
       where
       runValidation t
-	  = do
-	    issueError $$< res
+	  = ( issueError $$< res )
+            >>
 	    ( if null errs
 	      then ( traceMsg 1 "transforming validated document"
 		     .>>
diff --git a/src/hxt-filter-package.hs b/src/hxt-filter-package.hs
deleted file mode 100644
--- a/src/hxt-filter-package.hs
+++ /dev/null
@@ -1,114 +0,0 @@
-module Main
-where
-
-import Data.List
-import System.Environment
-
-part1	:: [String]
-part1
-    = [ "-- arch-tag: Haskell XML Toolbox main description file"
-      , "name: hxt-filter"
-      ]
-
-version	:: String
-version
-    = "version: "
-
-part2	:: [String]
-part2
-    = [ "license: OtherLicense"
-      , "license-file: LICENCE"
-      , "maintainer: Uwe Schmidt <uwe@fh-wedel.de>"
-      , "stability: stable"
-      , "category: XML"
-      , "synopsis: A collection of tools for processing XML with Haskell (Filter variant). "
-      , "description:  The Haskell XML Toolbox bases on the ideas of HaXml and HXML." ++
-	" This package is a compatibitlity package for old software working with the filter approach like in HaXml." ++
-	" For new projects it's recomended to use the arrow based library (hxt)."
-      , "homepage: http://www.fh-wedel.de/~si/HXmlToolbox/index.html"
-      , "copyright: Copyright (c) 2005-2009 Uwe Schmidt"
-      ]
-
-part3a	:: [String]
-part3a
-    = [ "tested-with: ghc-6.10"
-      , "exposed: True"
-      , "exposed-modules:"
-      ]
-
-part3b :: [String]
-part3b
-    = [ "build-type: Simple"
-      , "cabal-version: >=1.6"
-      , ""
-      , "library"
-      , " exposed-modules:"
-      ]
-
-part4a	:: String -> [String]
-part4a dir
-    = [ "hs-source-dirs: ."
-      , "ghc-options: -Wall -O2 -fglasgow-exts"
-      , "import-dirs: " ++ dir ++ "/imports"
-      , "library-dirs: " ++ dir
-      , "hs-libraries: HShxt-filter"
-      , "depends: base-4.0.0.0,"
-      , "         haskell98-1.0.1.0,"
-      , "         HUnit-1.2.0.3,"
-      , "         HTTP-3001.1.4,"
-      , "         parsec-2.1.0.1,"
-      , "         network-2.2.0.1,"
-      , "         containers-0.2.0.0,"
-      , "         directory-1.0.0.2,"
-      , "         process-1.0.1.0,"
-      , "         hxt-8.3.0"
-      ]
-
-part4b :: [String]
-part4b
-    = [ " hs-source-dirs: src"
-      , " ghc-options: -Wall"
-      , " extensions: MultiParamTypeClasses DeriveDataTypeable FunctionalDependencies FlexibleInstances"
-      , ""
-      , " build-depends: base       >= 4,"
-      , "                haskell98  >= 1,"
-      , "                containers >= 0.1,"
-      , "                directory  >= 1,"
-      , "                filepath   >= 1,"
-      , "                parsec     >= 2.1 && < 3,"
-      , "                HUnit      >= 1.2,"
-      , "                network    >= 2.1,"
-      , "                HTTP       >= 4000.0.4 && < 5000,"
-      , "                process    >= 1.0.1,"
-      , "                hxt        >= 8.3"
-      ]
-
-main	:: IO()
-main
-    = do
-      vers : cabal : installdir : modules <- getArgs
-      putStrLn (cabalFile vers cabal installdir modules)
-
-cabalFile	:: String -> String -> String -> [String] -> String
-cabalFile vers cabal installdir modules
-    = unlines $
-      part1 ++
-      [ version ++ vers ] ++
-      part2 ++
-      ( if isCabal
-	then part3b
-	else part3a
-      ) ++
-      [ml modules] ++
-      ( if isCabal
-	then part4b
-	else part4a installdir
-      )
-    where
-    isCabal = cabal == "cabal"
-    ml = foldr1 (\ x y -> x ++ ",\n" ++ y) . sort . map editPath
-    editPath = ("  " ++) . map slash2dot . reverse . drop 1 . dropWhile (/= '.') . reverse . removeLeadingDot
-    slash2dot '/' = '.'
-    slash2dot c   = c
-    removeLeadingDot ('.':'/':path)	= path
-    removeLeadingDot path		= path
