-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Monadic extensions to the xml package.
--
-- A monadic interface for xml based on transformers and
-- transformers-compose. It provides filter composition, similar to hxt,
-- and a succinct monadic interface.
@package xml-monad
@version 0.3
module Text.XML.Monad.Error
-- | XML error type.
data XmlError
-- | An (invalid) empty input document was observed.
EmptyDocument :: XmlError
-- | Invalid XML, general parse error.
InvalidXml :: XmlError
-- | An immediate child element in an XML tree was not found.
XmlChildNotFound :: XmlError
-- | An immediate child element in an XML tree was not found, with name.
XmlChildNotFoundQ :: QName -> XmlError
-- | An element in an XML tree was not found.
XmlElementNotFound :: XmlError
-- | An element in an XML tree was not found, with name.
XmlElementNotFoundQ :: QName -> XmlError
-- | An XML element attribute was not found.
XmlAttributeNotFound :: XmlError
-- | An XML element attribute was not found, with name.
XmlAttributeNotFoundQ :: QName -> XmlError
-- | An XML element name was different than expected, with actual and
-- expected names.
UnexpectedElementNameQ :: QName -> QName -> XmlError
-- | A general XML error occured.
XmlError :: String -> XmlError
-- | A general error occured.
OtherError :: String -> XmlError
-- | An unspecified general error occured.
UnspecifiedError :: XmlError
-- | An error type that can be constructed from XmlError.
class FromXmlError a
fromXmlError :: (FromXmlError a) => XmlError -> a
-- | Raise an exception.
raise :: (MonadError i m) => i -> m a
-- | Raise a defined exception for Nothing, return Just
-- values.
maybeRaise :: (MonadError i m) => i -> Maybe a -> m a
-- | Raise an exception for Left, return Right values.
raises :: (MonadError i m) => Either i a -> m a
-- | Like asks for a function that can return an error, as
-- Left.
asksEither :: (MonadReader s m, MonadError e m) => (s -> Either e a) -> m a
-- | Like asks for a function that can return an error, as
-- Nothing.
asksMaybe :: (MonadReader s m, MonadError e m) => e -> (s -> Maybe a) -> m a
-- | Catch errors, and return an Left for errors, Right
-- otherwise.
try :: (MonadError e m) => m a -> m (Either e a)
-- | Catch errors (like try), and return Nothing for errors.
tryMaybe :: (MonadError e m) => m a -> m (Maybe a)
-- | Catch errors (like try), and return False for errors and
-- True for success.
tryBool :: (MonadError e m) => m a -> m Bool
instance Show XmlError
instance FromXmlError XmlError
instance Error XmlError
module Text.XML.Monad.Output
showTopElement :: (MonadReader Element m) => m String
showContent :: (MonadReader Content m) => m String
showElement :: (MonadReader Element m) => m String
showCData :: (MonadReader CData m) => m String
showAttr :: (MonadReader Attr m) => m String
ppTopElement :: (MonadReader Element m) => m String
ppContent :: (MonadReader Content m) => m String
ppElement :: (MonadReader Element m) => m String
ppcTopElement :: (MonadReader Element m) => ConfigPP -> m String
ppcContent :: (MonadReader Content m) => ConfigPP -> m String
ppcElement :: (MonadReader Element m) => ConfigPP -> m String
module Text.XML.Monad.Proc
strContent :: (MonadReader Element m) => m String
readContent :: (MonadReader Element m, Read a) => m a
onlyElems :: (MonadReader [Content] m) => m [Element]
elChildren :: (MonadReader Element m) => m [Element]
onlyText :: (MonadReader [Content] m) => m [CData]
findChildren :: (MonadReader Element m) => QName -> m [Element]
filterChildren :: (MonadReader Element m) => (Element -> Bool) -> m [Element]
filterChildrenName :: (MonadReader Element m) => (QName -> Bool) -> m [Element]
findChild :: (MonadReader Element m, MonadError e m, FromXmlError e) => QName -> m Element
filterChild :: (MonadReader Element m, MonadError e m, FromXmlError e) => (Element -> Bool) -> m Element
filterChildName :: (MonadReader Element m, MonadError e m, FromXmlError e) => (QName -> Bool) -> m Element
findElement :: (MonadReader Element m, MonadError e m, FromXmlError e) => QName -> m Element
filterElement :: (MonadReader Element m, MonadError e m, FromXmlError e) => (Element -> Bool) -> m Element
filterElementName :: (MonadReader Element m, MonadError e m, FromXmlError e) => (QName -> Bool) -> m Element
findElements :: (MonadReader Element m) => QName -> m [Element]
filterElements :: (MonadReader Element m) => (Element -> Bool) -> m [Element]
filterElementsName :: (MonadReader Element m) => (QName -> Bool) -> m [Element]
findAttr :: (MonadReader Element m, MonadError e m, FromXmlError e) => QName -> m String
lookupAttr :: (MonadReader [Attr] m, MonadError e m, FromXmlError e) => QName -> m String
findAttrBy :: (MonadReader Element m, MonadError e m, FromXmlError e) => (QName -> Bool) -> m String
lookupAttrBy :: (MonadReader [Attr] m, MonadError e m, FromXmlError e) => (QName -> Bool) -> m String
module Text.XML.Monad.Input
parseXML :: (MonadReader s m, XmlSource s) => m [Content]
parseXMLDoc :: (MonadReader s m, MonadError e m, FromXmlError e, XmlSource s) => m Element
module Text.XML.Monad.Core
-- | Standard Xml reader + exception transformer type.
newtype XmlT e s m a
XmlT :: ErrorT e (ReaderT s m) a -> XmlT e s m a
fromXmlT :: XmlT e s m a -> ErrorT e (ReaderT s m) a
-- | Standard Xml reader + exception monadic type.
type Xml e s a = XmlT e s Identity a
-- | Run an XmlT.
runXmlT :: XmlT e s m a -> s -> m (Either e a)
-- | Run an Xml.
runXml :: Xml e s a -> s -> Either e a
-- | Run a reader inside a list.
inList :: (MonadCompose m n s t, MonadReader [s] n) => m a -> n [a]
elName :: (MonadReader Element m) => m QName
elAttribs :: (MonadReader Element m) => m [Attr]
elContent :: (MonadReader Element m) => m [Content]
elLine :: (MonadReader Element m) => m (Maybe Line)
attrKey :: (MonadReader Attr m) => m QName
attrVal :: (MonadReader Attr m) => m String
cdVerbatim :: (MonadReader CData m) => m CDataKind
cdLine :: (MonadReader CData m) => m (Maybe Line)
cdData :: (MonadReader CData m) => m String
qName :: (MonadReader QName m) => m String
qURI :: (MonadReader QName m) => m (Maybe String)
qPrefix :: (MonadReader QName m) => m (Maybe String)
instance (Functor m) => Functor (XmlT e s m)
instance (Monad m, Error e) => Monad (XmlT e s m)
instance (Monad m, Functor m) => Applicative (XmlT e s m)
instance (Monad m, Error e) => MonadPlus (XmlT e s m)
instance (Monad m, Functor m, Error e) => Alternative (XmlT e s m)
instance (MonadIO m, Error e) => MonadIO (XmlT e s m)
instance (Monad m, Error e) => MonadCompose (XmlT e s m) (XmlT e t m) s t
instance (Monad m, Error e) => MonadError e (XmlT e s m)
instance (Monad m, Error e) => MonadReader s (XmlT e s m)
instance (Error e) => MonadTrans (XmlT e s)
module Text.XML.Monad.Name
findElementNameG :: (MonadReader Element m, MonadError e m, FromXmlError e) => (QName -> QName -> Bool) -> QName -> m Element
findElementName :: (MonadReader Element m, MonadError e m, FromXmlError e) => QName -> m Element
findElementNameU :: (MonadReader Element m, MonadError e m, FromXmlError e) => String -> m Element
findElementNameUI :: (MonadReader Element m, MonadError e m, FromXmlError e) => String -> m Element
findElementsNameG :: (MonadReader Element m) => (QName -> QName -> Bool) -> QName -> m [Element]
findElementsName :: (MonadReader Element m) => QName -> m [Element]
findElementsNameU :: (MonadReader Element m) => String -> m [Element]
findElementsNameUI :: (MonadReader Element m) => String -> m [Element]
testElementNameG :: (MonadReader Element m, MonadError e m, FromXmlError e) => (QName -> QName -> Bool) -> QName -> m ()
testElementName :: (MonadReader Element m, MonadError e m, FromXmlError e) => QName -> m ()
testElementNameU :: (MonadReader Element m, MonadError e m, FromXmlError e) => String -> m ()
testElementNameUI :: (MonadReader Element m, MonadError e m, FromXmlError e) => String -> m ()
unqualEq :: QName -> QName -> Bool
unqualEqI :: QName -> QName -> Bool
module Text.XML.Monad