HaXml-1.25.3: Utilities for manipulating XML documents

Safe HaskellSafe-Inferred




Define a position datatype for giving locations in error messages.


Position type

data Posn Source

Source positions contain a filename, line, column, and an inclusion point, which is itself another source position, recursively.


Constructors of a new position

posInNewCxt :: String -> Maybe Posn -> Posn Source

posInNewCxt name pos creates a new source position from an old one. It is used when opening a new file (e.g. a DTD inclusion), to denote the start of the file name, but retain the stacked information that it was included from the old pos.

noPos :: Posn Source

Dummy value for generated data, where a true source position does not exist.


forcep :: Posn -> Int Source

Just used to strictify the internal values of a position, to avoid space leaks.


addcol :: Int -> Posn -> Posn Source

Add n character positions to the given position.

newline :: Posn -> Posn Source

Add a newline or tab to the given position.

tab :: Posn -> Posn Source

Add a newline or tab to the given position.

white :: Char -> Posn -> Posn Source

Add the given whitespace char to the given position. Precondition: white c | isSpace c = True