Package net.sf.saxon.event

## Class SequenceNormalizerWithSpaceSeparator

- java.lang.Object
- - net.sf.saxon.event.SequenceReceiver
  - - net.sf.saxon.event.ProxyReceiver
    - - net.sf.saxon.event.SequenceNormalizer
      - - net.sf.saxon.event.SequenceNormalizerWithSpaceSeparator

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

      public class SequenceNormalizerWithSpaceSeparator
      extends SequenceNormalizer

  Implement the "sequence normalization" logic as defined in the XSLT 3.0/XQuery 3.0 serialization spec, for the case where there is no item-separator.

  This class is used only if no ItemSeparator is specified. Its effect is to insert a single space as a separator between adjacent atomic values appearing in the top level sequence.

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.event.SequenceNormalizer

      `level`

    - ### 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 | Description
    --- | ---
    `SequenceNormalizerWithSpaceSeparator​(Receiver next)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `append​(Item item, Location locationId, int copyNamespaces)` | Append an arbitrary item (node or atomic value) to the output
    `protected java.lang.String` | `getErrorCodeForDecomposingFunctionItems()` |

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

      `characters, close, comment, endDocument, endElement, onClose, onClose, open, processingInstruction, startDocument, startElement`

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

      `getNamePool, getNextReceiver, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, usesTypeAnnotations`

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

      `append, decompose, flatten, getConfiguration, getPipelineConfiguration, getSystemId, handlesAppend`

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

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

- - ### Constructor Detail

    - #### SequenceNormalizerWithSpaceSeparator

          public SequenceNormalizerWithSpaceSeparator​(Receiver next)

  - ### Method Detail

    - #### append

          public void append​(Item item,
                             Location locationId,
                             int copyNamespaces)
                      throws XPathException

      Append an arbitrary item (node or atomic value) to the output
      Specified by:
        `append` in interface `Receiver`
      Overrides:
        `append` in class `ProxyReceiver`
      Parameters:
        `item` - the item to be appended
        `locationId` - the location of the calling instruction, for diagnostics
        `copyNamespaces` - if the item is an element node, this indicates whether its namespaces need to be copied. Values are `ReceiverOption.ALL_NAMESPACES`; the default (0) means
      Throws:
        `XPathException` - if an error occurs

    - #### getErrorCodeForDecomposingFunctionItems

          protected java.lang.String getErrorCodeForDecomposingFunctionItems()

      Overrides:
        `getErrorCodeForDecomposingFunctionItems` in class `SequenceReceiver`