-- 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 monadLib and monadLib-compose. It
-- provides filter composition, similar to hxt, and a succinct monadic
-- interface.
@package xml-monad
@version 0.1
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 error type that can be constructed from XmlError.
class FromXmlError a
fromXmlError :: (FromXmlError a) => XmlError -> a
-- | Raise a defined exception for Nothing, return Just
-- values.
maybeRaise :: (ExceptionM m i) => i -> Maybe a -> m a
-- | Like asks for a function that can return an error, as
-- Left.
asksEither :: (ReaderM m s, ExceptionM m e) => (s -> Either e a) -> m a
-- | Like asks for a function that can return an error, as
-- Nothing.
asksMaybe :: (ReaderM m s, ExceptionM m e) => e -> (s -> Maybe a) -> m a
-- | Catch errors (like try), and return Nothing for errors.
tryMaybe :: (RunExceptionM m i) => m a -> m (Maybe a)
-- | Catch errors (like try), and return False for errors and
-- True for success.
tryBool :: (RunExceptionM m i) => m a -> m Bool
instance Show XmlError
instance FromXmlError XmlError
module Text.XML.Monad.Output
showTopElement :: (ReaderM m Element) => m String
showContent :: (ReaderM m Content) => m String
showElement :: (ReaderM m Element) => m String
showCData :: (ReaderM m CData) => m String
showAttr :: (ReaderM m Attr) => m String
ppTopElement :: (ReaderM m Element) => m String
ppContent :: (ReaderM m Content) => m String
ppElement :: (ReaderM m Element) => m String
ppcTopElement :: (ReaderM m Element) => ConfigPP -> m String
ppcContent :: (ReaderM m Content) => ConfigPP -> m String
ppcElement :: (ReaderM m Element) => ConfigPP -> m String
module Text.XML.Monad.Proc
strContent :: (ReaderM m Element) => m String
onlyElems :: (ReaderM m [Content]) => m [Element]
elChildren :: (ReaderM m Element) => m [Element]
onlyText :: (ReaderM m [Content]) => m [CData]
findChildren :: (ReaderM m Element) => QName -> m [Element]
filterChildren :: (ReaderM m Element) => (Element -> Bool) -> m [Element]
filterChildrenName :: (ReaderM m Element) => (QName -> Bool) -> m [Element]
findChild :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => QName -> m Element
filterChild :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => (Element -> Bool) -> m Element
filterChildName :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => (QName -> Bool) -> m Element
findElement :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => QName -> m Element
filterElement :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => (Element -> Bool) -> m Element
filterElementName :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => (QName -> Bool) -> m Element
findElements :: (ReaderM m Element) => QName -> m [Element]
filterElements :: (ReaderM m Element) => (Element -> Bool) -> m [Element]
filterElementsName :: (ReaderM m Element) => (QName -> Bool) -> m [Element]
findAttr :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => QName -> m String
lookupAttr :: (ReaderM m [Attr], ExceptionM m e, FromXmlError e) => QName -> m String
findAttrBy :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => (QName -> Bool) -> m String
lookupAttrBy :: (ReaderM m [Attr], ExceptionM m e, FromXmlError e) => (QName -> Bool) -> m String
module Text.XML.Monad.Input
parseXML :: (ReaderM m s, XmlSource s) => m [Content]
parseXMLDoc :: (ReaderM m s, ExceptionM m e, FromXmlError e, XmlSource s) => m Element
module Text.XML.Monad.Core
-- | Standard Xml reader + exception transformer type.
newtype XmlT e s m a
XmlT :: ExceptionT e (ReaderT s m) a -> XmlT e s m a
fromXmlT :: XmlT e s m a -> ExceptionT e (ReaderT s m) a
-- | Standard Xml reader + exception monadic type.
type Xml e s a = XmlT e s Id a
-- | Run an XmlT.
runXmlT :: s -> XmlT e s m a -> m (Either e a)
-- | Run an Xml.
runXml :: s -> Xml e s a -> Either e a
elName :: (ReaderM m Element) => m QName
elAttribs :: (ReaderM m Element) => m [Attr]
elContent :: (ReaderM m Element) => m [Content]
elLine :: (ReaderM m Element) => m (Maybe Line)
attrKey :: (ReaderM m Attr) => m QName
attrVal :: (ReaderM m Attr) => m String
cdVerbatim :: (ReaderM m CData) => m CDataKind
cdLine :: (ReaderM m CData) => m (Maybe Line)
cdData :: (ReaderM m CData) => m String
qName :: (ReaderM m QName) => m String
qURI :: (ReaderM m QName) => m (Maybe String)
qPrefix :: (ReaderM m QName) => m (Maybe String)
instance (Monad m) => Functor (XmlT e s m)
instance (Monad m) => Monad (XmlT e s m)
instance (Monad m) => Applicative (XmlT e s m)
instance (RunM m (Either e a) r) => RunM (XmlT e s m) a (s -> r)
instance (Monad m) => ComposeM (XmlT e s m) (XmlT e t m) s t
instance (Monad m) => RunExceptionM (XmlT e s m) e
instance (Monad m) => ExceptionM (XmlT e s m) e
instance (Monad m) => ReaderM (XmlT e s m) s
instance MonadT (XmlT e s)
instance (BaseM m n) => BaseM (XmlT e s m) n
module Text.XML.Monad.Name
findElementNameG :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => (QName -> QName -> Bool) -> QName -> m Element
findElementName :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => QName -> m Element
findElementNameU :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => String -> m Element
findElementNameUI :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => String -> m Element
testElementNameG :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => (QName -> QName -> Bool) -> QName -> m ()
testElementName :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => QName -> m ()
testElementNameU :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => String -> m ()
testElementNameUI :: (ReaderM m Element, ExceptionM m e, FromXmlError e) => String -> m ()
unqualEq :: QName -> QName -> Bool
unqualEqI :: QName -> QName -> Bool
module Text.XML.Monad