Class LocationMap

java.lang.Object
net.sf.saxon.expr.instruct.LocationMap
All Implemented Interfaces:
Serializable, LocationProvider

public class LocationMap extends Object implements LocationProvider, Serializable
A LocationMap allocates integer codes to (systemId, lineNumber) pairs. The integer codes are held inside an Expression object to track the location of the expression in the source code
See Also:
  • Constructor Details

    • LocationMap

      public LocationMap()
      Create a location map
  • Method Details

    • allocateLocationId

      public int allocateLocationId(String module, int lineNumber)
      Allocate a location identifier to an expression
      Parameters:
      module - the URI (system identifier) of the module
      lineNumber - the line number of the expression within the module
      Returns:
      the corresponding location identifier
    • getSystemId

      public String getSystemId(long locationId)
      Get the system identifier corresponding to a locationId
      Specified by:
      getSystemId in interface LocationProvider
      Parameters:
      locationId - the location identifier
      Returns:
      the corresponding system identifier
    • getLineNumber

      public int getLineNumber(long locationId)
      Get the line number corresponding to a locationId
      Specified by:
      getLineNumber in interface LocationProvider
      Parameters:
      locationId - the location identifier
      Returns:
      the corresponding line number
    • getColumnNumber

      public int getColumnNumber(long locationId)
      Description copied from interface: LocationProvider
      Get the column number within the document, entity, or module containing a particular location
      Specified by:
      getColumnNumber in interface LocationProvider
      Parameters:
      locationId - identifier of the location in question (as passed down the Receiver pipeline)
      Returns:
      the column number within the document, entity, or module, or -1 if this is not available