## net.sf.saxon.event
Class LocationCopier

    java.lang.Object
      net.sf.saxon.event.SequenceReceiver
          net.sf.saxon.event.ProxyReceiver
              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.