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

Portability | portable
Stability | experimental
Maintainer | Uwe Schmidt (uwe@fh-wedel.de)
Safe Haskell | None

Text.XML.HXT.Arrow.Pickle.Schema

Description

Version : $Id$

Datatypes and functions for building a content model for XML picklers. A schema is part of every pickler and can be used to derive a corrensponding DTD (or Relax NG schema). This schema further enables checking the picklers.

Synopsis

- data Schema
  - = Any
  - | Seq {
    - sc_l :: [Schema]
    }
  - | Alt {
    - sc_l :: [Schema]
    }
  - | Rep {
    - sc_lb :: Int
    - sc_ub :: Int
    - sc_1 :: Schema
    }
  - | Element {
    - sc_n :: Name
    - sc_1 :: Schema
    }
  - | Attribute {
    - sc_n :: Name
    - sc_1 :: Schema
    }
  - | ElemRef {
    - sc_n :: Name
    }
  - | CharData {
    - sc_dt :: DataTypeDescr
    }
- type Name = String
- type Schemas = [Schema]
- data DataTypeDescr = DTDescr {
  - dtLib :: String
  - dtName :: String
  - dtParams :: Attributes
  }
- isScXsd :: (String -> Bool) -> Schema -> Bool
- isScFixed :: Schema -> Bool
- isScEnum :: Schema -> Bool
- isScElem :: Schema -> Bool
- isScAttr :: Schema -> Bool
- isScElemRef :: Schema -> Bool
- isScCharData :: Schema -> Bool
- isScSARE :: Schema -> Bool
- isScList :: Schema -> Bool
- isScOpt :: Schema -> Bool
- xsdParam :: String -> Schema -> String
- scDT :: String -> String -> Attributes -> Schema
- scDTxsd :: String -> Attributes -> Schema
- scString :: Schema
- scString1 :: Schema
- scFixed :: String -> Schema
- scEnum :: [String] -> Schema
- scNmtoken :: Schema
- scNmtokens :: Schema
- scEmpty :: Schema
- scSeq :: Schema -> Schema -> Schema
- scSeqs :: [Schema] -> Schema
- scNull :: Schema
- scAlt :: Schema -> Schema -> Schema
- scAlts :: [Schema] -> Schema
- scOption :: Schema -> Schema
- scList :: Schema -> Schema
- scList1 :: Schema -> Schema
- scOpt :: Schema -> Schema
- scRep :: Int -> Int -> Schema -> Schema
- scElem :: String -> Schema -> Schema
- scAttr :: String -> Schema -> Schema

# Documentation

data Schema

The datatype for modelling the structure of an

Constructors

Any |
Seq |
Fields sc_l :: [Schema]
Alt |
Fields sc_l :: [Schema]
Rep |
Fields sc_lb :: Int sc_ub :: Int sc_1 :: Schema
Element |
Fields sc_n :: Name sc_1 :: Schema
Attribute |
Fields sc_n :: Name sc_1 :: Schema
ElemRef |
Fields sc_n :: Name
CharData |
Fields sc_dt :: DataTypeDescr

Instances

Eq Schema |
Show Schema |

type Name = String

type Schemas = [Schema]

data DataTypeDescr

Constructors

DTDescr |
Fields dtLib :: String dtName :: String dtParams :: Attributes

Instances

Eq DataTypeDescr |
Show DataTypeDescr |

isScXsd :: (String -> Bool) -> Schema -> Bool

test: is schema a simple XML Schema datatype

isScFixed :: Schema -> Bool

test: is type a fixed value attribute type

isScEnum :: Schema -> Bool

isScElem :: Schema -> Bool

isScAttr :: Schema -> Bool

isScElemRef :: Schema -> Bool

isScCharData :: Schema -> Bool

isScSARE :: Schema -> Bool

isScList :: Schema -> Bool

isScOpt :: Schema -> Bool

xsdParam :: String -> Schema -> String

access an attribute of a descr of an atomic type

scDT :: String -> String -> Attributes -> Schema

scDTxsd :: String -> Attributes -> Schema

scString :: Schema

scString1 :: Schema

scFixed :: String -> Schema

scEnum :: [String] -> Schema

scNmtoken :: Schema

scNmtokens :: Schema

scEmpty :: Schema

scSeq :: Schema -> Schema -> Schema

scSeqs :: [Schema] -> Schema

scNull :: Schema

scAlt :: Schema -> Schema -> Schema

scAlts :: [Schema] -> Schema

scOption :: Schema -> Schema

scList :: Schema -> Schema

scList1 :: Schema -> Schema

scOpt :: Schema -> Schema

scRep :: Int -> Int -> Schema -> Schema

scElem :: String -> Schema -> Schema

scAttr :: String -> Schema -> Schema