|
Text.XML.HXT.DOM.TypeDefs |
|
|
Description |
The core data types of HDOM.
Version : $Id: TypeDefs.hs,v 1.13 20061109 20:27:42 hxml Exp $
|
|
Synopsis |
|
|
|
Documentation |
|
module Data.AssocList |
|
|
Node of xml tree representation
|
|
|
List of nodes of xml tree representation
|
|
|
Represents elements
| Constructors | XText String | ordinary text (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 | |
|
|
|
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 | |
|
|
|
Attribute list
used for storing option lists and features of DTD parts
|
|
|
Namespace support for element and attribute names.
A qualified name consists of a name prefix, a local name
and a namespace uri.
All modules, which are not namespace aware, use only the localPart component.
When dealing with namespaces, the document tree must be processed by propagateNamespaces
to split names of structure "prefix:localPart" and label the name with the apropriate namespace uri
| Constructors | QN | | namePrefix :: String | the name prefix part of a qualified name "namePrefix:localPart"
| localPart :: String | the local part of a qualified name "namePrefix:localPart"
| namespaceUri :: String | the associated namespace uri
|
|
| Instances | |
|
|
|
builds the full name "prefix:localPart", if prefix is not null, else the local part is the result
|
|
|
builds the "universal" name, that is the namespace uri surrounded with "{" and "}" followed by the local part
(specialisation of buildUniversalName)
|
|
|
builds an "universal" uri, that is the namespace uri followed by the local part. This is usefull for RDF applications,
where the subject, predicate and object often are concatenated from namespace uri and local part
(specialisation of buildUniversalName)
|
|
|
builds a string from the namespace uri and the local part. If the namespace uri is empty, the local part is returned, else
namespace uri and local part are combined with the combining function given by the first parameter
|
|
|
constructs a simple, namespace unaware name, namePrefix and namespaceUri are set to the empty string.
|
|
|
constructs a simple name, with prefix and localPart but without a namespace uri.
see also mkName, mkNsName, mkSNsName
|
|
|
constructs a simple, namespace aware name, with prefix:localPart as first parameter, namspace uri as second.
see also mkName, mkPrefixLocalPart
|
|
|
constructs a simple name, with prefix:localPart as 1 parameter, with empty namspace uri, same as 'mkPrefixLocalPart, but with a single parameter
see also mkNsName, mkPrefixLocalPart
|
|
|
Empty QName
|
|
|
Equality of QNames: Two QNames are equal, if the local parts are equal
and the namespace URIs are equal.
The comparison works with and without namespace propagation.
If namespaces have been propagated, the name is split into prefix and local part
and the namespace uri is set. In this case the prefix is not significant for equality test.
If namespaces have not been propagated, the local part contains the full name, prefix
and namespace URI are empty. The full name (prefix and local part) is used for comparison.
|
|
|
Equivalent QNames are defined as follows: The URIs are normalized before comparison.
Comparison is done with equalQNameBy and equivUri
|
|
|
Comparison of normalized namespace URIs using normalizeNsUri
|
|
|
Sometimes a weaker equality relation than equalQName is appropriate, e.g no case significance in names, ...
a name normalization function can be applied to the strings before comparing. Called by equalQName and
equivQName
|
|
|
Normalization of URIs: Normalization is done by conversion into lowercase letters. A trailing "/" is ignored
|
|
|
Type for the namespace association list, used when propagating namespaces by
modifying the QName values in a tree
|
|
|
no error, everything is ok
|
|
|
Error level for XError, type warning
|
|
|
Error level for XError, type error
|
|
|
Error level for XError, type fatal error
|
|
|
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 | | 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 | |
|
|
|
|
Produced by Haddock version 2.3.0 |