Interface XmlSerializer

  • All Known Implementing Classes:
    DomSerializer, DumpSerializer, SaxSerializer, StaxSerializer, StreamSerializer, TXWSerializer

    public interface XmlSerializer
    Low-level typeless XML writer driven from TypedXmlWriter.

    Applications can use one of the predefined implementations to send TXW output to the desired location/format, or they can choose to implement this interface for custom output.

    One XmlSerializer instance is responsible for writing one XML document.

    Call Sequence

    TXW calls methods on this interface in the following order:
     WHOLE_SEQUENCE := startDocument ELEMENT endDocument
     ELEMENT := beginStartTag writeXmlns* writeAttribute* endStartTag CONTENT endTag
     CONTENT := (text|ELEMENT)*
     

    TXW maintains all the in-scope namespace bindings and prefix allocation. The XmlSerializer implementation should just use the prefix specified.

    Author:
    Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void beginStartTag​(java.lang.String uri, java.lang.String localName, java.lang.String prefix)
      Begins writing a start tag.
      void cdata​(java.lang.StringBuilder text)
      Writes CDATA.
      void comment​(java.lang.StringBuilder comment)
      Writes a comment.
      void endDocument()
      The last method to be called.
      void endStartTag​(java.lang.String uri, java.lang.String localName, java.lang.String prefix)
      Completes the start tag.
      void endTag()
      Writes an end tag.
      void flush()
      Flush the buffer.
      void startDocument()
      The first method to be called.
      void text​(java.lang.StringBuilder text)
      Writes PCDATA.
      void writeAttribute​(java.lang.String uri, java.lang.String localName, java.lang.String prefix, java.lang.StringBuilder value)
      Writes an attribute.
      void writeXmlns​(java.lang.String prefix, java.lang.String uri)
      Writes a namespace declaration.
    • Method Detail

      • startDocument

        void startDocument()
        The first method to be called.
      • beginStartTag

        void beginStartTag​(java.lang.String uri,
                           java.lang.String localName,
                           java.lang.String prefix)
        Begins writing a start tag.
        Parameters:
        uri - the namespace URI of the element. Can be empty but never be null.
        prefix - the prefix that should be used for this element. Can be empty, but never null.
      • writeAttribute

        void writeAttribute​(java.lang.String uri,
                            java.lang.String localName,
                            java.lang.String prefix,
                            java.lang.StringBuilder value)
        Writes an attribute.
        Parameters:
        value - The value of the attribute. It's the callee's responsibility to escape special characters (such as <, >, and &) in this buffer.
        uri - the namespace URI of the attribute. Can be empty but never be null.
        prefix - the prefix that should be used for this attribute. Can be empty, but never null.
      • writeXmlns

        void writeXmlns​(java.lang.String prefix,
                        java.lang.String uri)
        Writes a namespace declaration.
        Parameters:
        uri - the namespace URI to be declared. Can be empty but never be null.
        prefix - the prefix that is allocated. Can be empty but never be null.
      • endStartTag

        void endStartTag​(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String prefix)
        Completes the start tag.
        Parameters:
        uri - the namespace URI of the element. Can be empty but never be null.
        prefix - the prefix that should be used for this element. Can be empty, but never null.
      • endTag

        void endTag()
        Writes an end tag.
      • text

        void text​(java.lang.StringBuilder text)
        Writes PCDATA.
        Parameters:
        text - The character data to be written. It's the callee's responsibility to escape special characters (such as <, >, and &) in this buffer.
      • cdata

        void cdata​(java.lang.StringBuilder text)
        Writes CDATA.
      • comment

        void comment​(java.lang.StringBuilder comment)
        Writes a comment.
        Throws:
        java.lang.UnsupportedOperationException - if the writer doesn't support writing a comment, it can throw this exception.
      • endDocument

        void endDocument()
        The last method to be called.
      • flush

        void flush()
        Flush the buffer. This method is called when applications invoke TypedXmlWriter.commit(boolean) method. If the implementation performs any buffering, it should flush the buffer.