Text.XML.HaXml.SAX
Description
A streaming XML parser, using a method known as SAX. SAX isn't really a standard, but an implementation, so it's just an "SAX-like" parser. This module allows you parse an XML document without having to evaluate it as a whole. This is needed for protocols like jabber, which use xml streams for communication.
- data SaxElement
- saxParse :: String -> String -> ([SaxElement], Maybe String)
Documentation
data SaxElement Source
Constructors
| SaxDocTypeDecl DocTypeDecl | A doctype declaration occured(<!DOCTYPE>) |
| SaxProcessingInstruction ProcessingInstruction | A processing instruction occured (<??>) |
| SaxComment String | A comment occured (<!-- -->) |
| SaxElementOpen Name [Attribute] | An element was opened (<>) |
| SaxElementClose Name | An element was closed (</>) |
| SaxElementTag Name [Attribute] | An element without content occured (</>) |
| SaxCharData CharData | Some string data occured |
| SaxReference Reference | A reference occured |
Arguments
| :: String | The filename |
| -> String | The content of the file |
| -> ([SaxElement], Maybe String) | A tuple of the parsed elements and |
saxParse file content takes a filename and the string content of that
file and generates a stream of SaxElements. If an error occurs, the
parsing stops and a string is returned using the Maybe type.