-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A simple XML library. -- -- A simple XML library. @package xml @version 1.2.6 module Text.XML.Light.Types -- | A line is an Integer type Line = Integer -- | XML content data Content Elem :: Element -> Content Text :: CData -> Content CRef :: String -> Content -- | XML elements data Element Element :: QName -> [Attr] -> [Content] -> Maybe Line -> Element elName :: Element -> QName elAttribs :: Element -> [Attr] elContent :: Element -> [Content] elLine :: Element -> Maybe Line -- | XML attributes data Attr Attr :: QName -> String -> Attr attrKey :: Attr -> QName attrVal :: Attr -> String -- | XML CData data CData CData :: Bool -> String -> Maybe Line -> CData cdVerbatim :: CData -> Bool cdData :: CData -> String cdLine :: CData -> Maybe Line -- | XML qualified names data QName QName :: String -> Maybe String -> Maybe String -> QName qName :: QName -> String qURI :: QName -> Maybe String qPrefix :: QName -> Maybe String -- | Blank names blank_name :: QName -- | Blank cdata blank_cdata :: CData -- | Blank elements blank_element :: Element instance Show QName instance Show CData instance Eq Attr instance Ord Attr instance Show Attr instance Show Element instance Show Content instance Ord QName instance Eq QName module Text.XML.Light.Proc -- | Get the text value of an XML element. This function ignores non-text -- elements, and concatenates all text elements. strContent :: Element -> String -- | Select only the elements from a list of XML content. onlyElems :: [Content] -> [Element] -- | Select only the elements from a parent. elChildren :: Element -> [Element] -- | Select only the text from a list of XML content. onlyText :: [Content] -> [CData] -- | Find all immediate children with the given name. findChildren :: QName -> Element -> [Element] -- | Filter all immediate children wrt a given predicate. filterChildren :: (Element -> Bool) -> Element -> [Element] -- | Filter all immediate children wrt a given predicate over their names. filterChildrenName :: (QName -> Bool) -> Element -> [Element] -- | Find an immediate child with the given name. findChild :: QName -> Element -> Maybe Element -- | Find an immediate child with the given name. filterChild :: (Element -> Bool) -> Element -> Maybe Element -- | Find an immediate child with name matching a predicate. filterChildName :: (QName -> Bool) -> Element -> Maybe Element -- | Find the left-most occurrence of an element matching given name. findElement :: QName -> Element -> Maybe Element -- | Filter the left-most occurrence of an element wrt. given predicate. filterElement :: (Element -> Bool) -> Element -> Maybe Element -- | Filter the left-most occurrence of an element wrt. given predicate. filterElementName :: (QName -> Bool) -> Element -> Maybe Element -- | Find all non-nested occurances of an element. (i.e., once we have -- found an element, we do not search for more occurances among the -- element's children). findElements :: QName -> Element -> [Element] -- | Find all non-nested occurrences of an element wrt. given predicate. -- (i.e., once we have found an element, we do not search for more -- occurances among the element's children). filterElements :: (Element -> Bool) -> Element -> [Element] -- | Find all non-nested occurences of an element wrt a predicate over -- element names. (i.e., once we have found an element, we do not search -- for more occurances among the element's children). filterElementsName :: (QName -> Bool) -> Element -> [Element] -- | Lookup the value of an attribute. findAttr :: QName -> Element -> Maybe String -- | Lookup attribute name from list. lookupAttr :: QName -> [Attr] -> Maybe String module Text.XML.Light.Output -- | Adds the ?xml? header. showTopElement :: Element -> String showContent :: Content -> String showElement :: Element -> String showCData :: CData -> String showQName :: QName -> String showAttr :: Attr -> String -- | Pretty printing renders XML documents faithfully, with the exception -- that whitespace may be added/removed in non-verbatim character data. ppTopElement :: Element -> String -- | Pretty printing content ppContent :: Content -> String -- | Pretty printing elements ppElement :: Element -> String tagEnd :: QName -> ShowS -- | The XML 1.0 header xml_header :: String -- | Lightweight XML parsing module Text.XML.Light.Input -- | parseXML to a list of content chunks parseXML :: String -> [Content] -- | parseXMLDoc, parse a XMLl document to maybe an element parseXMLDoc :: String -> Maybe Element instance Show Txt instance Show Token -- | A lightweight XML parsing, filtering and generating library. -- -- This module reexports functions from: -- -- module Text.XML.Light -- | Add an attribute to an element. add_attr :: Attr -> Element -> Element -- | Add some attributes to an element. add_attrs :: [Attr] -> Element -> Element -- | Create an unqualified name. unqual :: String -> QName -- | A smart element constructor which uses the type of its argument to -- determine what sort of element to make. class Node t node :: (Node t) => QName -> t -> Element -- | Create node with unqualified name unode :: (Node t) => String -> t -> Element instance Node [Char] instance Node (Attr, String) instance Node ([Attr], String) instance Node CData instance Node [CData] instance Node (Attr, CData) instance Node ([Attr], CData) instance Node ([Attr], [CData]) instance Node Element instance Node [Element] instance Node (Attr, Element) instance Node ([Attr], Element) instance Node ([Attr], [Element]) instance Node (Attr, Content) instance Node ([Attr], Content) instance Node Content instance Node [Content] instance Node () instance Node Attr instance Node [Attr] instance Node ([Attr], [Content])