Maintainer | bastiaan.heeren@ou.nl |
---|---|
Stability | provisional |
Portability | portable (depends on ghc) |
Safe Haskell | None |
Language | Haskell98 |
Collection of common operation on XML documents
Synopsis
- data XML
- type Name = String
- type Attributes = [Attribute]
- data Attribute = Name := String
- parseXML :: String -> Either String XML
- parseXMLFile :: FilePath -> IO XML
- class (Semigroup a, Monoid a) => BuildXML a where
- data XMLBuilder
- makeXML :: String -> XMLBuilder -> XML
- prettyXML :: XML -> String
- compactXML :: XML -> String
- name :: XML -> Name
- attributes :: XML -> Attributes
- findAttribute :: Monad m => String -> XML -> m String
- children :: XML -> [XML]
- findChildren :: String -> XML -> [XML]
- findChild :: Monad m => String -> XML -> m XML
- getData :: XML -> String
- expecting :: Monad m => String -> XML -> m ()
- decodeData :: Decoder env XML String
- decodeAttribute :: String -> Decoder env XML String
- decodeChild :: Name -> Decoder env XML a -> Decoder env XML a
- decodeFirstChild :: Name -> Decoder env XML a -> Decoder env XML a
- class ToXML a where
- builderXML :: (ToXML a, BuildXML b) => a -> b
- class ToXML a => InXML a where
- foldXML :: (Name -> [a] -> [Either s e] -> e) -> (Attribute -> a) -> (String -> s) -> XML -> e
- trimXML :: XML -> XML
- content :: XML -> [Either String XML]
- emptyContent :: XML -> Bool
- fromBuilder :: XMLBuilder -> Maybe XML
XML types
type Attributes = [Attribute] Source #
Parsing XML
Building/constructing XML
class (Semigroup a, Monoid a) => BuildXML a where Source #
(.=.) :: String -> String -> a infix 7 Source #
string :: String -> a Source #
tag :: String -> a -> a Source #
text :: Show s => s -> a Source #
Instances
BuildXML XMLBuilder Source # | |
Defined in Ideas.Text.XML (.=.) :: String -> String -> XMLBuilder Source # string :: String -> XMLBuilder Source # builder :: XML -> XMLBuilder Source # tag :: String -> XMLBuilder -> XMLBuilder Source # char :: Char -> XMLBuilder Source # text :: Show s => s -> XMLBuilder Source # element :: String -> [XMLBuilder] -> XMLBuilder Source # emptyTag :: String -> XMLBuilder Source # | |
BuildXML a => BuildXML (Decoder env s a) Source # | |
Defined in Ideas.Text.XML (.=.) :: String -> String -> Decoder env s a Source # string :: String -> Decoder env s a Source # builder :: XML -> Decoder env s a Source # tag :: String -> Decoder env s a -> Decoder env s a Source # char :: Char -> Decoder env s a Source # text :: Show s0 => s0 -> Decoder env s a Source # element :: String -> [Decoder env s a] -> Decoder env s a Source # |
data XMLBuilder Source #
Instances
IsString XMLBuilder Source # | |
Defined in Ideas.Text.XML fromString :: String -> XMLBuilder # | |
Semigroup XMLBuilder Source # | |
Defined in Ideas.Text.XML (<>) :: XMLBuilder -> XMLBuilder -> XMLBuilder # sconcat :: NonEmpty XMLBuilder -> XMLBuilder # stimes :: Integral b => b -> XMLBuilder -> XMLBuilder # | |
Monoid XMLBuilder Source # | |
Defined in Ideas.Text.XML mempty :: XMLBuilder # mappend :: XMLBuilder -> XMLBuilder -> XMLBuilder # mconcat :: [XMLBuilder] -> XMLBuilder # | |
BuildXML XMLBuilder Source # | |
Defined in Ideas.Text.XML (.=.) :: String -> String -> XMLBuilder Source # string :: String -> XMLBuilder Source # builder :: XML -> XMLBuilder Source # tag :: String -> XMLBuilder -> XMLBuilder Source # char :: Char -> XMLBuilder Source # text :: Show s => s -> XMLBuilder Source # element :: String -> [XMLBuilder] -> XMLBuilder Source # emptyTag :: String -> XMLBuilder Source # |
Pretty-printing XML
compactXML :: XML -> String Source #
Simple decoding queries
attributes :: XML -> Attributes Source #
Decoding XML
Type classes for converting to/from XML
builderXML :: (ToXML a, BuildXML b) => a -> b Source #
Processing XML
foldXML :: (Name -> [a] -> [Either s e] -> e) -> (Attribute -> a) -> (String -> s) -> XML -> e Source #
Deprecated functions
emptyContent :: XML -> Bool Source #
fromBuilder :: XMLBuilder -> Maybe XML Source #