Safe Haskell | None |
---|
Parsing text in the Enamex data format. Each node is enclosed between
opening and closing tags with tag name representing the label and contents
representing children of the node. Both leaf and label values should be
escaped by prepending the '\' character before special ' ' (space), >
,
<
and '\' characters.
Example:
>>>
:m Data.Tree Data.Text Text.Named.Enamex
>>>
let drawIt = putStr . drawForest . fmap (fmap unpack) . parseForest
>>>
drawIt $ pack "<x>w1.1\\ w1.2</x> <y><z>w2</z> w3</y>"
x | `- w1.1 w1.2 , y | +- z | | | `- w2 | `- w3
- parseForest :: Text -> Forest
- parseEnamex :: Text -> [Forest]
- mapTwo :: (a -> b) -> (a -> c) -> Tree a -> Tree (Either b c)