xmlhtml-0.1.7: XML parser and renderer with HTML 5 quirks mode

Safe HaskellSafe-Infered

Text.XmlHtml.Common

Synopsis

Documentation

data Document Source

Represents a document fragment, including the format, encoding, and document type declaration as well as its content.

Instances

data Node Source

A node of a document structure. A node can be text, a comment, or an element. XML processing instructions are intentionally omitted as a simplification, and CDATA and plain text are both text nodes, since they ought to be semantically interchangeable.

Constructors

TextNode !Text 
Comment !Text 
Element 

Instances

isTextNode :: Node -> BoolSource

Determines whether the node is text or not.

isComment :: Node -> BoolSource

Determines whether the node is a comment or not.

isElement :: Node -> BoolSource

Determines whether the node is an element or not.

tagName :: Node -> Maybe TextSource

Gives the tag name of an element, or Nothing if the node isn't an element.

getAttribute :: Text -> Node -> Maybe TextSource

Retrieves the attribute with the given name. If the Node is not an element, the result is always Nothing

hasAttribute :: Text -> Node -> BoolSource

Checks if a given attribute exists in a Node.

setAttribute :: Text -> Text -> Node -> NodeSource

Sets the attribute name to the given value. If the Node is not an element, this is the identity.

nodeText :: Node -> TextSource

Gives the entire text content of a node, ignoring markup.

childNodes :: Node -> [Node]Source

Gives the child nodes of the given node. Only elements have child nodes.

childElements :: Node -> [Node]Source

Gives the child elements of the given node.

childElementsTag :: Text -> Node -> [Node]Source

Gives all of the child elements of the node with the given tag name.

childElementTag :: Text -> Node -> Maybe NodeSource

Gives the first child element of the node with the given tag name, or Nothing if there is no such child element.

descendantNodes :: Node -> [Node]Source

Gives the descendants of the given node in the order that they begin in the document.

descendantElements :: Node -> [Node]Source

Gives the descendant elements of the given node, in the order that their start tags appear in the document.

descendantElementsTag :: Text -> Node -> [Node]Source

Gives the descendant elements with a given tag name.

descendantElementTag :: Text -> Node -> Maybe NodeSource

Gives the first descendant element of the node with the given tag name, or Nothing if there is no such element.

data DocType Source

A document type declaration. Note that DTD internal subsets are currently unimplemented.

Instances

data ExternalID Source

An external ID, as in a document type declaration. This can be a SYSTEM identifier, or a PUBLIC identifier, or can be omitted.

Constructors

Public !Text !Text 
System !Text 
NoExternalID 

data InternalSubset Source

The internal subset is unparsed, but preserved in case it's actually wanted.

data Encoding Source

The character encoding of a document. Currently only the required character encodings are implemented.

Constructors

UTF8 
UTF16BE 
UTF16LE 

Instances

encodingName :: Encoding -> TextSource

Retrieves the preferred name of a character encoding for embedding in a document.

encoder :: Encoding -> Text -> ByteStringSource

Gets the encoding function from Text to ByteString for an encoding.

decoder :: Encoding -> ByteString -> TextSource

Gets the decoding function from ByteString to Text for an encoding.