Data.XML.Types
- data Document = Document {}
- data Prologue = Prologue {}
- data Instruction = Instruction {}
- data Miscellaneous
- data Node
- data Element = Element {
- elementName :: Name
- elementAttributes :: [Attribute]
- elementNodes :: [Node]
- data Attribute = Attribute {
- attributeName :: Name
- attributeContent :: [Content]
- data Content
- data Name = Name {}
- class Named a where
- data Doctype = Doctype {}
- data ExternalID
- data InternalSubset
- data 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]
Types
Document prologue
Constructors
| Document | |
Fields | |
Constructors
| Prologue | |
Fields | |
Document body
Constructors
| Element | |
Fields
| |
Constructors
| Attribute | |
Fields
| |
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
Constructors
| Name | |
Fields
| |
Doctypes
Constructors
| Doctype | |
Fields | |
data ExternalID Source
Instances
data InternalSubset Source
Instances
Incremental processing
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.
Predicates
isInstruction :: Node -> [Instruction]Source
Filters
nodeChildren :: Node -> [Node]Source
elementChildren :: Element -> [Element]Source