Text.XML.HXT.Arrow.Pickle.Schema

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

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

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 # |
Methods (==) :: Schema -> Schema -> Bool # (/=) :: Schema -> Schema -> Bool #
Show Schema # |
Methods showsPrec :: Int -> Schema -> ShowS # show :: Schema -> String # showList :: [Schema] -> ShowS #

type Name = String #

type Schemas = [Schema] #

data DataTypeDescr #

Constructors

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

Instances

Eq DataTypeDescr # |
Methods (==) :: DataTypeDescr -> DataTypeDescr -> Bool # (/=) :: DataTypeDescr -> DataTypeDescr -> Bool #
Show DataTypeDescr # |
Methods showsPrec :: Int -> DataTypeDescr -> ShowS # show :: DataTypeDescr -> String # showList :: [DataTypeDescr] -> ShowS #

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 #