| HaXml-1.19.7: Utilities for manipulating XML documents | Source code | Contents | Index

Text.XML.HaXml.ParseLazy

Contents

Parse a whole document
Parse just a DTD
Parse a partial document
Individual parsers for use with xmlParseWith and module SAX
These general utility functions don't belong here

Description
A non-validating XML parser. For the input grammar, see http://www.w3.org/TR/REC-xml.
Synopsis

xmlParse :: String -> String -> Document Posn
dtdParse
xmlParseWith :: XParser a -> [(Posn, TokenT)] -> (Either String a, [(Posn, TokenT)])
document :: XParser (Document Posn)
element :: XParser (Element Posn)
content :: XParser (Content Posn)
comment :: XParser Comment
chardata :: XParser CharData
reference :: XParser Reference
doctypedecl :: XParser DocTypeDecl
processinginstruction :: XParser ProcessingInstruction
elemtag :: XParser ElemTag
name :: XParser Name
tok :: TokenT -> XParser TokenT
elemOpenTag :: XParser ElemTag
elemCloseTag :: Name -> XParser ()
emptySTs :: SymTabs
type XParser a = Parser SymTabs (Posn, TokenT) a
fst3 :: (a, b, c) -> a
snd3 :: (a, b, c) -> b
thd3 :: (a, b, c) -> c

Parse a whole document

xmlParse :: String -> String -> Document Posn | Source

To parse a whole document, `xmlParse file content` takes a filename (for generating error reports) and the string content of that file. A parse error causes program failure, with message to stderr.
Parse just a DTD
dtdParse
Parse a partial document

xmlParseWith :: XParser a -> [(Posn, TokenT)] -> (Either String a, [(Posn, TokenT)]) | Source

To parse a partial document, e.g. from an XML-based stream protocol, where you may later want to get more document elements from the same stream. Arguments are: a parser for the item you want, and the already-lexed input to parse from. Returns the item you wanted (or an error message), plus the remainder of the input.
Individual parsers for use with xmlParseWith and module SAX

document :: XParser (Document Posn) | Source

Return an entire XML document including prolog and trailing junk.

element :: XParser (Element Posn) | Source

Return a complete element including all its inner content.

content :: XParser (Content Posn) | Source

Return a content particle, e.g. text, element, reference, etc

comment :: XParser Comment | Source

Return an XML comment.

chardata :: XParser CharData | Source

Return parsed freetext (i.e. until the next markup)

reference :: XParser Reference | Source

Return either a general entity reference, or a character reference.

doctypedecl :: XParser DocTypeDecl | Source

Return a DOCTYPE decl, indicating a DTD.

processinginstruction :: XParser ProcessingInstruction | Source

Parse a processing instruction.

elemtag :: XParser ElemTag | Source

Parse only the parts between angle brackets in an element tag.

name :: XParser Name | Source

Return just a name, e.g. element name, attribute name.

tok :: TokenT -> XParser TokenT | Source

Return the next token from the input only if it matches the given token.

elemOpenTag :: XParser ElemTag | Source

For use with stream parsers - returns the complete opening element tag.

elemCloseTag :: Name -> XParser () | Source

For use with stream parsers - accepts a closing tag, provided it matches the given element name.

emptySTs :: SymTabs | Source

Some empty symbol tables for GE and PE references.

type XParser a = Parser SymTabs (Posn, TokenT) a | Source

XParser is just a specialisation of the PolyStateLazy parser.
These general utility functions don't belong here

fst3 :: (a, b, c) -> a | Source

snd3 :: (a, b, c) -> b | Source

thd3 :: (a, b, c) -> c | Source

Produced by Haddock version 2.4.2