hxt-8.1.0: doc/hdoc/Text-XML-HXT-Arrow-XmlIOStateArrow.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.Arrow.XmlIOStateArrow</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.1.0: A collection of tools for processing XML with Haskell.</TD
><TD CLASS="topbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.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.Arrow.XmlIOStateArrow</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
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Data Types
</A
></DT
><DT
><A HREF="#2"
>Running Arrows
</A
></DT
><DT
><A HREF="#3"
>User State Manipulation
</A
></DT
><DT
><A HREF="#4"
>Global System State Access
</A
></DT
><DT
><A HREF="#5"
>Error Message Handling
</A
></DT
><DT
><A HREF="#6"
>Document Base
</A
></DT
><DT
><A HREF="#7"
>Tracing
</A
></DT
><DT
><A HREF="#8"
>URI Manipulation
</A
></DT
><DT
><A HREF="#9"
>Mime Type Handling
</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
>Version : $Id: XmlIOStateArrow.hs,v 1.39 2006<EM
>11</EM
>09 20:27:42 hxml Exp $
</P
><P
>the basic state arrows for XML processing
</P
><P
>A state is needed for global processing options,
like encoding options, document base URI, trace levels
and error message handling
</P
><P
>The state is separated into a user defined state
and a system state. The system state contains variables
for error message handling, for tracing, for the document base
for accessing XML documents with relative references, e.g. DTDs,
and a global key value store. This assoc list has strings as keys
and lists of XmlTrees as values. It is used to store arbitrary
XML and text values, e.g. user defined global options.
</P
><P
>The user defined part of the store is in the default case empty, defined as ().
It can be extended with an arbitray data type
</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%3AXIOState"
>XIOState</A
> us = <A HREF="#v%3AXIOState"
>XIOState</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_sysState"
>xio_sysState</A
> :: !<A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_userState"
>xio_userState</A
> :: !us</TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3AXIOSysState"
>XIOSysState</A
> = <A HREF="#v%3AXIOSys"
>XIOSys</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_trace"
>xio_trace</A
> :: !Int</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_errorStatus"
>xio_errorStatus</A
> :: !Int</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_errorModule"
>xio_errorModule</A
> :: !String</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_errorMsgHandler"
>xio_errorMsgHandler</A
> :: (String -> IO ())</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_errorMsgCollect"
>xio_errorMsgCollect</A
> :: !Bool</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_errorMsgList"
>xio_errorMsgList</A
> :: !<A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
>XmlTrees</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_baseURI"
>xio_baseURI</A
> :: !String</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_defaultBaseURI"
>xio_defaultBaseURI</A
> :: !String</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_attrList"
>xio_attrList</A
> :: !(<A HREF="Data-AssocList.html#t%3AAssocList"
>AssocList</A
> String <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
>XmlTrees</A
>)</TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Axio_mimeTypes"
>xio_mimeTypes</A
> :: <A HREF="Text-XML-HXT-DOM-MimeTypes.html#t%3AMimeTypeTable"
>MimeTypeTable</A
></TD
></TR
></TABLE
>}</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AIOStateArrow"
>IOStateArrow</A
> s b c = <A HREF="Control-Arrow-IOStateListArrow.html#t%3AIOSLA"
>IOSLA</A
> (<A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOState"
>XIOState</A
> s) b c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AIOSArrow"
>IOSArrow</A
> b c = <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> () b c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinitialState"
>initialState</A
> :: us -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOState"
>XIOState</A
> us</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinitialSysState"
>initialSysState</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArunX"
>runX</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOSArrow"
>IOSArrow</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> c -> IO [c]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetUserState"
>getUserState</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetUserState"
>setUserState</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s s s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AchangeUserState"
>changeUserState</A
> :: (b -> s -> s) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithExtendedUserState"
>withExtendedUserState</A
> :: s1 -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> (s1, s0) b c -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s0 b c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithOtherUserState"
>withOtherUserState</A
> :: s1 -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s1 b c -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s0 b c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetSysParam"
>getSysParam</A
> :: (<A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
> -> c) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AchangeSysParam"
>changeSysParam</A
> :: (b -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
> -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
>) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetParamList"
>setParamList</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
>XmlTrees</A
> <A HREF="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%3AsetParam"
>setParam</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AunsetParam"
>unsetParam</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetParam"
>getParam</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b <A HREF="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%3AgetAllParams"
>getAllParams</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b (<A HREF="Data-AssocList.html#t%3AAssocList"
>AssocList</A
> String <A HREF="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%3AgetAllParamsString"
>getAllParamsString</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b (<A HREF="Data-AssocList.html#t%3AAssocList"
>AssocList</A
> String String)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetParamString"
>setParamString</A
> :: String -> String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetParamString"
>getParamString</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetParamInt"
>setParamInt</A
> :: String -> Int -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetParamInt"
>getParamInt</A
> :: Int -> String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AclearErrStatus"
>clearErrStatus</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetErrStatus"
>setErrStatus</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s Int Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetErrStatus"
>getErrStatus</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetErrMsgStatus"
>setErrMsgStatus</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AsetErrorMsgHandler"
>setErrorMsgHandler</A
> :: Bool -> (String -> IO ()) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgStderr"
>errorMsgStderr</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgCollect"
>errorMsgCollect</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgStderrAndCollect"
>errorMsgStderrAndCollect</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgIgnore"
>errorMsgIgnore</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetErrorMessages"
>getErrorMessages</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b <A HREF="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%3AfilterErrorMsg"
>filterErrorMsg</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AissueWarn"
>issueWarn</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AissueErr"
>issueErr</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AissueFatal"
>issueFatal</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetDocumentStatus"
>setDocumentStatus</A
> :: Int -> String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AsetDocumentStatusFromSystemState"
>setDocumentStatusFromSystemState</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AdocumentStatusOk"
>documentStatusOk</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a => a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AsetBaseURI"
>setBaseURI</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetBaseURI"
>getBaseURI</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AchangeBaseURI"
>changeBaseURI</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetDefaultBaseURI"
>setDefaultBaseURI</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetDefaultBaseURI"
>getDefaultBaseURI</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArunInLocalURIContext"
>runInLocalURIContext</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetTraceLevel"
>setTraceLevel</A
> :: Int -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetTraceLevel"
>getTraceLevel</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwithTraceLevel"
>withTraceLevel</A
> :: Int -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atrace"
>trace</A
> :: Int -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtraceMsg"
>traceMsg</A
> :: Int -> String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtraceString"
>traceString</A
> :: Int -> (String -> String) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtraceSource"
>traceSource</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AtraceTree"
>traceTree</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AtraceDoc"
>traceDoc</A
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="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%3AtraceState"
>traceState</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AexpandURIString"
>expandURIString</A
> :: String -> String -> Maybe String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AexpandURI"
>expandURI</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a => a (String, String) String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkAbsURI"
>mkAbsURI</A
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetFragmentFromURI"
>getFragmentFromURI</A
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetPathFromURI"
>getPathFromURI</A
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetPortFromURI"
>getPortFromURI</A
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetQueryFromURI"
>getQueryFromURI</A
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetRegNameFromURI"
>getRegNameFromURI</A
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetSchemeFromURI"
>getSchemeFromURI</A
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetUserInfoFromURI"
>getUserInfoFromURI</A
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetMimeTypeTable"
>setMimeTypeTable</A
> :: <A HREF="Text-XML-HXT-DOM-MimeTypes.html#t%3AMimeTypeTable"
>MimeTypeTable</A
> -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsetMimeTypeTableFromFile"
>setMimeTypeTableFromFile</A
> :: FilePath -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
>Data Types
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AXIOState"
></A
><B
>XIOState</B
> us</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#XIOState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>state datatype consists of a system state and a user state
the user state is not fixed
</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%3AXIOState"
></A
><B
>XIOState</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%3Axio_sysState"
></A
><B
>xio_sysState</B
> :: !<A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_userState"
></A
><B
>xio_userState</B
> :: !us</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:XIOState')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:XIOState" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Control-Strategies-DeepSeq.html#t%3ADeepSeq"
>DeepSeq</A
> us => <A HREF="Control-Strategies-DeepSeq.html#t%3ADeepSeq"
>DeepSeq</A
> (<A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOState"
>XIOState</A
> us)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3AXIOSysState"
></A
><B
>XIOSysState</B
> </TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#XIOSysState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>predefined system state data type with all components for the
system functions, like trace, error handling, ...
</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%3AXIOSys"
></A
><B
>XIOSys</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%3Axio_trace"
></A
><B
>xio_trace</B
> :: !Int</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_errorStatus"
></A
><B
>xio_errorStatus</B
> :: !Int</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_errorModule"
></A
><B
>xio_errorModule</B
> :: !String</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_errorMsgHandler"
></A
><B
>xio_errorMsgHandler</B
> :: (String -> IO ())</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_errorMsgCollect"
></A
><B
>xio_errorMsgCollect</B
> :: !Bool</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_errorMsgList"
></A
><B
>xio_errorMsgList</B
> :: !<A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
>XmlTrees</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_baseURI"
></A
><B
>xio_baseURI</B
> :: !String</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_defaultBaseURI"
></A
><B
>xio_defaultBaseURI</B
> :: !String</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_attrList"
></A
><B
>xio_attrList</B
> :: !(<A HREF="Data-AssocList.html#t%3AAssocList"
>AssocList</A
> String <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
>XmlTrees</A
>)</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v%3Axio_mimeTypes"
></A
><B
>xio_mimeTypes</B
> :: <A HREF="Text-XML-HXT-DOM-MimeTypes.html#t%3AMimeTypeTable"
>MimeTypeTable</A
></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:XIOSysState')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:XIOSysState" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Control-Strategies-DeepSeq.html#t%3ADeepSeq"
>DeepSeq</A
> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t%3AIOStateArrow"
></A
><B
>IOStateArrow</B
> s b c = <A HREF="Control-Arrow-IOStateListArrow.html#t%3AIOSLA"
>IOSLA</A
> (<A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOState"
>XIOState</A
> s) b c</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#IOStateArrow"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The arrow type for stateful arrows
</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%3AIOSArrow"
></A
><B
>IOSArrow</B
> b c = <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> () b c</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#IOSArrow"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>The arrow for stateful arrows with no user defined state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
>Running Arrows
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AinitialState"
></A
><B
>initialState</B
> :: us -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOState"
>XIOState</A
> us</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#initialState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>the default global state, used as initial state when running an <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOSArrow"
>IOSArrow</A
></TT
> with <TT
><A HREF="Control-Arrow-IOStateListArrow.html#v%3ArunIOSLA"
>runIOSLA</A
></TT
> or
<TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#v%3ArunX"
>runX</A
></TT
>
</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-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#initialSysState"
>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%3ArunX"
></A
><B
>runX</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOSArrow"
>IOSArrow</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> c -> IO [c]</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#runX"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>apply an <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOSArrow"
>IOSArrow</A
></TT
> to an empty root node with <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#v%3AinitialState"
>initialState</A
></TT
> () as initial state
</P
><P
>the main entry point for running a state arrow with IO
</P
><P
>when running <TT
> runX f</TT
> an empty XML root node is applied to <TT
>f</TT
>.
usually <TT
>f</TT
> will start with a constant arrow (ignoring the input), e.g. a <TT
><A HREF="Text-XML-HXT-Arrow-ReadDocument.html#v%3AreadDocument"
>readDocument</A
></TT
> arrow.
</P
><P
>for usage see examples with <TT
><A HREF="Text-XML-HXT-Arrow-WriteDocument.html#v%3AwriteDocument"
>writeDocument</A
></TT
>
</P
><P
>if input has to be feed into the arrow use <TT
><A HREF="Control-Arrow-IOStateListArrow.html#v%3ArunIOSLA"
>runIOSLA</A
></TT
> like in <TT
> runIOSLA f emptyX inputDoc </TT
>
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
>User State Manipulation
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetUserState"
></A
><B
>getUserState</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b s</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getUserState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>read the user defined part of the state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AsetUserState"
></A
><B
>setUserState</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s s s</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setUserState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>set the user defined part of the state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AchangeUserState"
></A
><B
>changeUserState</B
> :: (b -> s -> s) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#changeUserState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>change the user defined part of the state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AwithExtendedUserState"
></A
><B
>withExtendedUserState</B
> :: s1 -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> (s1, s0) b c -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s0 b c</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#withExtendedUserState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>extend user state
</P
><P
>Run an arrow with an extended user state component, The old component
is stored together with a new one in a pair, the arrow is executed with this
extended state, and the augmented state component is removed form the state
when the arrow has finished its execution
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AwithOtherUserState"
></A
><B
>withOtherUserState</B
> :: s1 -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s1 b c -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s0 b c</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#withOtherUserState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>change the type of user state
</P
><P
>This conversion is useful, when running a state arrow with another
structure of the user state, e.g. with () when executing some IO arrows
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
>Global System State Access
</A
></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="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
> -> c) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getSysParam"
>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%3AchangeSysParam"
></A
><B
>changeSysParam</B
> :: (b -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
> -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AXIOSysState"
>XIOSysState</A
>) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#changeSysParam"
>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%3AsetParamList"
></A
><B
>setParamList</B
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
>XmlTrees</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setParamList"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>store a list of XML trees in global system state under 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%3AsetParam"
></A
><B
>setParam</B
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setParam"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>store a single XML tree in global state under 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%3AunsetParam"
></A
><B
>unsetParam</B
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#unsetParam"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>remove an entry in global state, arrow input remains unchanged
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetParam"
></A
><B
>getParam</B
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getParam"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>read an attribute value from global state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetAllParams"
></A
><B
>getAllParams</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b (<A HREF="Data-AssocList.html#t%3AAssocList"
>AssocList</A
> String <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTrees"
>XmlTrees</A
>)</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getAllParams"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>read all attributes from global state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetAllParamsString"
></A
><B
>getAllParamsString</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b (<A HREF="Data-AssocList.html#t%3AAssocList"
>AssocList</A
> String String)</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getAllParamsString"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>read all attributes from global state
and convert the values to strings
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AsetParamString"
></A
><B
>setParamString</B
> :: String -> String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setParamString"
>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%3AgetParamString"
></A
><B
>getParamString</B
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getParamString"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>read a string value from global state,
if parameter not set "" is returned
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AsetParamInt"
></A
><B
>setParamInt</B
> :: String -> Int -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setParamInt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>store an int value in global state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetParamInt"
></A
><B
>getParamInt</B
> :: Int -> String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b Int</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getParamInt"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>read an int value from global state
</P
><PRE
> getParamInt 0 myIntAttr
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
>Error Message Handling
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AclearErrStatus"
></A
><B
>clearErrStatus</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#clearErrStatus"
>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%3AsetErrStatus"
></A
><B
>setErrStatus</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s Int Int</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setErrStatus"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>set global error variable
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetErrStatus"
></A
><B
>getErrStatus</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> Int</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getErrStatus"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>read current global error status
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AsetErrMsgStatus"
></A
><B
>setErrMsgStatus</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setErrMsgStatus"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>raise the global error status level to that 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%3AsetErrorMsgHandler"
></A
><B
>setErrorMsgHandler</B
> :: Bool -> (String -> IO ()) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setErrorMsgHandler"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>set the error message handler and the flag for collecting the errors
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AerrorMsgStderr"
></A
><B
>errorMsgStderr</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#errorMsgStderr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>the default error message handler: error output to stderr
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AerrorMsgCollect"
></A
><B
>errorMsgCollect</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#errorMsgCollect"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>error message handler for collecting errors
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AerrorMsgStderrAndCollect"
></A
><B
>errorMsgStderrAndCollect</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#errorMsgStderrAndCollect"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>error message handler for output to stderr and collecting
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AerrorMsgIgnore"
></A
><B
>errorMsgIgnore</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#errorMsgIgnore"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>error message handler for ignoring errors
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetErrorMessages"
></A
><B
>getErrorMessages</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getErrorMessages"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>if error messages are collected by the error handler for
processing these messages by the calling application,
this arrow reads the stored messages and clears the error message store
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AfilterErrorMsg"
></A
><B
>filterErrorMsg</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#filterErrorMsg"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>filter error messages from input trees and issue errors
</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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#issueWarn"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>generate a warnig message
</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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#issueErr"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>generate an error message
</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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#issueFatal"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>generate a fatal error message, e.g. document not found
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AsetDocumentStatus"
></A
><B
>setDocumentStatus</B
> :: Int -> String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setDocumentStatus"
>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="Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_err"
>c_err</A
></TT
>.
called by <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#v%3AsetDocumentStatusFromSystemState"
>setDocumentStatusFromSystemState</A
></TT
> when the system state indicates an error
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AsetDocumentStatusFromSystemState"
></A
><B
>setDocumentStatusFromSystemState</B
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setDocumentStatusFromSystemState"
>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 the module name where the error occured and the error level are added as attributes with <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#v%3AsetDocumentStatus"
>setDocumentStatus</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%3AdocumentStatusOk"
></A
><B
>documentStatusOk</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a => a <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#documentStatusOk"
>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="Text-XML-HXT-DOM-TypeDefs.html#v%3Ac_err"
>c_err</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
>Document Base
</A
></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="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setBaseURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>set the base URI of a document, used e.g. for reading includes, e.g. external entities,
the input must be an absolute URI
</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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getBaseURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>read the base URI from the globale state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AchangeBaseURI"
></A
><B
>changeBaseURI</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#changeBaseURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>change the base URI with a possibly relative URI, can be used for
evaluating the xml:base attribute. Returns the new absolute base URI.
Fails, if input is not parsable with parseURIReference
</P
><P
>see also: <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#v%3AsetBaseURI"
>setBaseURI</A
></TT
>, <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#v%3AmkAbsURI"
>mkAbsURI</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%3AsetDefaultBaseURI"
></A
><B
>setDefaultBaseURI</B
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setDefaultBaseURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>set the default base URI, if parameter is null, the system base (<TT
> file:///<cwd>/ </TT
>) is used,
else the parameter, must be called before any document is read
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetDefaultBaseURI"
></A
><B
>getDefaultBaseURI</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getDefaultBaseURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>get the default base URI
</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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#runInLocalURIContext"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>remember base uri, run an arrow and restore the base URI, used with external entity substitution
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
>Tracing
</A
></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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setTraceLevel"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>set the global trace level
</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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b Int</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getTraceLevel"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>read the global trace level
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AwithTraceLevel"
></A
><B
>withTraceLevel</B
> :: Int -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b c</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#withTraceLevel"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>run an arrow with a given trace level, the old trace level is restored after the arrow execution
</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 -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#trace"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>apply a trace arrow and issue message to stderr
</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
> :: Int -> String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#traceMsg"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>issue a string message as trace
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtraceString"
></A
><B
>traceString</B
> :: Int -> (String -> String) -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#traceString"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>issue the string input of an arrow
</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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#traceSource"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>issue the source representation of a document if trace level >= 3
</P
><P
>for better readability the source is formated with indentDoc
</P
></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-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#traceTree"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>issue the tree representation of a document if trace level >= 4
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AtraceDoc"
></A
><B
>traceDoc</B
> :: String -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
> <A HREF="Text-XML-HXT-DOM-TypeDefs.html#t%3AXmlTree"
>XmlTree</A
></TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#traceDoc"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>trace a main computation step
issue a message when trace level >= 1, issue document source if level >= 3, issue tree when level is >= 4
</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="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#traceState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>trace the global state
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
>URI Manipulation
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AexpandURIString"
></A
><B
>expandURIString</B
> :: String -> String -> Maybe String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#expandURIString"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>compute the absolut URI for a given URI and a base URI
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AexpandURI"
></A
><B
>expandURI</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlArrow.html#t%3AArrowXml"
>ArrowXml</A
> a => a (String, String) String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#expandURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>arrow variant of <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#v%3AexpandURIString"
>expandURIString</A
></TT
>, fails if <TT
><A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#v%3AexpandURIString"
>expandURIString</A
></TT
> returns Nothing
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AmkAbsURI"
></A
><B
>mkAbsURI</B
> :: <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#mkAbsURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>arrow for expanding an input URI into an absolute URI using global base URI, fails if input is not a legal URI
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetFragmentFromURI"
></A
><B
>getFragmentFromURI</B
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getFragmentFromURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>arrow for computing the fragment component of an URI, fails if input is not a legal URI
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetPathFromURI"
></A
><B
>getPathFromURI</B
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getPathFromURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>arrow for computing the path component of an URI, fails if input is not a legal URI
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetPortFromURI"
></A
><B
>getPortFromURI</B
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getPortFromURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>arrow for selecting the port number of the URI without leading ':', fails if input is not a legal URI
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetQueryFromURI"
></A
><B
>getQueryFromURI</B
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getQueryFromURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>arrow for computing the query component of an URI, fails if input is not a legal URI
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetRegNameFromURI"
></A
><B
>getRegNameFromURI</B
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getRegNameFromURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>arrow for selecting the registered name (host) of the URI, fails if input is not a legal URI
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetSchemeFromURI"
></A
><B
>getSchemeFromURI</B
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getSchemeFromURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>arrow for selecting the scheme (protocol) of the URI, fails if input is not a legal URI.
</P
><P
>See Network.URI for URI components
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AgetUserInfoFromURI"
></A
><B
>getUserInfoFromURI</B
> :: <A HREF="Control-Arrow-ArrowList.html#t%3AArrowList"
>ArrowList</A
> a => a String String</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#getUserInfoFromURI"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>arrow for selecting the user info of the URI without trailing '@', fails if input is not a legal URI
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="9"
>Mime Type Handling
</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AsetMimeTypeTable"
></A
><B
>setMimeTypeTable</B
> :: <A HREF="Text-XML-HXT-DOM-MimeTypes.html#t%3AMimeTypeTable"
>MimeTypeTable</A
> -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setMimeTypeTable"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>set the table mapping of file extensions to mime types in the system state
</P
><P
>Default table is defined in <TT
><A HREF="Text-XML-HXT-DOM.html#t%3AMimeTypeDefaults"
>MimeTypeDefaults</A
></TT
>.
This table is used when reading loacl files, (file: protocol) to determine the mime type
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v%3AsetMimeTypeTableFromFile"
></A
><B
>setMimeTypeTableFromFile</B
> :: FilePath -> <A HREF="Text-XML-HXT-Arrow-XmlIOStateArrow.html#t%3AIOStateArrow"
>IOStateArrow</A
> s b b</TD
><TD CLASS="declbut"
><A HREF="src/Text-XML-HXT-Arrow-XmlIOStateArrow.html#setMimeTypeTableFromFile"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
><P
>set the table mapping of file extensions to mime types by an external config file
</P
><P
>The config file must follow the conventions of <EM
>etc</EM
>mime.types on a debian linux system,
that means all empty lines and all lines starting with a # are ignored. The other lines
must consist of a mime type followed by a possible empty list of extensions.
The list of extenstions and mime types overwrites the default list in the system state
of the IOStateArrow
</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
>