Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
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.
Synopsis
- data SaxElement
- saxParse :: String -> String -> ([SaxElement], Maybe String)
Documentation
data SaxElement Source #
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 |
:: 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 SaxElement
s. If an error occurs, the
parsing stops and a string is returned using the Maybe
type.