|
|
|
|
|
|
Synopsis |
|
newtype T i name str = Cons {} | | data Branch name str = Tag {} | | | | type AttributePlain = (String, String) | | wrap :: T i (Branch name str) (Leaf name str) -> T i name str | | wrap2 :: i -> Elem i (Branch name str) (Leaf name str) -> T i name str | | lift :: (T i (Branch name str0) (Leaf name str0) -> T j (Branch name str1) (Leaf name str1)) -> T i name str0 -> T j name str1 | | liftA :: Applicative m => (T i (Branch name str0) (Leaf name str0) -> m (T i (Branch name str1) (Leaf name str1))) -> T i name str0 -> m (T i name str1) | | literal :: str -> T i name str | | literalIndex :: i -> str -> T i name str | | comment :: String -> T i name str | | commentIndex :: i -> String -> T i name str | | warning :: String -> T i name str | | warningIndex :: i -> String -> T i name str | | cdata :: String -> T i name str | | cdataIndex :: i -> String -> T i name str | | processing :: Name name -> T name str -> T i name str | | processingIndex :: i -> Name name -> T name str -> T i name str | | tag :: Name name -> [T i name str] -> T i name str | | tagAttr :: Name name -> [T name str] -> [T i name str] -> T i name str | | tagIndexAttr :: i -> Name name -> [T name str] -> [T i name str] -> T i name str | | liftTrans :: (a -> b) -> a -> [b] | | liftText :: (String -> String) -> Leaf name String -> Leaf name String | | liftTextA :: Applicative m => (String -> m String) -> Leaf name String -> m (Leaf name String) | | liftElement :: (T name str0 -> T name str1) -> Branch name str0 -> Branch name str1 | | liftElementA :: Applicative m => (T name str0 -> m (T name str1)) -> Branch name str0 -> m (Branch name str1) | | checkTag :: (T name str -> Bool) -> T i name str -> Bool | | maybeTag :: T i name str -> Maybe (T name str, [T i name str]) | | maybeText :: T i name str -> Maybe str | | maybeTextLeaf :: Leaf name str -> Maybe str | | maybeCommentLeaf :: Leaf name str -> Maybe String | | maybeCDataLeaf :: Leaf name str -> Maybe String | | maybeProcessingLeaf :: Leaf name str -> Maybe (Name name, T name str) | | maybeWarningLeaf :: Leaf name str -> Maybe String | | fold :: (i -> a -> b) -> (T name str -> [b] -> a) -> (Leaf name str -> a) -> T i name str -> b | | switch :: (i -> a -> b) -> (T name str -> [T i name str] -> a) -> (Leaf name str -> a) -> T i name str -> b | | type Filter i name str = T i name str -> T i name str | | type FilterA m i name str = T i name str -> m (T i name str) | | mapText :: (String -> String) -> T i name String -> T i name String | | mapIndex :: (i -> j) -> T i name str -> T j name str | | mapTag :: Filter name str -> Filter i name str | | textFromCData :: T i name String -> T i name String | | filterTag :: (T name str -> Bool) -> T i name str -> [T i name str] | | mapCond :: (T name str -> Bool) -> Filter name str -> (Leaf name str -> Leaf name str) -> Filter i name str | | filterTagsFlatten :: (T name str -> Bool) -> T i name str -> [(T name str, [T i name str])] | | filterElementsFlatten :: (T name str -> Bool) -> T i name str -> [T name str] | | allSubTrees :: T i name str -> [T i name str] | | mergeStrings :: Monoid str => Filter i name str | | mergeTopStrings :: Monoid str => [T i name str] -> [T i name str] | | processAllSubTrees :: ([T i name str] -> [T i name str]) -> Filter i name str | | processSubTrees :: (Name name -> Bool) -> ([T i name str] -> [T i name str]) -> Filter i name str | | processSubTreesAttrs :: (Name name -> Bool) -> (([T name str], [T i name str]) -> ([T name str], [T i name str])) -> Filter i name str | | mapTextA :: Applicative m => (String -> m String) -> FilterA m i name String | | mapCondA :: Applicative m => (T name str -> Bool) -> (T name str -> m (T name str)) -> (Leaf name str -> m (Leaf name str)) -> FilterA m i name str | | unescape :: T i name T -> T i name String | | escape :: T i name String -> T i name T | | decodeSpecialChars :: (Tag name, Attribute name) => String -> T i name T -> [T i name String] | | maybeDecodeSpecialChars :: (Tag name, Attribute name) => String -> T i name T -> Maybe [T i name String] | | decodeSpecialCharsDecoder :: (Tag name, Attribute name) => DecodingFctEmbedErrors -> T i name T -> [T i name String] | | decodeAttrs :: (Tag name, Attribute name) => (T -> EmbeddedExceptions) -> [T name T] -> Writer [String] [T name String] | | decodeAttr :: (Tag name, Attribute name) => (T -> EmbeddedExceptions) -> Name name -> T -> Writer [String] String | | maybeDecodeUTF8Chars :: String -> T i name T -> Maybe (T i name String) | | formatMany :: (Tag name, Attribute name, C string) => [T i name string] -> ShowS | | format :: (Tag name, Attribute name, C string) => T i name string -> ShowS | | formatBranch :: (Tag name, Attribute name, C string) => Branch name string -> [ShowS] -> ShowS | | formatLeaf :: (Tag name, Attribute name, C string) => Leaf name string -> ShowS |
|
|
|
data structures
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
Constructors | | Instances | |
|
|
|
|
generators
|
|
|
|
|
|
|
|
|
|
literal :: str -> T i name str | Source |
|
Build some textual content.
|
|
literalIndex :: i -> str -> T i name str | Source |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
processingIndex :: i -> Name name -> T name str -> T i name str | Source |
|
|
|
|
tagAttr :: Name name -> [T name str] -> [T i name str] -> T i name str | Source |
|
|
tagIndexAttr :: i -> Name name -> [T name str] -> [T i name str] -> T i name str | Source |
|
|
Conversions
|
|
liftTrans :: (a -> b) -> a -> [b] | Source |
|
|
|
|
|
|
|
|
|
|
Tests
|
|
|
If the Tree is a Leaf, then return False.
Otherwise return the result of the predicate.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fold :: (i -> a -> b) -> (T name str -> [b] -> a) -> (Leaf name str -> a) -> T i name str -> b | Source |
|
|
switch :: (i -> a -> b) -> (T name str -> [T i name str] -> a) -> (Leaf name str -> a) -> T i name str -> b | Source |
|
|
types of processors
|
|
type Filter i name str = T i name str -> T i name str | Source |
|
|
type FilterA m i name str = T i name str -> m (T i name str) | Source |
|
|
tree processors
|
|
|
|
mapIndex :: (i -> j) -> T i name str -> T j name str | Source |
|
|
|
|
|
Convert all CData sections to plain text.
|
|
filterTag :: (T name str -> Bool) -> T i name str -> [T i name str] | Source |
|
You can e.g. filter text1 b> text2 </b text3
to text1 text2 text3 by
filterTag (checkTagName (b/=)).
|
|
|
|
filterTagsFlatten :: (T name str -> Bool) -> T i name str -> [(T name str, [T i name str])] | Source |
|
Find all branches where the predicate applies and
return a list of matching sub-trees in depth-first order.
Example: filterTagsFlatten (checkTagName (meta==))
|
|
filterElementsFlatten :: (T name str -> Bool) -> T i name str -> [T name str] | Source |
|
|
allSubTrees :: T i name str -> [T i name str] | Source |
|
|
|
merge subsequent string leafs
|
|
mergeTopStrings :: Monoid str => [T i name str] -> [T i name str] | Source |
|
|
processAllSubTrees :: ([T i name str] -> [T i name str]) -> Filter i name str | Source |
|
Process all sub-tree lists in bottom-up order.
|
|
|
|
processSubTreesAttrs :: (Name name -> Bool) -> (([T name str], [T i name str]) -> ([T name str], [T i name str])) -> Filter i name str | Source |
|
|
applicative functor tree processors
|
|
|
|
|
|
Character decoding
|
|
|
|
|
Use ASCII characters, XML entity references and character references
for representing strings.
That's not human readable, but portable.
|
|
|
Decode characters like those from UTF-8 scheme.
|
|
|
|
|
Conversion errors are appended as warnings to the tree.
|
|
|
|
|
|
|
|
Formatting
|
|
|
|
|
|
|
|
|
|
Produced by Haddock version 2.6.0 |