-- 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.4 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 Typeable XmlError instance Show XmlError instance FromXmlError XmlError instance Exception 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