HaXml-1.23.3: Utilities for manipulating XML documents

Safe HaskellSafe-Inferred

Text.XML.HaXml.Xtract.Lex

Description

This is another hand-written lexer, this time for the Xtract command-language. The entry point is lexXtract. You don't normally need to use this module directly - the lexer is called automatically by the parser. (We only expose this interface for debugging purposes.)

The Xtract command language is very like the XPath specification.

Synopsis

Documentation

lexXtract :: (String -> String) -> String -> [Token]

First argument is a transformer for pattern strings, e.g. map toLower, but only applying to parts of the pattern not in quotation marks. (Needed to canonicalise HTML where tags are case-insensitive, but attribute values are case sensitive.)

data Posn

Constructors

Pn Int 

Instances

Eq Posn 
Show Posn 

data TokenT

Constructors

Symbol String 
TokString String 
TokNum Integer 

Instances

Eq TokenT 
Show TokenT 

type Token = Either String (Posn, TokenT)