net.sf.saxon.tree

Class LineNumberMap

public class LineNumberMap extends Object

Line numbers are not held in nodes in the tree, because they are not usually needed. This class provides a map from element sequence numbers to line numbers: it is linked to the root node of the tree.

Author: Michael H. Kay

Constructor Summary
LineNumberMap()
Create a LineNumberMap with an initial capacity of 200 nodes, which is expanded as necessary
Method Summary
intgetColumnNumber(int sequence)
Get the column number corresponding to a given sequence number
intgetLineNumber(int sequence)
Get the line number corresponding to a given sequence number
voidsetLineAndColumn(int sequence, int line, int column)
Set the line number corresponding to a given sequence number

Constructor Detail

LineNumberMap

public LineNumberMap()
Create a LineNumberMap with an initial capacity of 200 nodes, which is expanded as necessary

Method Detail

getColumnNumber

public int getColumnNumber(int sequence)
Get the column number corresponding to a given sequence number

Parameters: sequence the sequence number held in the node

Returns: the corresponding column number

getLineNumber

public int getLineNumber(int sequence)
Get the line number corresponding to a given sequence number

Parameters: sequence the sequence number held in the node

Returns: the corresponding line number

setLineAndColumn

public void setLineAndColumn(int sequence, int line, int column)
Set the line number corresponding to a given sequence number

Parameters: sequence the sequence number of the node line the line number position of the node column the column position of the node