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