-- 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