| |||||||||||||||||||||||||
| |||||||||||||||||||||||||
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 | |||||||||||||||||||||||||
type XmlTree = NTree XNode | |||||||||||||||||||||||||
Node of xml tree representation | |||||||||||||||||||||||||
type XmlTrees = NTrees XNode | |||||||||||||||||||||||||
List of nodes of xml tree representation | |||||||||||||||||||||||||
data XNode | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
data DTDElem | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
type Attributes = AssocList String String | |||||||||||||||||||||||||
Attribute list used for storing option lists and features of DTD parts | |||||||||||||||||||||||||
data QName | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
qualifiedName :: QName -> String | |||||||||||||||||||||||||
builds the full name "prefix:localPart", if prefix is not null, else the local part is the result | |||||||||||||||||||||||||
universalName :: QName -> String | |||||||||||||||||||||||||
builds the "universal" name, that is the namespace uri surrounded with "{" and "}" followed by the local part (specialisation of buildUniversalName) | |||||||||||||||||||||||||
universalUri :: QName -> String | |||||||||||||||||||||||||
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) | |||||||||||||||||||||||||
buildUniversalName :: (String -> String -> String) -> QName -> String | |||||||||||||||||||||||||
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 | |||||||||||||||||||||||||
mkName :: String -> QName | |||||||||||||||||||||||||
constructs a simple, namespace unaware name, namePrefix and namespaceUri are set to the empty string. | |||||||||||||||||||||||||
mkPrefixLocalPart :: String -> String -> QName | |||||||||||||||||||||||||
constructs a simple name, with prefix and localPart but without a namespace uri. | |||||||||||||||||||||||||
mkNsName :: String -> String -> QName | |||||||||||||||||||||||||
constructs a simple, namespace aware name, with prefix:localPart as first parameter, namspace uri as second. see also mkName, mkPrefixLocalPart | |||||||||||||||||||||||||
mkSNsName :: String -> QName | |||||||||||||||||||||||||
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 | |||||||||||||||||||||||||
nullQName :: QName | |||||||||||||||||||||||||
Empty QName | |||||||||||||||||||||||||
equalQName :: QName -> QName -> Bool | |||||||||||||||||||||||||
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. | |||||||||||||||||||||||||
equivQName :: QName -> QName -> Bool | |||||||||||||||||||||||||
Equivalent QNames are defined as follows: The URIs are normalized before comparison. Comparison is done with equalQNameBy and equivUri | |||||||||||||||||||||||||
equivUri :: String -> String -> Bool | |||||||||||||||||||||||||
Comparison of normalized namespace URIs using normalizeNsUri | |||||||||||||||||||||||||
equalQNameBy :: (String -> String -> Bool) -> QName -> QName -> Bool | |||||||||||||||||||||||||
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 | |||||||||||||||||||||||||
normalizeNsUri :: String -> String | |||||||||||||||||||||||||
Normalization of URIs: Normalization is done by conversion into lowercase letters. A trailing "/" is ignored | |||||||||||||||||||||||||
type NsEnv = AssocList String String | |||||||||||||||||||||||||
Type for the namespace association list, used when propagating namespaces by modifying the QName values in a tree | |||||||||||||||||||||||||
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 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
type ChildNodes = [(Int, XmlNodeSet)] | |||||||||||||||||||||||||
Produced by Haddock version 0.8 |