Copyright | (c) 2014 Alp Mestanogullari Vikram Verma |
---|---|
License | BSD3 |
Maintainer | alpmestan@gmail.com |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
This module will help you represent an HTML or XML document as a tree and let you traverse it in whatever way you like.
This is especially useful when used in conjunction with taggy-lens
Documentation
An Element
here refers to a tag name, the attributes
specified withing that tag, and all the children nodes
of that element. An Element
is basically anything but
"raw" content.
nodeChildren :: Node -> [Node] Source #
Get the children of a node.
If called on some raw text, this function returns []
.
parseDOM :: Bool -> Text -> [Node] Source #
Parse an HTML or XML document as a DOM tree.
The Bool
argument lets you specify
whether you want to convert HTML entities
to their corresponding unicode characters,
just like in Text.Taggy.Parser.
parseDOM convertEntities = domify . taggyWith cventities
domify :: [Tag] -> [Node] Source #
Transform a list of tags (produced with taggyWith
)
into a list of toplevel nodes. If the document you're working
on is valid, there should only be one toplevel node, but let's
not assume we're living in an ideal world.
convertText :: Text -> Node Source #