net.sf.saxon.event
Class LocationCopier

java.lang.Object
  extended by net.sf.saxon.event.SequenceReceiver
      extended by net.sf.saxon.event.ProxyReceiver
          extended by net.sf.saxon.event.LocationCopier
All Implemented Interfaces:
javax.xml.transform.Result, CopyInformee, LocationProvider, Receiver

public class LocationCopier
extends ProxyReceiver
implements CopyInformee, LocationProvider

A Receiver that can be inserted into an event pipeline to copy location information. The class acts as a LocationProvider, so it supports getSystemId() and getLineNumber() methods; the location returned can vary for each node, and is set by the class generating the events. The class is used when it is necessary to copy a subtree along with its location information; for example, when copying an inline schema within a stylesheet to a separate schema document.


Field Summary
 
Fields inherited from class net.sf.saxon.event.ProxyReceiver
nextReceiver
 
Fields inherited from class net.sf.saxon.event.SequenceReceiver
pipelineConfiguration, previousAtomic, systemId
 
Fields inherited from interface javax.xml.transform.Result
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
 
Constructor Summary
LocationCopier()
           
LocationCopier(Receiver nextReceiver)
           
 
Method Summary
 int getColumnNumber(long locationId)
          Get the column number within the document or module containing a particular location
 int getLineNumber()
          Get the line number
 int getLineNumber(long locationId)
          Get the line number within the document or module containing a particular location
 java.lang.String getSystemId(long locationId)
          Get the URI of the document or module containing a particular location
 void notifyElementNode(NodeInfo element)
          Provide information about the node being copied.
 void setPipelineConfiguration(PipelineConfiguration pipe)
          Set the pipeline configuration
 
Methods inherited from class net.sf.saxon.event.ProxyReceiver
append, attribute, characters, close, comment, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument, startElement
 
Methods inherited from class net.sf.saxon.event.SequenceReceiver
getPipelineConfiguration, getSystemId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.saxon.event.Receiver
attribute, characters, close, comment, endDocument, endElement, getPipelineConfiguration, namespace, open, processingInstruction, setSystemId, setUnparsedEntity, startContent, startDocument, startElement
 
Methods inherited from interface javax.xml.transform.Result
getSystemId
 

Constructor Detail

LocationCopier

public LocationCopier()

LocationCopier

public LocationCopier(Receiver nextReceiver)
Method Detail

setPipelineConfiguration

public void setPipelineConfiguration(PipelineConfiguration pipe)
Description copied from interface: Receiver
Set the pipeline configuration

Specified by:
setPipelineConfiguration in interface Receiver
Overrides:
setPipelineConfiguration in class ProxyReceiver
Parameters:
pipe - the pipeline configuration

notifyElementNode

public void notifyElementNode(NodeInfo element)
Provide information about the node being copied. This method is called immediately before the startElement call for the element node in question.

Specified by:
notifyElementNode in interface CopyInformee
Parameters:
element - the node being copied, which must be an element node

getLineNumber

public int getLineNumber()
Get the line number

Returns:
the line number most recently set

getSystemId

public java.lang.String getSystemId(long locationId)
Description copied from interface: LocationProvider
Get the URI of the document or module containing a particular location

Specified by:
getSystemId in interface LocationProvider
Parameters:
locationId - identifier of the location in question (as passed down the Receiver pipeline)
Returns:
the URI of the document or module.

getLineNumber

public int getLineNumber(long locationId)
Description copied from interface: LocationProvider
Get the line number within the document or module containing a particular location

Specified by:
getLineNumber in interface LocationProvider
Parameters:
locationId - identifier of the location in question (as passed down the Receiver pipeline)
Returns:
the line number within the document or module.

getColumnNumber

public int getColumnNumber(long locationId)
Description copied from interface: LocationProvider
Get the column number within the document 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 or module, or -1 if this is not available


Copyright (c) Saxonica Limited. All rights reserved.