|
| 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 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 |