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

Portability | portable
Stability | stable
Maintainer | Uwe Schmidt (uwe@fh-wedel.de)
Safe Haskell | None

Text.XML.HXT.DOM.TypeDefs

Description

The core data types of the HXT DOM.

Synopsis

- module Data.AssocList
- type XmlTree = NTree XNode
- type XmlTrees = NTrees XNode
- type XmlNavTree = NTZipper XNode
- type XmlNavTrees = [NTZipper XNode]
- data XNode
  - = XText String
  - | XBlob Blob
  - | XCharRef Int
  - | XEntityRef String
  - | XCmt String
  - | XCdata String
  - | XPi QName XmlTrees
  - | XTag QName XmlTrees
  - | XDTD DTDElem Attributes
  - | XAttr QName
  - | XError Int String
- rwnfAttributes :: Attributes -> ()
- data DTDElem
  - = DOCTYPE
  - | ELEMENT
  - | CONTENT
  - | ATTLIST
  - | ENTITY
  - | PENTITY
  - | NOTATION
  - | CONDSECT
  - | NAME
  - | PEREF
- type Blob = ByteString
- blobToString :: Blob -> String
- stringToBlob :: String -> Blob
- type Attributes = AssocList String String
- c_ok :: Int
- c_warn :: Int
- c_err :: Int
- c_fatal :: Int
- data XmlNodeSet = XNS {
  - thisNode :: Bool
  - attrNodes :: [QName]
  - childNodes :: ChildNodes
  }
- type ChildNodes = [(Int, XmlNodeSet)]
- module Text.XML.HXT.DOM.QualifiedName

# Documentation

module Data.AssocList

type XmlTree = NTree XNode

Rose tree with XML nodes (XNode)

type XmlTrees = NTrees XNode

List of rose trees with XML nodes

type XmlNavTree = NTZipper XNode

Navigatable rose tree with XML nodes

type XmlNavTrees = [NTZipper XNode]

List of navigatable rose trees with XML nodes

data XNode

Represents elements

Constructors

XText String | ordinary text (leaf)
XBlob Blob | text represented more space efficient as bytestring (leaf)
XCharRef Int | character reference (leaf)
XEntityRef String | entity reference (leaf)
XCmt String | comment (leaf)
XCdata String | CDATA section (leaf)
XPi QName XmlTrees | Processing Instr with qualified name (leaf) with list of attributes. If tag name is xml, attributs are "version", "encoding", "standalone", else attribute list is empty, content is a text child node
XTag QName XmlTrees | tag with qualified name and list of attributes (inner node or leaf)
XDTD DTDElem Attributes | DTD element with assoc list for dtd element features
XAttr QName | attribute with qualified name, the attribute value is stored in children
XError Int String | error message with level and text

Instances

Eq XNode |
Show XNode |
Typeable XNode |
Binary XNode |
NFData XNode |
WNFData XNode |
XmlNode XNode |

rwnfAttributes :: Attributes -> ()

Evaluate an assoc list of strings

data DTDElem

Represents a DTD element

Constructors

DOCTYPE | attr: name, system, public, XDTD elems as children
ELEMENT | attr: name, kind name: element name kind: "EMPTY" | "ANY" | "#PCDATA" | children | mixed
CONTENT | element content attr: kind, modifier modifier: "" | "?" | "*" | "+" kind: seq | choice
ATTLIST | attributes: name - name of element value - name of attribute type: "CDATA" | "ID" | "IDREF" | "IDREFS" | "ENTITY" | "ENTITIES" | "NMTOKEN" | "NMTOKENS" |"NOTATION" | "ENUMTYPE" kind: "IMPLIED" | "DEFAULT"
ENTITY | for entity declarations
PENTITY | for parameter entity declarations
NOTATION | for notations
CONDSECT | for INCLUDEs, IGNOREs and peRefs: attr: type type = INCLUDE, IGNORE or %...;
NAME | attr: name for lists of names in notation types or nmtokens in enumeration types
PEREF | for Parameter Entity References in DTDs

Instances

Enum DTDElem |
Eq DTDElem |
Ord DTDElem |
Read DTDElem |
Show DTDElem |
Typeable DTDElem |
Binary DTDElem |
NFData DTDElem |
WNFData DTDElem |

type Blob = ByteString

Binary large object implemented as a lazy bytestring

blobToString :: Blob -> String

stringToBlob :: String -> Blob

type Attributes = AssocList String String

Attribute list

used for storing option lists and features of DTD parts

c_ok :: Int

no error, everything is ok

c_warn :: Int

Error level for XError, type warning

c_err :: Int

Error level for XError, type error

c_fatal :: Int

Error level for XError, type fatal error

data XmlNodeSet

data type for representing a set of nodes as a tree structure

this structure is e.g. used to repesent the result of an XPath query such that the selected nodes can be processed or selected later in processing a document tree

Constructors

XNS |

Fields

thisNode :: Bool

  is this node part of the set ?

attrNodes :: [QName]

  the set of attribute nodes

childNodes :: ChildNodes

  the set of child nodes, a list of pairs of index and node set

Instances

Eq XmlNodeSet |
Show XmlNodeSet |
Typeable XmlNodeSet |

type ChildNodes = [(Int, XmlNodeSet)]

module Text.XML.HXT.DOM.QualifiedName