hxt-7.5: doc/hdoc_arrow/Text-XML-HXT-RelaxNG-DataTypeLibUtils.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.RelaxNG.DataTypeLibUtils</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"
>Haskell Xml Toolbox 7.5: The Arrow API</TD
><TD CLASS="topbut"
><A HREF="http://darcs.fh-wedel.de/hxt/src/./Text/XML/HXT/RelaxNG/DataTypeLibUtils.hs"
>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.RelaxNG.DataTypeLibUtils</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>exports helper functions for the integration of new datatype-libraries
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgEqual"
>errorMsgEqual</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ADatatypeName"
>DatatypeName</A
> -> String -> String -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgDataTypeNotAllowed"
>errorMsgDataTypeNotAllowed</A
> :: String -> String -> [(String, String)] -> String -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgDataTypeNotAllowed0"
>errorMsgDataTypeNotAllowed0</A
> :: String -> String -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgDataTypeNotAllowed2"
>errorMsgDataTypeNotAllowed2</A
> :: String -> String -> String -> String -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgDataLibQName"
>errorMsgDataLibQName</A
> :: String -> String -> String -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AerrorMsgParam"
>errorMsgParam</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ALocalName"
>LocalName</A
> -> String -> String -> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arng_length"
>rng_length</A
> :: String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arng_maxLength"
>rng_maxLength</A
> :: String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arng_minLength"
>rng_minLength</A
> :: String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arng_maxExclusive"
>rng_maxExclusive</A
> :: String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arng_minExclusive"
>rng_minExclusive</A
> :: String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arng_maxInclusive"
>rng_maxInclusive</A
> :: String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arng_minInclusive"
>rng_minInclusive</A
> :: String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-XML-HXT-DOM-Util.html"
>Text.XML.HXT.DOM.Util</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html"
>Text.XML.HXT.RelaxNG.DataTypes</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AFunctionTable"
>FunctionTable</A
> = [(String, String -> String -> Bool)]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstringValidFT"
>stringValidFT</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3AFunctionTable"
>FunctionTable</A
> -> <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ADatatypeName"
>DatatypeName</A
> -> Integer -> Integer -> <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3AParamList"
>ParamList</A
> -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckString"
>CheckString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfctTableString"
>fctTableString</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3AFunctionTable"
>FunctionTable</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfctTableList"
>fctTableList</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3AFunctionTable"
>FunctionTable</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstringValid"
>stringValid</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ADatatypeName"
>DatatypeName</A
> -> Integer -> Integer -> <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3AParamList"
>ParamList</A
> -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckString"
>CheckString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnumberValid"
>numberValid</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ADatatypeName"
>DatatypeName</A
> -> Integer -> Integer -> <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3AParamList"
>ParamList</A
> -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckString"
>CheckString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnumParamValid"
>numParamValid</A
> :: (Integer -> Integer -> Bool) -> String -> String -> Bool</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3ACheckA"
>CheckA</A
> a b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ACheckString"
>CheckString</A
> = <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> String String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3ACheckInteger"
>CheckInteger</A
> = <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> Integer Integer</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AperformCheck"
>performCheck</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a b -> a -> Maybe String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aok"
>ok</A
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afailure"
>failure</A
> :: (a -> String) -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aassert"
>assert</A
> :: (a -> Bool) -> (a -> String) -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AassertMaybe"
>assertMaybe</A
> :: (a -> Maybe b) -> (a -> String) -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcheckWith"
>checkWith</A
> :: (a -> b) -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> b c -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> 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="decl"
><A NAME="v%3AerrorMsgEqual"
></A
><B
>errorMsgEqual</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ADatatypeName"
>DatatypeName</A
> -> String -> String -> String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AerrorMsgDataTypeNotAllowed"
></A
><B
>errorMsgDataTypeNotAllowed</B
> :: String -> String -> [(String, String)] -> String -> String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AerrorMsgDataTypeNotAllowed0"
></A
><B
>errorMsgDataTypeNotAllowed0</B
> :: String -> String -> String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AerrorMsgDataTypeNotAllowed2"
></A
><B
>errorMsgDataTypeNotAllowed2</B
> :: String -> String -> String -> String -> String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AerrorMsgDataLibQName"
></A
><B
>errorMsgDataLibQName</B
> :: String -> String -> String -> String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AerrorMsgParam"
></A
><B
>errorMsgParam</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ALocalName"
>LocalName</A
> -> String -> String -> String</TD
></TR
><TR
><TD CLASS="doc"
><P
>Error Message for the equality test of two datatype values
</P
><UL
><LI
> 1.parameter : datatype
</LI
><LI
> 2.parameter : datatype value
</LI
><LI
> 3.parameter : datatype value
</LI
></UL
><P
>example:
</P
><PRE
> errorMsgEqual "Int" "21" "42" -> "Datatype Int with value = 21 expected, but value = 42 found"
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Arng_length"
></A
><B
>rng_length</B
> :: String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Arng_maxLength"
></A
><B
>rng_maxLength</B
> :: String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Arng_minLength"
></A
><B
>rng_minLength</B
> :: String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Arng_maxExclusive"
></A
><B
>rng_maxExclusive</B
> :: String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Arng_minExclusive"
></A
><B
>rng_minExclusive</B
> :: String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Arng_maxInclusive"
></A
><B
>rng_maxInclusive</B
> :: String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Arng_minInclusive"
></A
><B
>rng_minInclusive</B
> :: String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-XML-HXT-DOM-Util.html"
>Text.XML.HXT.DOM.Util</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html"
>Text.XML.HXT.RelaxNG.DataTypes</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t%3AFunctionTable"
></A
><B
>FunctionTable</B
> = [(String, String -> String -> Bool)]</TD
></TR
><TR
><TD CLASS="doc"
>Function table type
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AstringValidFT"
></A
><B
>stringValidFT</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3AFunctionTable"
>FunctionTable</A
> -> <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ADatatypeName"
>DatatypeName</A
> -> Integer -> Integer -> <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3AParamList"
>ParamList</A
> -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckString"
>CheckString</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AfctTableString"
></A
><B
>fctTableString</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3AFunctionTable"
>FunctionTable</A
></TD
></TR
><TR
><TD CLASS="doc"
>Function table for string tests,
XML document value is first operand, schema value second
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AfctTableList"
></A
><B
>fctTableList</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3AFunctionTable"
>FunctionTable</A
></TD
></TR
><TR
><TD CLASS="doc"
>Function table for list tests,
XML document value is first operand, schema value second
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AstringValid"
></A
><B
>stringValid</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ADatatypeName"
>DatatypeName</A
> -> Integer -> Integer -> <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3AParamList"
>ParamList</A
> -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckString"
>CheckString</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Tests whether a "string" datatype value is between the lower and
upper bound of the datatype and matches all parameters.
</P
><P
>All tests are performed on the string value.
</P
><UL
><LI
> 1.parameter : datatype
</LI
><LI
> 2.parameter : lower bound of the datatype range
</LI
><LI
> 3.parameter : upper bound of the datatype range (-1 = no upper bound)
</LI
><LI
> 4.parameter : list of parameters
</LI
><LI
> 5.parameter : datatype value to be checked
</LI
><LI
> return : Just "Errormessage" in case of an error, else Nothing
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AnumberValid"
></A
><B
>numberValid</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3ADatatypeName"
>DatatypeName</A
> -> Integer -> Integer -> <A HREF="Text-XML-HXT-RelaxNG-DataTypes.html#t%3AParamList"
>ParamList</A
> -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckString"
>CheckString</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Tests whether a "numeric" datatype value is between the lower and upper
bound of the datatype and matches all parameters.
</P
><P
>First, the string value is parsed into a numeric representation.
If no error occur, all following tests are performed on the numeric value.
</P
><UL
><LI
> 1.parameter : datatype
</LI
><LI
> 2.parameter : lower bound of the datatype range
</LI
><LI
> 3.parameter : upper bound of the datatype range (-1 = no upper bound)
</LI
><LI
> 4.parameter : list of parameters
</LI
><LI
> 5.parameter : datatype value to be checked
</LI
><LI
> return : Just "Errormessage" in case of an error, else Nothing
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AnumParamValid"
></A
><B
>numParamValid</B
> :: (Integer -> Integer -> Bool) -> String -> String -> Bool</TD
></TR
><TR
><TD CLASS="doc"
><P
>tests whether a string value matches a numeric param
</P
><P
>valid example:
</P
><PRE
> <data type="CHAR"> <param name="maxLength">5</param> </data>
</PRE
><P
>invalid example:
</P
><PRE
> <data type="CHAR"> <param name="minLength">foo</param> </data>
</PRE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t%3ACheckA"
></A
><B
>CheckA</B
> a b</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CheckA')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:CheckA" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Arrow <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
></TD
></TR
><TR
><TD CLASS="decl"
>ArrowPlus <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
></TD
></TR
><TR
><TD CLASS="decl"
>ArrowZero <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t%3ACheckString"
></A
><B
>CheckString</B
> = <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> String String</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t%3ACheckInteger"
></A
><B
>CheckInteger</B
> = <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> Integer Integer</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AperformCheck"
></A
><B
>performCheck</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a b -> a -> Maybe String</TD
></TR
><TR
><TD CLASS="doc"
>run a check and deliver Just an error message or Nothing
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Aok"
></A
><B
>ok</B
> :: <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a a</TD
></TR
><TR
><TD CLASS="doc"
>every thing is fine
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Afailure"
></A
><B
>failure</B
> :: (a -> String) -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a b</TD
></TR
><TR
><TD CLASS="doc"
>always failure
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3Aassert"
></A
><B
>assert</B
> :: (a -> Bool) -> (a -> String) -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a a</TD
></TR
><TR
><TD CLASS="doc"
>perform a simple check with a predicate p,
when the predicate holds, assert acts as identity,
else an error message is generated
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AassertMaybe"
></A
><B
>assertMaybe</B
> :: (a -> Maybe b) -> (a -> String) -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a b</TD
></TR
><TR
><TD CLASS="doc"
>perform a simple check with a Maybe function, Nothing indicates error
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v%3AcheckWith"
></A
><B
>checkWith</B
> :: (a -> b) -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> b c -> <A HREF="Text-XML-HXT-RelaxNG-DataTypeLibUtils.html#t%3ACheckA"
>CheckA</A
> a a</TD
></TR
><TR
><TD CLASS="doc"
>perform a check, but convert the value before checking
</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
>