| hxt-8.5.4: A collection of tools for processing XML with Haskell. | Source code | Contents | Index
Text.XML.HXT.RelaxNG.DataTypeLibUtils
Description
exports helper functions for the integration of new datatype-libraries
Synopsis
errorMsgEqual :: DatatypeName -> String -> String -> String
errorMsgDataTypeNotAllowed :: String -> String -> [(String, String)] -> String -> String
errorMsgDataTypeNotAllowed0 :: String -> String -> String
errorMsgDataTypeNotAllowed2 :: String -> String -> String -> String -> String
errorMsgDataLibQName :: String -> String -> String -> String
errorMsgParam :: LocalName -> String -> String -> String
rng_length :: String
rng_maxLength :: String
rng_minLength :: String
rng_maxExclusive :: String
rng_minExclusive :: String
rng_maxInclusive :: String
rng_minInclusive :: String
module Control.Arrow
module Text.XML.HXT.DOM.Util
module Text.XML.HXT.RelaxNG.Utils
module Text.XML.HXT.RelaxNG.DataTypes
type FunctionTable = [(String, String -> String -> Bool)]
stringValidFT :: FunctionTable -> DatatypeName -> Integer -> Integer -> ParamList -> CheckString
fctTableString :: FunctionTable
fctTableList :: FunctionTable
stringValid :: DatatypeName -> Integer -> Integer -> ParamList -> CheckString
numberValid :: DatatypeName -> Integer -> Integer -> ParamList -> CheckString
numParamValid :: (Integer -> Integer -> Bool) -> String -> String -> Bool
data CheckA a b
type CheckString = CheckA String String
type CheckInteger = CheckA Integer Integer
performCheck :: CheckA a b -> a -> Maybe String
ok :: CheckA a a
failure :: (a -> String) -> CheckA a b
assert :: (a -> Bool) -> (a -> String) -> CheckA a a
assertMaybe :: (a -> Maybe b) -> (a -> String) -> CheckA a b
checkWith :: (a -> b) -> CheckA b c -> CheckA a a
Documentation
errorMsgEqual :: DatatypeName -> String -> String -> String | Source
errorMsgDataTypeNotAllowed :: String -> String -> [(String, String)] -> String -> String | Source
errorMsgDataTypeNotAllowed0 :: String -> String -> String | Source
errorMsgDataTypeNotAllowed2 :: String -> String -> String -> String -> String | Source
errorMsgDataLibQName :: String -> String -> String -> String | Source
errorMsgParam :: LocalName -> String -> String -> String | Source
Error Message for the equality test of two datatype values 1.parameter : datatype 2.parameter : datatype value 3.parameter : datatype value example:
     errorMsgEqual "Int" "21" "42" -> "Datatype Int with value = 21 expected, but value = 42 found"
rng_length :: String | Source
rng_maxLength :: String | Source
rng_minLength :: String | Source
rng_maxExclusive :: String | Source
rng_minExclusive :: String | Source
rng_maxInclusive :: String | Source
rng_minInclusive :: String | Source
module Control.Arrow
module Text.XML.HXT.DOM.Util
module Text.XML.HXT.RelaxNG.Utils
module Text.XML.HXT.RelaxNG.DataTypes
type FunctionTable = [(String, String -> String -> Bool)] | Source
Function table type
stringValidFT :: FunctionTable -> DatatypeName -> Integer -> Integer -> ParamList -> CheckString | Source
fctTableString :: FunctionTable | Source
Function table for string tests, XML document value is first operand, schema value second
fctTableList :: FunctionTable | Source
Function table for list tests, XML document value is first operand, schema value second
stringValid :: DatatypeName -> Integer -> Integer -> ParamList -> CheckString | Source
Tests whether a "string" datatype value is between the lower and upper bound of the datatype and matches all parameters. All tests are performed on the string value. 1.parameter : datatype 2.parameter : lower bound of the datatype range 3.parameter : upper bound of the datatype range (-1 = no upper bound) 4.parameter : list of parameters 5.parameter : datatype value to be checked return : Just "Errormessage" in case of an error, else Nothing
numberValid :: DatatypeName -> Integer -> Integer -> ParamList -> CheckString | Source
Tests whether a "numeric" datatype value is between the lower and upper bound of the datatype and matches all parameters. First, the string value is parsed into a numeric representation. If no error occur, all following tests are performed on the numeric value. 1.parameter : datatype 2.parameter : lower bound of the datatype range 3.parameter : upper bound of the datatype range (-1 = no upper bound) 4.parameter : list of parameters 5.parameter : datatype value to be checked return : Just "Errormessage" in case of an error, else Nothing
numParamValid :: (Integer -> Integer -> Bool) -> String -> String -> Bool | Source
tests whether a string value matches a numeric param valid example:
     <data type="CHAR"> <param name="maxLength">5</param> </data>
invalid example:
     <data type="CHAR"> <param name="minLength">foo</param> </data>
data CheckA a b | Source
Instances
Arrow CheckA
ArrowZero CheckA
ArrowPlus CheckA
Category CheckA
type CheckString = CheckA String String | Source
type CheckInteger = CheckA Integer Integer | Source
performCheck :: CheckA a b -> a -> Maybe String | Source
run a check and deliver Just an error message or Nothing
ok :: CheckA a a | Source
every thing is fine
failure :: (a -> String) -> CheckA a b | Source
always failure
assert :: (a -> Bool) -> (a -> String) -> CheckA a a | Source
perform a simple check with a predicate p, when the predicate holds, assert acts as identity, else an error message is generated
assertMaybe :: (a -> Maybe b) -> (a -> String) -> CheckA a b | Source
perform a simple check with a Maybe function, Nothing indicates error
checkWith :: (a -> b) -> CheckA b c -> CheckA a a | Source
perform a check, but convert the value before checking
Produced by Haddock version 2.4.2