HaXml-1.25.8: Utilities for manipulating XML documents

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.

Synopsis

# Documentation

Constructors

 SaxDocTypeDecl DocTypeDecl A doctype declaration occured() 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 Nothing, if no error occured, or Just String if an error occured.

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.