Class UncommittedSerializer

All Implemented Interfaces:
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
  • Constructor Details

    • UncommittedSerializer

      public UncommittedSerializer(Result finalResult, Properties outputProperties)
      Create an uncommitted Serializer
      Parameters:
      finalResult - the output destination
      outputProperties - the serialization properties
  • Method Details

    • 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(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(String target, 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(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
      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 field holding special properties of the element
      Throws:
      XPathException