Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Synopsis
- newtype T i name str = Cons {}
- data Branch name str = Tag {
- getElement :: T name str
- data Leaf name str
- 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
Instances
Functor (T i name) Source # | |
Foldable (T i name) Source # | |
Defined in Text.XML.WraXML.Tree fold :: Monoid m => T i name m -> m # foldMap :: Monoid m => (a -> m) -> T i name a -> m # foldr :: (a -> b -> b) -> b -> T i name a -> b # foldr' :: (a -> b -> b) -> b -> T i name a -> b # foldl :: (b -> a -> b) -> b -> T i name a -> b # foldl' :: (b -> a -> b) -> b -> T i name a -> b # foldr1 :: (a -> a -> a) -> T i name a -> a # foldl1 :: (a -> a -> a) -> T i name a -> a # elem :: Eq a => a -> T i name a -> Bool # maximum :: Ord a => T i name a -> a # minimum :: Ord a => T i name a -> a # | |
Traversable (T i name) Source # | |
(Attribute name, Show i, Show name, Show str) => Show (T i name str) Source # | |
(Tag name, Attribute name, C string) => C (T i name string) Source # | |
Defined in Text.XML.WraXML.Tree |
Tag | |
|
Instances
Functor (Leaf name) Source # | |
Foldable (Leaf name) Source # | |
Defined in Text.XML.WraXML.Tree fold :: Monoid m => Leaf name m -> m # foldMap :: Monoid m => (a -> m) -> Leaf name a -> m # foldr :: (a -> b -> b) -> b -> Leaf name a -> b # foldr' :: (a -> b -> b) -> b -> Leaf name a -> b # foldl :: (b -> a -> b) -> b -> Leaf name a -> b # foldl' :: (b -> a -> b) -> b -> Leaf name a -> b # foldr1 :: (a -> a -> a) -> Leaf name a -> a # foldl1 :: (a -> a -> a) -> Leaf name a -> a # toList :: Leaf name a -> [a] # length :: Leaf name a -> Int # elem :: Eq a => a -> Leaf name a -> Bool # maximum :: Ord a => Leaf name a -> a # minimum :: Ord a => Leaf name a -> a # | |
Traversable (Leaf name) Source # | |
(Attribute name, Show name, Show str) => Show (Leaf name str) Source # | |
(Tag name, Attribute name, C string) => C (Leaf name string) Source # | |
Defined in Text.XML.WraXML.Tree |
type AttributePlain = (String, String) Source #
Deprecated: use Attribute type from xml-basic package instead
generators
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 Source #
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) Source #
literalIndex :: i -> str -> T i name str Source #
commentIndex :: i -> String -> T i name str Source #
warningIndex :: i -> String -> T i name str Source #
cdataIndex :: i -> String -> T i name str Source #
Conversions
liftTextA :: Applicative m => (String -> m String) -> Leaf name String -> m (Leaf name String) Source #
liftElementA :: Applicative m => (T name str0 -> m (T name str1)) -> Branch name str0 -> m (Branch name str1) Source #
Tests
checkTag :: (T name str -> Bool) -> T i name str -> Bool Source #
If the Tree is a Leaf, then return False. Otherwise return the result of the predicate.
maybeTextLeaf :: Leaf name str -> Maybe str Source #
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
tree processors
textFromCData :: T i name String -> T i name String Source #
Convert all CData sections to plain text.
mapCond :: (T name str -> Bool) -> Filter name str -> (Leaf name str -> Leaf name str) -> Filter i name str Source #
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"==))
allSubTrees :: T i name str -> [T i name str] Source #
mergeStrings :: Monoid str => Filter i name str Source #
merge subsequent string leafs
processAllSubTrees :: ([T i name str] -> [T i name str]) -> Filter i name str Source #
Process all sub-tree lists in bottom-up order.
processSubTrees :: (Name name -> Bool) -> ([T i name str] -> [T i name str]) -> Filter i name str Source #
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
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 Source #
Character decoding
escape :: T i name String -> T i name T Source #
Use ASCII characters, XML entity references and character references for representing strings. That's not human readable, but portable.
decodeSpecialChars :: (Tag name, Attribute name) => String -> T i name T -> [T i name String] Source #
Deprecated: XmlChar.Unicode constructors must contain unicode characters and not encoded ones. Decode characters before parsing!
Decode characters like those from UTF-8 scheme.
maybeDecodeSpecialChars :: (Tag name, Attribute name) => String -> T i name T -> Maybe [T i name String] Source #
Deprecated: XmlChar.Unicode constructors must contain unicode characters and not encoded ones. Decode characters before parsing!
decodeSpecialCharsDecoder :: (Tag name, Attribute name) => DecodingFctEmbedErrors -> T i name T -> [T i name String] Source #
Deprecated: XmlChar.Unicode constructors must contain unicode characters and not encoded ones. Decode characters before parsing!
Conversion errors are appended as warnings to the tree.
decodeAttrs :: (Tag name, Attribute name) => (T -> EmbeddedExceptions) -> [T name T] -> Writer [String] [T name String] Source #
Deprecated: XmlChar.Unicode constructors must contain unicode characters and not encoded ones. Decode characters before parsing!
decodeAttr :: (Tag name, Attribute name) => (T -> EmbeddedExceptions) -> Name name -> T -> Writer [String] String Source #
Deprecated: XmlChar.Unicode constructors must contain unicode characters and not encoded ones. Decode characters before parsing!
maybeDecodeUTF8Chars :: String -> T i name T -> Maybe (T i name String) Source #
Deprecated: XmlChar.Unicode constructors must contain unicode characters and not encoded ones. Decode characters before parsing!