hxt-9.3.1.22: A collection of tools for processing XML with Haskell.

Copyright | Copyright (C) 2008 Uwe Schmidt
License | MIT
Maintainer | Uwe Schmidt (uwe@fh-wedel.de)
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell2010

Text.XML.HXT.DTDValidation.XmlRE

Description

A module for regular expression matching, adapted for XML DTDs.

This module is based on the module RE.

Synopsis

- data RE a
- checkRE :: (Eq a, Show a) => RE a -> String
- matches :: RE String -> XmlTrees -> RE String
- printRE :: (Eq a, Show a) => RE a -> String
- re_unit :: RE a
- re_zero :: String -> RE a
- re_sym :: a -> RE a
- re_rep :: RE a -> RE a
- re_plus :: RE a -> RE a
- re_opt :: Ord a => RE a -> RE a
- re_seq :: RE a -> RE a -> RE a
- re_alt :: Ord a => RE a -> RE a -> RE a
- re_dot :: RE a

# Documentation

data RE a #

Data type for regular expressions.

#### Instances

Instances details

Show a => Show (RE a) # |
Instance details Defined in Text.XML.HXT.DTDValidation.RE Methods showsPrec :: Int -> RE a -> ShowS # show :: RE a -> String # showList :: [RE a] -> ShowS #
Eq a => Eq (RE a) # |
Instance details Defined in Text.XML.HXT.DTDValidation.RE Methods (==) :: RE a -> RE a -> Bool # (/=) :: RE a -> RE a -> Bool #
Ord a => Ord (RE a) # |
Instance details Defined in Text.XML.HXT.DTDValidation.RE Methods compare :: RE a -> RE a -> Ordering # (<) :: RE a -> RE a -> Bool # (<=) :: RE a -> RE a -> Bool # (>) :: RE a -> RE a -> Bool # (>=) :: RE a -> RE a -> Bool # max :: RE a -> RE a -> RE a # min :: RE a -> RE a -> RE a #

checkRE :: (Eq a, Show a) => RE a -> String #

Checks if an input matched a regular expression. The function should be called after matches.

Was the sentence used in `matches` in the language of the regular expression? -> matches e s == s `in` L(e)?

- 1.parameter re : the derived regular expression
- returns : empty String if input matched the regular expression, otherwise an error message is returned

matches :: RE String -> XmlTrees -> RE String #

Derives a regular expression with respect to a list of elements.

- 1.parameter re : regular expression
- 2.parameter list : list of elements to which the regular expression is applied
- returns : the derived regular expression

printRE :: (Eq a, Show a) => RE a -> String #

Constructs a string representation of a regular expression.

- 1.parameter re : a regular expression
- returns : the string representation of the regular expression

re_unit :: RE a #

Constructs a regular expression for an empty sequence.

- returns : regular expression for an empty sequence

re_zero :: String -> RE a #

Constructs a regular expression for an empty set.

- 1.parameter errMsg : error message
- returns : regular expression for an empty set

re_sym :: a -> RE a #

Constructs a regular expression for accepting a symbol

- 1.parameter sym : the symbol to be accepted
- returns : regular expression for accepting a symbol

re_rep :: RE a -> RE a #

Constructs an optional repetition (*) of a regular expression

- 1.parameter re_a : regular expression to be repeted
- returns : new regular expression

re_plus :: RE a -> RE a #

Constructs a repetition (+) of a regular expression

- 1.parameter re_a : regular expression to be repeted
- returns : new regular expression

re_opt :: Ord a => RE a -> RE a #

Constructs an option (?) of a regular expression

- 1.parameter re_a : regular expression to be optional
- returns : new regular expression

re_seq :: RE a -> RE a -> RE a #

Constructs a sequence (,) of two regular expressions

- 1.parameter re_a : first regular expression in sequence
- 2.parameter re_b : second regular expression in sequence
- returns : new regular expression

re_alt :: Ord a => RE a -> RE a -> RE a #

Constructs an alternative (|) of two regular expressions

- 1.parameter re_a : first regular expression of alternative
- 2.parameter re_b : second regular expression of alternative
- returns : new regular expression

re_dot :: RE a #

Constructs a regular expression for accepting any singel symbol

- returns : regular expression for accepting any singel symbol