Class XOMWriter

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

    public class XOMWriter
    extends Builder
    XOMWriter is a Receiver that constructs a XOM document from the stream of events
    • Constructor Detail

      • XOMWriter

        public XOMWriter​(PipelineConfiguration pipe)
        Create a XOMWriter using the default node factory
        Parameters:
        pipe - the pipeline configuration
      • XOMWriter

        public XOMWriter​(PipelineConfiguration pipe,
                         nu.xom.NodeFactory factory)
        Create a XOMWriter
        Parameters:
        pipe - the pipeline configuration
        factory - the XOM NodeFactory to be used
    • Method Detail

      • setUnparsedEntity

        public void setUnparsedEntity​(java.lang.String name,
                                      java.lang.String systemID,
                                      java.lang.String publicID)
                               throws XPathException
        Notify an unparsed entity URI.
        Parameters:
        name - The name of the unparsed entity
        systemID - The system identifier of the unparsed entity
        publicID - The public identifier of the unparsed entity
        Throws:
        XPathException - if an error occurs
      • open

        public void open()
        Start of the document.
        Specified by:
        open in interface Receiver
        Overrides:
        open in class Builder
      • close

        public void close()
        End of the document.
        Specified by:
        close in interface Receiver
        Overrides:
        close in class Builder
      • startDocument

        public void startDocument​(int properties)
                           throws XPathException
        Start of a document node.
        Parameters:
        properties -
        Throws:
        XPathException - if an error occurs
      • endDocument

        public void endDocument()
                         throws XPathException
        Notify the end of a document node
        Throws:
        XPathException - if an error occurs
      • startElement

        public void startElement​(NodeName elemName,
                                 SchemaType type,
                                 AttributeMap attributes,
                                 NamespaceMap namespaces,
                                 Location location,
                                 int properties)
                          throws XPathException
        Start of an element.
        Parameters:
        elemName - the name of the element.
        type - the type annotation of the element.
        attributes - the attributes of this element
        namespaces - the in-scope namespaces of this element: generally this is all the in-scope namespaces, without relying on inheriting namespaces from parent elements
        location - an object providing information about the module, line, and column where the node originated
        properties - bit-significant properties of the element node. If there are no relevant properties, zero is supplied. The definitions of the bits are in class ReceiverOption
        Throws:
        XPathException - if an error occurs
      • characters

        public void characters​(java.lang.CharSequence chars,
                               Location locationId,
                               int properties)
                        throws XPathException
        Character data.
        Parameters:
        chars - The characters
        locationId - provides information such as line number and system ID.
        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 - if an error occurs
      • processingInstruction

        public void processingInstruction​(java.lang.String target,
                                          java.lang.CharSequence data,
                                          Location locationId,
                                          int properties)
                                   throws XPathException
        Handle a processing instruction.
        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
      • comment

        public void comment​(java.lang.CharSequence chars,
                            Location locationId,
                            int properties)
                     throws XPathException
        Handle a comment.
        Parameters:
        chars - The content of the comment
        locationId - provides information such as line number and system ID.
        properties - Additional information about the comment.
        Throws:
        XPathException - if an error occurs
      • usesTypeAnnotations

        public boolean usesTypeAnnotations()
        Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations supplied on element and attribute events
        Specified by:
        usesTypeAnnotations in interface Receiver
        Overrides:
        usesTypeAnnotations in class Builder
        Returns:
        true if the Receiver makes any use of this information. If false, the caller may supply untyped nodes instead of supplying the type annotation
      • getDocument

        public nu.xom.Document getDocument()
        Get the constructed document node
        Returns:
        the document node of the constructed XOM tree
      • getCurrentRoot

        public NodeInfo getCurrentRoot()
        Get the current root node.
        Overrides:
        getCurrentRoot in class Builder
        Returns:
        a Saxon wrapper around the constructed XOM document node