| HaXml-1.19.2: Utilities for manipulating XML documents | Contents | Index |
|
Text.XML.HaXml.DtdToHaskell.TypeDef |
|
|
|
|
Description |
Defines an internal representation of Haskell data/newtype definitions
that correspond to the XML DTD types, and provides pretty-printers to
convert these types into the Doc type of Text.PrettyPrint.HughesPJ.
|
|
Synopsis |
|
|
|
|
Internal representation of types
|
|
data TypeDef |
Constructors | | Instances | |
|
|
type Constructors = [(Name, [StructType])] |
|
type AttrFields = [(Name, StructType)] |
|
data StructType |
Constructors | | Instances | |
|
|
Pretty-print a TypeDef
|
|
ppTypeDef :: TypeDef -> Doc |
|
ppHName :: Name -> Doc |
Pretty print Haskell name.
|
|
ppXName :: Name -> Doc |
Pretty print XML name.
|
|
ppAName :: Name -> Doc |
Pretty print Haskell attributes name.
|
|
Name mangling
|
|
data Name |
Need to keep both the XML and Haskell versions of a name.
| Constructors | Name | | xName :: String | original XML name
| hName :: String | mangled Haskell name
|
|
| Instances | |
|
|
name :: String -> Name |
Make a type name valid in both XML and Haskell.
|
|
name_ :: String -> Name |
Append an underscore to the Haskell version of the name.
|
|
name_a :: String -> String -> Name |
Prefix an attribute enumeration type name with its containing element
name.
|
|
name_ac :: String -> String -> String -> Name |
Prefix an attribute enumeration constructor with its element-tag name,
and its enumeration type name.
|
|
name_f :: String -> String -> Name |
Prefix a field name with its enclosing element name.
|
|
mangle :: String -> String |
Convert an XML name to a Haskell conid.
|
|
manglef :: String -> String |
Convert an XML name to a Haskell varid.
|
|
Produced by Haddock version 0.8 |