|
| 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 |
|
|
| type Constructors = [(Name, [StructType])] |
|
| type AttrFields = [(Name, StructType)] |
|
| data StructType |
|
|
| 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.6 |