hxt-relaxng-9.1.5.5: The HXT RelaxNG validator

Safe Haskell | None
Language | Haskell98

Text.XML.HXT.RelaxNG.DataTypes

Synopsis

- relaxSchemaFile :: String
- relaxSchemaGrammarFile :: String
- a_numberOfErrors :: String
- a_relaxSimplificationChanges :: String
- a_output_changes :: String
- defineOrigName :: String
- type Env = [(String, XmlTree)]
- type PatternEnv = [(String, Pattern)]
- contextAttributes :: String
- contextAttributesDefault :: String
- contextBaseAttr :: String
- type OldName = String
- type NewName = String
- type NamePair = (OldName, NewName)
- type RefList = [NamePair]
- type DatatypeEqual = DatatypeName -> String -> Context -> String -> Context -> Maybe String
- type DatatypeAllows = DatatypeName -> ParamList -> String -> Context -> Maybe String
- type DatatypeLibraries = [DatatypeLibrary]
- type DatatypeLibrary = (Uri, DatatypeCheck)
- type DatatypeName = String
- type ParamName = String
- type AllowedParams = [ParamName]
- type AllowedDatatypes = [(DatatypeName, AllowedParams)]
- data DatatypeCheck = DTC {
  - dtAllowsFct :: DatatypeAllows
  - dtEqualFct :: DatatypeEqual
  - dtAllowedTypes :: AllowedDatatypes
  }
- type Uri = String
- type LocalName = String
- type ParamList = [(LocalName, String)]
- type Prefix = String
- type Context = (Uri, [(Prefix, Uri)])
- type Datatype = (Uri, LocalName)
- showDatatype :: Datatype -> String
- data NameClass
  - = AnyName
  - | AnyNameExcept NameClass
  - | Name Uri LocalName
  - | NsName Uri
  - | NsNameExcept Uri NameClass
  - | NameClassChoice NameClass NameClass
  - | NCError String
- data Pattern
  - = NotAllowed ErrMessage
  - | Empty
  - | Text
  - | Element NameClass Pattern
  - | Attribute NameClass Pattern
  - | Choice Pattern Pattern
  - | Interleave Pattern Pattern
  - | Group Pattern Pattern
  - | After Pattern Pattern
  - | OneOrMore Pattern
  - | Data Datatype ParamList
  - | DataExcept Datatype ParamList Pattern
  - | List Pattern
  - | Value Datatype String Context
- data Pattern'
  - = NotAllowed'
  - | Empty'
  - | Text'
  - | Element'
  - | Attribute'
  - | Data'
  - | DataExcept'
  - | List'
  - | Value'
  - | OneOrMore'
  - | Interleave'
  - | Group'
  - | After'
  - | Choice'
- ord' :: Pattern -> Pattern'
- equiv :: Pattern -> Pattern -> Bool
- gt :: Pattern -> Pattern -> Bool
- data ErrMessage = ErrMsg ErrLevel [String]
- type ErrLevel = Int
- notAllowed :: String -> Pattern
- notAllowed1 :: String -> Pattern
- notAllowed2 :: String -> Pattern
- notAllowedN :: ErrLevel -> String -> Pattern
- mergeNotAllowed :: Pattern -> Pattern -> Pattern
- choice :: Pattern -> Pattern -> Pattern
- group :: Pattern -> Pattern -> Pattern
- oneOrMore :: Pattern -> Pattern
- interleave :: Pattern -> Pattern -> Pattern
- after :: Pattern -> Pattern -> Pattern
- data ContentType
  - = CTEmpty
  - | CTComplex
  - | CTSimple
  - | CTNone

# Documentation

relaxSchemaFile :: String Source #

relaxSchemaGrammarFile :: String Source #

a_numberOfErrors :: String Source #

a_relaxSimplificationChanges :: String Source #

a_output_changes :: String Source #

defineOrigName :: String Source #

type Env = [(String, XmlTree)] Source #

type PatternEnv = [(String, Pattern)] Source #

contextAttributes :: String Source #

Start of a context attribute value (see also: `simplificationStep1`)

The value is always followed by the original attribute name and value

contextAttributesDefault :: String Source #

contextBaseAttr :: String Source #

Start of base uri attribute value (see also: `simplificationStep1` in Text.XML.HXT.RelaxNG.Simplification)

type OldName = String Source #

type NewName = String Source #

type NamePair = (OldName, NewName) Source #

type RefList = [NamePair] Source #

type DatatypeEqual = DatatypeName -> String -> Context -> String -> Context -> Maybe String Source #

Type of all datatype libraries functions that tests whether a XML instance value matches a value-pattern.

Returns Just "errorMessage" in case of an error else Nothing.

type DatatypeAllows = DatatypeName -> ParamList -> String -> Context -> Maybe String Source #

Type of all datatype libraries functions that tests whether a XML instance value matches a data-pattern.

Returns Just "errorMessage" in case of an error else Nothing.

type DatatypeLibraries = [DatatypeLibrary] Source #

List of all supported datatype libraries

type DatatypeLibrary = (Uri, DatatypeCheck) Source #

Each datatype library is identified by a URI.

type DatatypeName = String Source #

type ParamName = String Source #

type AllowedParams = [ParamName] Source #

List of all supported params for a datatype

type AllowedDatatypes = [(DatatypeName, AllowedParams)] Source #

List of all supported datatypes and there allowed params

data DatatypeCheck Source #

The Constructor exports the list of supported datatypes for a library. It also exports the specialized datatype library functions to validate a XML instance value with respect to a datatype.

Constructors

DTC |

Fields

- dtAllowsFct :: DatatypeAllows

  function to test whether a value matches a data-pattern

- dtEqualFct :: DatatypeEqual

  function to test whether a value matches a value-pattern

- dtAllowedTypes :: AllowedDatatypes

  list of all supported params for a datatype

type Uri = String Source #

type LocalName = String Source #

type ParamList = [(LocalName, String)] Source #

List of parameters; each parameter is a pair consisting of a local name and a value.

type Prefix = String Source #

type Context = (Uri, [(Prefix, Uri)]) Source #

A Context represents the context of an XML element. It consists of a base URI and a mapping from prefixes to namespace URIs.

type Datatype = (Uri, LocalName) Source #

A Datatype identifies a datatype by a datatype library name and a local name.

showDatatype :: Datatype -> String Source #

data NameClass Source #

Represents a name class

Constructors

AnyName |
AnyNameExcept NameClass |
Name Uri LocalName |
NsName Uri |
NsNameExcept Uri NameClass |
NameClassChoice NameClass NameClass |
NCError String |

#### Instances

Instances details

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

data Pattern Source #

Represents a pattern after simplification

Constructors

NotAllowed ErrMessage |
Empty |
Text |
Element NameClass Pattern |
Attribute NameClass Pattern |
Choice Pattern Pattern |
Interleave Pattern Pattern |
Group Pattern Pattern |
After Pattern Pattern |
OneOrMore Pattern |
Data Datatype ParamList |
DataExcept Datatype ParamList Pattern |
List Pattern |
Value Datatype String Context |

#### Instances

Instances details

Show Pattern Source # |
Instance details Defined in Text.XML.HXT.RelaxNG.DataTypes Methods showsPrec :: Int -> Pattern -> ShowS show :: Pattern -> String showList :: [Pattern] -> ShowS

data Pattern' Source #

Constructors

NotAllowed' |
Empty' |
Text' |
Element' |
Attribute' |
Data' |
DataExcept' |
List' |
Value' |
OneOrMore' |
Interleave' |
Group' |
After' |
Choice' |

#### Instances

Instances details

Eq Pattern' Source # |
Instance details Defined in Text.XML.HXT.RelaxNG.DataTypes Methods (==) :: Pattern' -> Pattern' -> Bool (/=) :: Pattern' -> Pattern' -> Bool
Ord Pattern' Source # |
Instance details Defined in Text.XML.HXT.RelaxNG.DataTypes Methods compare :: Pattern' -> Pattern' -> Ordering (<) :: Pattern' -> Pattern' -> Bool (<=) :: Pattern' -> Pattern' -> Bool (>) :: Pattern' -> Pattern' -> Bool (>=) :: Pattern' -> Pattern' -> Bool max :: Pattern' -> Pattern' -> Pattern' min :: Pattern' -> Pattern' -> Pattern'

ord' :: Pattern -> Pattern' Source #

equiv :: Pattern -> Pattern -> Bool Source #

gt :: Pattern -> Pattern -> Bool Source #

data ErrMessage Source #

Constructors

ErrMsg ErrLevel [String] |

#### Instances

Instances details

Show ErrMessage Source # |
Instance details Defined in Text.XML.HXT.RelaxNG.DataTypes Methods showsPrec :: Int -> ErrMessage -> ShowS show :: ErrMessage -> String showList :: [ErrMessage] -> ShowS

type ErrLevel = Int Source #

notAllowed :: String -> Pattern Source #

smart constructor for NotAllowed

notAllowed1 :: String -> Pattern Source #

notAllowed2 :: String -> Pattern Source #

notAllowedN :: ErrLevel -> String -> Pattern Source #

mergeNotAllowed :: Pattern -> Pattern -> Pattern Source #

merge error messages

If error levels are different, the more important is taken, if level is 2 (max level) both error messages are taken else the 1. error mesage is taken

choice :: Pattern -> Pattern -> Pattern Source #

smart constructor for Choice

nexted choices are transformed into a sorted list

group :: Pattern -> Pattern -> Pattern Source #

smart constructor for Group

oneOrMore :: Pattern -> Pattern Source #

smart constructor for OneOrMore

interleave :: Pattern -> Pattern -> Pattern Source #

smart constructor for Interleave

nested interleaves are transformed into a sorted list

after :: Pattern -> Pattern -> Pattern Source #

smart constructor for After

data ContentType Source #

Possible content types of a Relax NG pattern. (see also chapter 7.2 in Relax NG specification)

Constructors

CTEmpty |
CTComplex |
CTSimple |
CTNone |

#### Instances

Instances details

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