hxt-8.0.0: doc/hdoc/Text-XML-HXT-DOM-XmlState.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Text.XML.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-8.0.0: A collection of tools for processing XML with Haskell.</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
><P
>Version : $Id: XmlState.hs,v 1.3 2005<EM
>05</EM
>27 13:15:23 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"
><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
> = AssocList String XmlTrees</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 = XmlTree -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state XmlTrees</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AchangeState"
>changeState</A
> :: (state -> state) -> <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 -> <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
> -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
>SysState</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%3AsetSysState"
>setSysState</A
> :: <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
>SysState</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%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
> -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
>SysStateAttrs</A
>) -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
>SysState</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%3AsetSysErrorHandler"
>setSysErrorHandler</A
> :: <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXmlStateFilter"
>XmlStateFilter</A
> () -> <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
> :: String -> XmlTrees -> <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
> :: String -> String -> <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
> :: String -> Int -> <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
> :: String -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state XmlTrees</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetSysParam"
>getSysParam</A
> :: String -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetSysParamWithDefault"
>getSysParamWithDefault</A
> :: String -> String -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetSysParamInt"
>getSysParamInt</A
> :: String -> Int -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state Int</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 -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state res -> IO (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 -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state res -> IO 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 -> IO res</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Achain%27"
>chain'</A
> :: state1 -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state1 res -> <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 -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state1 res -> <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
> :: XmlFilter -> <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
> :: IO a -> <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
> :: Int -> <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 Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtraceCmd"
>traceCmd</A
> :: Int -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state a -> <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
> :: Int -> String -> <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
> :: Int -> (state -> String) -> <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
> :: Int -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AissueWarn"
>issueWarn</A
> :: String -> <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
> :: String -> <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
> :: String -> <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
> :: String -> <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
> :: Int -> String -> XmlFilter</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstatusOk"
>statusOk</A
> :: XmlFilter</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcheckResult"
>checkResult</A
> :: String -> <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 -> <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
> = AssocList String XmlTrees</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 = XmlTree -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state XmlTrees</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 -> state) -> <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 -> <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
> -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
>SysState</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
><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
> -> <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
> -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysStateAttrs"
>SysStateAttrs</A
>) -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3ASysState"
>SysState</A
> -> <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
> () -> <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
> :: String -> XmlTrees -> <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
> :: String -> String -> <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
> :: String -> Int -> <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
> :: String -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state XmlTrees</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
> :: String -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state String</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
> :: String -> String -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state String</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
> :: String -> Int -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state Int</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 -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state res -> IO (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 -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state res -> IO 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 -> IO 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 -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state1 res -> <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 -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state1 res -> <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
> :: XmlFilter -> <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
> :: IO a -> <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
> :: Int -> <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 Int</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
> :: Int -> <A HREF="Text-XML-HXT-DOM-XmlState.html#t%3AXState"
>XState</A
> state a -> <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 <= 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
> :: Int -> String -> <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
> :: Int -> (state -> String) -> <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 a_status
- 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 a_error_log
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
> :: Int -> String</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
c_warn (1) : warning,
c_err (2): error (e.g. parse error, validation error, ...),
c_fatal (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
> :: String -> <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
> :: String -> <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
> :: String -> <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
> :: String -> <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 a_status in a document root.
if it contains a value greater or equal to c_err, an error with error message
stored in attribute a_module is issued and the filter acts as the noneM filter
else its the thisM 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
> :: Int -> String -> XmlFilter</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 c_err
</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
> :: XmlFilter</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 c_err
</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
> :: String -> <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 -> <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 noneM
</P
><P
>see also : processAttr, processAttrl
</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 0.8</TD
></TR
></TABLE
></BODY
></HTML
>