net.sf.saxon.event

## Class NamePoolConverter

- java.lang.Object
- - net.sf.saxon.event.SequenceReceiver
  - - net.sf.saxon.event.ProxyReceiver
    - - net.sf.saxon.event.NamePoolConverter

- All Implemented Interfaces:
    Result, Receiver

      public class NamePoolConverter
      extends ProxyReceiver

  This class is a filter that passes all Receiver events through unchanged, except that it changes namecodes to allow for the source and the destination using different NamePools. This is necessary when a stylesheet has been constructed as a general document (e.g. as the result of a transformation) and is passed to newTemplates() to be compiled as a stylesheet.
  Author:
    Michael Kay

- - ### 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

    Constructors
    Constructor and Description
    `NamePoolConverter(Receiver next, NamePool oldPool, NamePool newPool)` Constructor

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `attribute(NodeName nameCode, SimpleType typeCode, CharSequence value, int locationId, int properties)` Handle an attribute
    `void` | `namespace(NamespaceBinding namespaceBinding, int properties)` Handle a namespace
    `void` | `setUnderlyingReceiver(Receiver receiver)` Set the underlying emitter.
    `void` | `startElement(NodeName nameCode, SchemaType typeCode, int locationId, int properties)` Output element start tag

    - ### Methods inherited from class net.sf.saxon.event.ProxyReceiver

      `append, characters, close, comment, endDocument, endElement, getNamePool, getUnderlyingReceiver, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnparsedEntity, startContent, startDocument, usesTypeAnnotations`

    - ### Methods inherited from class net.sf.saxon.event.SequenceReceiver

      `append, getConfiguration, getPipelineConfiguration, getSystemId`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### NamePoolConverter

          public NamePoolConverter(Receiver next,
                           NamePool oldPool,
                           NamePool newPool)

      Constructor
      Parameters:
        `next` - the next receiver in the pipeline
        `oldPool` - the old namepool
        `newPool` - th new namepool

  - ### Method Detail

    - #### setUnderlyingReceiver

          public void setUnderlyingReceiver(Receiver receiver)

      Set the underlying emitter. This call is mandatory before using the Emitter. This version is modified from that of the parent class to avoid setting the namePool of the destination Receiver.
      Overrides:
        `setUnderlyingReceiver` in class `ProxyReceiver`
      Parameters:
        `receiver` - the underlying receiver, the one that is to receive events after processing by this filter.

    - #### startElement

          public void startElement(NodeName nameCode,
                          SchemaType typeCode,
                          int locationId,
                          int properties)
                            throws XPathException

      Output element start tag
      Specified by:
        `startElement` in interface `Receiver`
      Overrides:
        `startElement` in class `ProxyReceiver`
      Parameters:
        `nameCode` - integer code identifying the name of the element within the name pool.
        `typeCode` - integer code identifying the element's type within the name pool.
        `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
        `properties` - properties of the element node
      Throws:
        `XPathException` - if an error occurs

    - #### namespace

          public void namespace(NamespaceBinding namespaceBinding,
                       int properties)
                         throws XPathException

      Handle a namespace
      Specified by:
        `namespace` in interface `Receiver`
      Overrides:
        `namespace` in class `ProxyReceiver`
      Parameters:
        `namespaceBinding` - the prefix/uri pair representing the namespace binding
        `properties` - any special properties to be passed on this call
      Throws:
        `XPathException` - if an error occurs

    - #### attribute

          public void attribute(NodeName nameCode,
                       SimpleType typeCode,
                       CharSequence value,
                       int locationId,
                       int properties)
                         throws XPathException

      Handle an attribute
      Specified by:
        `attribute` in interface `Receiver`
      Overrides:
        `attribute` in class `ProxyReceiver`
      Parameters:
        `nameCode` - The name of the attribute, as held in the name pool
        `typeCode` - The type of the attribute, as held in the name pool
        `value` - the string value of the attribute
        `locationId` - an integer which can be interpreted using a `LocationProvider` to return information such as line number and system ID. If no location information is available, the value zero is supplied.
        `properties` - Bit significant value. The following bits are defined:
        DISABLE_ESCAPING
      Disable escaping for this attribute
        NO_SPECIAL_CHARACTERS
      Attribute value contains no special characters
      Throws:
        `XPathException` - if an error occurs

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.