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