## net.sf.saxon.event
Class UncommittedSerializer

    java.lang.Object
      net.sf.saxon.event.SequenceReceiver
          net.sf.saxon.event.ProxyReceiver
              net.sf.saxon.event.UncommittedSerializer

All Implemented Interfaces:
  javax.xml.transform.Result, Receiver

    public class UncommittedSerializer

extends ProxyReceiver

This class is used when the decision on which serialization method to use has to be delayed until the first element is read. It buffers comments and processing instructions until that happens; then when the first element arrives it creates a real serialization pipeline and uses that for future output.

Author:
  Michael H. 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
`UncommittedSerializer(javax.xml.transform.Result finalResult, java.util.Properties outputProperties)` Create an uncommitted Serializer

Method Summary
`void` `characters(java.lang.CharSequence chars, int locationId, int properties)` Produce character output using the current Writer.
`void` `close()` End of document
`void` `comment(java.lang.CharSequence chars, int locationId, int properties)` Output a comment
`void` `open()` Start of event stream
`void` `processingInstruction(java.lang.String target, java.lang.CharSequence data, int locationId, int properties)` Processing Instruction
`void` `startElement(int nameCode, int typeCode, int locationId, int properties)` Output an element start tag.

Methods inherited from class net.sf.saxon.event.ProxyReceiver
`append, attribute, endDocument, endElement, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument`

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`

Constructor Detail

### UncommittedSerializer

    public UncommittedSerializer(javax.xml.transform.Result finalResult,
                                 java.util.Properties outputProperties)

  Create an uncommitted Serializer

  Parameters:
    `finalResult` - the output destination
    `outputProperties` - the serialization properties

Method Detail

### open

    public void open()
              throws XPathException

  Description copied from class: `ProxyReceiver`
  Start of event stream

  Specified by:
    `open` in interface `Receiver`
  Overrides:
    `open` in class `ProxyReceiver`
  Throws:
    `XPathException`

### close

    public void close()
               throws XPathException

  End of document

  Specified by:
    `close` in interface `Receiver`
  Overrides:
    `close` in class `ProxyReceiver`
  Throws:
    `XPathException`

### characters

    public void characters(java.lang.CharSequence chars,
                           int locationId,
                           int properties)
                    throws XPathException

  Produce character output using the current Writer.

  Specified by:
    `characters` in interface `Receiver`
  Overrides:
    `characters` in class `ProxyReceiver`
  Parameters:
    `chars` - The characters
    `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 text node
  USE_CDATA
    Output as a CDATA section
  Throws:
    `XPathException`

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.CharSequence data,
                                      int locationId,
                                      int properties)
                               throws XPathException

  Processing Instruction

  Specified by:
    `processingInstruction` in interface `Receiver`
  Overrides:
    `processingInstruction` in class `ProxyReceiver`
  Parameters:
    `target` - The PI name. This must be a legal name (it will not be checked).
    `data` - The data portion of the processing instruction
    `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` - Additional information about the PI. The following bits are defined:
  CHECKED
    Data is known to be legal (e.g. doesn't contain "?>")
  Throws:
    `XPathException`

### comment

    public void comment(java.lang.CharSequence chars,
                        int locationId,
                        int properties)
                 throws XPathException

  Output a comment

  Specified by:
    `comment` in interface `Receiver`
  Overrides:
    `comment` in class `ProxyReceiver`
  Parameters:
    `chars` - The content of the comment
    `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` - Additional information about the comment. The following bits are defined:
  CHECKED
    Comment is known to be legal (e.g. doesn't contain "--")
  Throws:
    `XPathException`

### startElement

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

  Output an element start tag.
  This can only be called once: it switches to a substitute output generator for XML, XHTML, or HTML, depending on the element name.

  Specified by:
    `startElement` in interface `Receiver`
  Overrides:
    `startElement` in class `ProxyReceiver`
  Parameters:
    `nameCode` - The element name (tag)
    `typeCode` - The type annotation
    `properties` - Bit field holding special properties of the element
    `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.
  Throws:
    `XPathException`

Copyright (c) Saxonica Limited. All rights reserved.