-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Basic types for representing XML -- -- Basic types for representing XML @package xml-types @version 0.1.2 module Data.XML.Types data Document Document :: Prologue -> Element -> [Miscellaneous] -> Document documentPrologue :: Document -> Prologue documentRoot :: Document -> Element documentEpilogue :: Document -> [Miscellaneous] data Prologue Prologue :: [Miscellaneous] -> Maybe Doctype -> [Miscellaneous] -> Prologue prologueBefore :: Prologue -> [Miscellaneous] prologueDoctype :: Prologue -> Maybe Doctype prologueAfter :: Prologue -> [Miscellaneous] data Instruction Instruction :: Text -> Text -> Instruction instructionTarget :: Instruction -> Text instructionData :: Instruction -> Text data Miscellaneous MiscInstruction :: Instruction -> Miscellaneous MiscComment :: Text -> Miscellaneous data Node NodeElement :: Element -> Node NodeInstruction :: Instruction -> Node NodeContent :: Content -> Node NodeComment :: Text -> Node data Element Element :: Name -> [Attribute] -> [Node] -> Element elementName :: Element -> Name elementAttributes :: Element -> [Attribute] elementNodes :: Element -> [Node] data Attribute Attribute :: Name -> [Content] -> Attribute attributeName :: Attribute -> Name attributeContent :: Attribute -> [Content] data Content ContentText :: Text -> Content ContentEntity :: Text -> Content -- | The Eq instance for Name ignores prefixes. -- -- The IsString instance for Name allows entry using Clark -- notation; see http://www.jclark.com/xml/xmlns.htm and -- http://infohost.nmt.edu/tcc/help/pubs/pylxml/etree-QName.html data Name Name :: Text -> Maybe Text -> Maybe Text -> Name nameLocalName :: Name -> Text nameNamespace :: Name -> Maybe Text namePrefix :: Name -> Maybe Text class Named a getName :: Named a => a -> Name data Doctype Doctype :: Text -> Maybe ExternalID -> [InternalSubset] -> Doctype doctypeName :: Doctype -> Text doctypeExternalID :: Doctype -> Maybe ExternalID doctypeInternalSubsets :: Doctype -> [InternalSubset] data ExternalID SystemID :: Text -> ExternalID PublicID :: Text -> Text -> ExternalID data InternalSubset -- | Some XML processing tools are incremental, and work in terms of events -- rather than node trees. Defining the event type here, even though it -- won't be useful to most users, allows these packages to interoperate -- more easily. data Event EventBeginDocument :: Event EventEndDocument :: Event EventInstruction :: Instruction -> Event EventDoctype :: Doctype -> Event EventBeginElement :: Name -> [Attribute] -> Event EventEndElement :: Name -> Event EventContent :: Content -> Event EventComment :: Text -> Event isElement :: Node -> [Element] isInstruction :: Node -> [Instruction] isContent :: Node -> [Content] isComment :: Node -> [Text] isNamed :: Named a => Name -> a -> [a] nodeChildren :: Node -> [Node] elementChildren :: Element -> [Element] hasAttribute :: (Attribute -> [Attribute]) -> Element -> [Element] position :: Integer -> (a -> [b]) -> a -> [b] instance Show Event instance Eq Event instance Show InternalSubset instance Eq InternalSubset instance Show ExternalID instance Eq ExternalID instance Show Doctype instance Eq Doctype instance Show Name instance Show Content instance Eq Content instance Show Attribute instance Eq Attribute instance Show Element instance Eq Element instance Show Node instance Eq Node instance Show Miscellaneous instance Eq Miscellaneous instance Show Instruction instance Eq Instruction instance Show Prologue instance Eq Prologue instance Show Document instance Eq Document instance Named Attribute instance Named Element instance IsString Name instance Eq Name