| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Symantic.XML.RelaxNG.Language
Synopsis
- class (XML repr, Permutable repr, Definable repr) => RelaxNG repr where
- elementMatch :: NameClass -> repr a k -> repr (QName -> a) k
- attributeMatch :: NameClass -> repr a k -> repr (QName -> a) k
- class Definable repr where
- define :: DefineName -> repr a k -> repr a k
- type DefineName = String
- data NameClass
- (*:*) :: NameClass
- matchNameClass :: NameClass -> QName -> Bool
- namespacesNameClass :: NameClass -> HashMap Namespace (Maybe NCName)
Class RelaxNG
class (XML repr, Permutable repr, Definable repr) => RelaxNG repr where Source #
Minimal complete definition
Nothing
Methods
elementMatch :: Transformable repr => RelaxNG (UnTrans repr) => NameClass -> repr a k -> repr (QName -> a) k Source #
elementMatch :: NameClass -> repr a k -> repr (QName -> a) k Source #
attributeMatch :: Transformable repr => RelaxNG (UnTrans repr) => NameClass -> repr a k -> repr (QName -> a) k Source #
attributeMatch :: NameClass -> repr a k -> repr (QName -> a) k Source #
Instances
| RelaxNG RNCWriteSyn Source # | |
Defined in Symantic.XML.RelaxNG.Compact.Write Methods elementMatch :: NameClass -> RNCWriteSyn a k -> RNCWriteSyn (QName -> a) k Source # attributeMatch :: NameClass -> RNCWriteSyn a k -> RNCWriteSyn (QName -> a) k Source # | |
| RelaxNG Write Source # | |
Defined in Symantic.XML.Write | |
| RelaxNG TreeData Source # | |
Defined in Symantic.XML.Tree.Data | |
| (Ord err, ReadConstraints src, Textable (Read src err), Definable (Read src err)) => RelaxNG (Read src err) Source # | |
Defined in Symantic.XML.Read | |
Type Definable
class Definable repr where Source #
Minimal complete definition
Nothing
Methods
define :: DefineName -> repr a k -> repr a k Source #
(define name expr) declares a rule named (name)
and matching the RelaxNG schema (expr).
Useful for rendering the RelaxNG schema,
and necessary to avoid infinite recursion when
printing a RelaxNG schema calling itself recursively.
WARNING: DefineNames must be unique inside
a whole RelaxNG schema.
define :: Transformable repr => RelaxNG (UnTrans repr) => DefineName -> repr f k -> repr f k Source #
(define name expr) declares a rule named (name)
and matching the RelaxNG schema (expr).
Useful for rendering the RelaxNG schema,
and necessary to avoid infinite recursion when
printing a RelaxNG schema calling itself recursively.
WARNING: DefineNames must be unique inside
a whole RelaxNG schema.
Instances
| Definable RNCWriteSynPerm Source # | |
Defined in Symantic.XML.RelaxNG.Compact.Write Methods define :: DefineName -> RNCWriteSynPerm a k -> RNCWriteSynPerm a k Source # | |
| Definable RNCWriteSyn Source # | |
Defined in Symantic.XML.RelaxNG.Compact.Write Methods define :: DefineName -> RNCWriteSyn a k -> RNCWriteSyn a k Source # | |
| Definable Write Source # | |
Defined in Symantic.XML.Write | |
| Definable TreeData Source # | |
Defined in Symantic.XML.Tree.Data | |
| Definable (ReadPerm src err) Source # | |
Defined in Symantic.XML.Read | |
| Ord err => Definable (Read FileSourced err) Source # | |
Defined in Symantic.XML.Read Methods define :: DefineName -> Read FileSourced err a k -> Read FileSourced err a k Source # | |
Type DefineName
type DefineName = String Source #
Type NameClass
Constructors
| NameClass_Any | |
| (:::) Namespace NCName infix 9 | |
| (:*) Namespace | |
| (:-:) NameClass NameClass infixl 6 | |
| (:|:) NameClass NameClass infixr 2 |
Instances
| IsString NameClass Source # | Only parses "*", "{some-namespace}*", or "{some-namespace}some-localname". |
Defined in Symantic.XML.RelaxNG.Language Methods fromString :: String -> NameClass # | |
| Textify (Namespaces NCName, (Infix, Side), NameClass) Source # | |
Defined in Symantic.XML.RelaxNG.Language | |
matchNameClass :: NameClass -> QName -> Bool Source #
( returns matchNameClass nc q)True iif. the NameClass (nc) matches the QName (q).