Package net.sf.saxon.serialize

## Class MessageEmitter

- java.lang.Object
- - net.sf.saxon.event.SequenceReceiver
  - - net.sf.saxon.serialize.Emitter
    - - net.sf.saxon.serialize.XMLEmitter
      - - net.sf.saxon.serialize.MessageEmitter

- All Implemented Interfaces:
    `javax.xml.transform.Result`, `Receiver`, `ReceiverWithOutputProperties`

      public class MessageEmitter
      extends XMLEmitter

  MessageEmitter is the default Receiver for xsl:message output. It is the same as XMLEmitter except that (a) it adds an extra newline at the end of the message, and (b) it recognizes a processing-instruction with name "error-code" specially; this is assumed to contain the error-code requested on the `xsl:message` instruction. These changes can be overridden in a user-supplied subclass.

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.serialize.XMLEmitter

      `attSpecials, canonical, characterReferenceGenerator, declarationIsWritten, delimiter, elementCode, elementStack, indentForNextAttribute, openStartTag, started, startedElement, undeclareNamespaces, unfailing`

    - ### Fields inherited from class net.sf.saxon.serialize.Emitter

      `allCharactersEncodable, characterSet, outputProperties, outputStream, streamResult, writer`

    - ### 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 | Description
    --- | ---
    `MessageEmitter()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` | End of the document.
    `void` | `endDocument()` | Notify the end of a document node
    `void` | `processingInstruction​(java.lang.String target, java.lang.CharSequence data, Location locationId, int properties)` | Handle a processing instruction.
    `void` | `setPipelineConfiguration​(PipelineConfiguration pipelineConfiguration)` | Set the pipeline configuration
    `protected boolean` | `suppressProcessingInstruction​(java.lang.String target, java.lang.CharSequence data, Location locationId, int properties)` | Method to decide whether a processing instruction in the message should be suppressed.

    - ### Methods inherited from class net.sf.saxon.serialize.XMLEmitter

      `characters, closeStartTag, comment, convertToAscii, emptyElementTagCloser, endElement, getAttributeIndentString, isStarted, namespace, open, openDocument, setCharacterReferenceGenerator, setEscapeNonAscii, setIndentForNextAttribute, startDocument, startElement, testCharacters, usesTypeAnnotations, writeAttribute, writeCharSequence, writeDeclaration, writeDocType, writeDocTypeWithNullSystemId, writeEscape`

    - ### Methods inherited from class net.sf.saxon.serialize.Emitter

      `append, getOutputProperties, getOutputStream, getWriter, makeOutputStream, makeWriter, setOutputProperties, setOutputStream, setStreamResult, setUnparsedEntity, setWriter, usesWriter`

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

      `append, decompose, flatten, getConfiguration, getErrorCodeForDecomposingFunctionItems, getNamePool, getPipelineConfiguration, getSystemId, handlesAppend, setSystemId`

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

      `append, getPipelineConfiguration, handlesAppend, setSystemId`

    - ### Methods inherited from interface javax.xml.transform.Result

      `getSystemId`

- - ### Constructor Detail

    - #### MessageEmitter

          public MessageEmitter()

  - ### Method Detail

    - #### setPipelineConfiguration

          public void setPipelineConfiguration​(PipelineConfiguration pipelineConfiguration)

      Description copied from interface: `Receiver`
      Set the pipeline configuration
      Specified by:
        `setPipelineConfiguration` in interface `Receiver`
      Overrides:
        `setPipelineConfiguration` in class `SequenceReceiver`
      Parameters:
        `pipelineConfiguration` - the pipeline configuration

    - #### processingInstruction

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

      Description copied from class: `XMLEmitter`
      Handle a processing instruction.
      Specified by:
        `processingInstruction` in interface `Receiver`
      Overrides:
        `processingInstruction` in class `XMLEmitter`
      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` - provides information such as line number and system ID.
        `properties` - Additional information about the PI.
      Throws:
        `XPathException` - if an error occurs

    - #### suppressProcessingInstruction

          protected boolean suppressProcessingInstruction​(java.lang.String target,
                                                          java.lang.CharSequence data,
                                                          Location locationId,
                                                          int properties)

      Method to decide whether a processing instruction in the message should be suppressed. The default implementation suppresses a processing instruction whose target is "error-code"; this processing instruction is inserted into the message; its data part is an EQName containing the error code.
      Parameters:
        `target` - the processing instruction target (that is, name)
        `data` - the data part of the processing instruction
        `locationId` - the location, which in the case of the error-code processing instruction, holds the location of the originating xsl:message instruction
        `properties` - currently 0.
      Returns:
        true if the processing instruction is to be suppressed from the displayed message.

    - #### endDocument

          public void endDocument()
                           throws XPathException

      Description copied from class: `XMLEmitter`
      Notify the end of a document node
      Specified by:
        `endDocument` in interface `Receiver`
      Overrides:
        `endDocument` in class `XMLEmitter`
      Throws:
        `XPathException` - if an error occurs

    - #### close

          public void close()
                     throws XPathException

      Description copied from class: `XMLEmitter`
      End of the document.
      Specified by:
        `close` in interface `Receiver`
      Overrides:
        `close` in class `XMLEmitter`
      Throws:
        `XPathException` - if an error occurs