hxt-regex-xmlschema-9.1.0: A regular expression library for W3C XML Schema regular expressions

MaintainerUwe Schmidt (uwe@fh-wedel.de)
Safe HaskellSafe-Inferred



W3C XML Schema Regular Expression Parser

This parser supports the full W3C standard, the complete grammar can be found under http://www.w3.org/TR/xmlschema11-2/#regexs and extensions for all missing set operations, intersection, difference, exclusive or, interleave, complement



parseRegex :: String -> RegexSource

parse a standard W3C XML Schema regular expression

parseRegexExt :: String -> RegexSource

parse an extended syntax W3C XML Schema regular expression

The Syntax of the W3C XML Schema spec is extended by further useful set operations, like intersection, difference, exor. Subexpression match becomes possible with "named" pairs of parentheses. The multi char escape sequence \a represents any Unicode char, The multi char escape sequence \A represents any Unicode word, (\A = \a*). All syntactically wrong inputs are mapped to the Zero expression representing the empty set of words. Zero contains as data field a string for an error message. So error checking after parsing becomes possible by checking against Zero (isZero predicate)

parseContextRegex :: (String -> Regex) -> String -> RegexSource

parse a regular expression surrounded by contenxt spec

a leading ^ denotes start of text, a trailing $ denotes end of text, a leading \< denotes word start, a trailing \> denotes word end.

The 1. param ist the regex parser (parseRegex or parseRegexExt)