org.apache.xml.serializer
Class ToXMLStream

java.lang.Object
  extended by org.apache.xml.serializer.SerializerBase
      extended by org.apache.xml.serializer.ToStream
          extended by org.apache.xml.serializer.ToXMLStream
All Implemented Interfaces:
DOMSerializer, ExtendedContentHandler, ExtendedLexicalHandler, SerializationHandler, Serializer, SerializerConstants, XSLOutputAttributes, org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.ErrorHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.ext.LexicalHandler

public class ToXMLStream
extends ToStream

This class converts SAX or SAX-like calls to a serialized xml document. The xsl:output method is "xml". This class is used explicitly in code generated by XSLTC, so it is "public", but it should be viewed as internal or package private, this is not an API.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.xml.serializer.ToStream
ToStream.BoolStack
 
Field Summary
private  CharInfo m_xmlcharInfo
          Map that tells which XML characters should have special treatment, and it provides character to entity name lookup.
 
Fields inherited from class org.apache.xml.serializer.ToStream
m_cdataStartCalled, m_charInfo, m_disableOutputEscapingStates, m_encodingInfo, m_escaping, m_inDoctype, m_ispreserve, m_isprevtext, m_isUTF8, m_lineSep, m_lineSepLen, m_lineSepUse, m_outputStream, m_preserves, m_shouldFlush, m_spaceBeforeClose, m_startNewLine
 
Fields inherited from class org.apache.xml.serializer.SerializerBase
m_attrBuff, m_attributes, m_CdataElems, m_cdataTagOpen, m_charsBuff, m_docIsEmpty, m_doctypePublic, m_doctypeSystem, m_doIndent, m_elemContext, m_indentAmount, m_inEntityRef, m_inExternalDTD, m_mediatype, m_needToCallStartDocument, m_needToOutputDocTypeDecl, m_prefixMap, m_shouldNotWriteXMLHeader, m_sourceLocator, m_standaloneWasSpecified, m_StringOfCDATASections, m_tracer, m_version, m_writer, PKG_NAME, PKG_PATH
 
Fields inherited from interface org.apache.xml.serializer.ExtendedContentHandler
HTML_ATTREMPTY, HTML_ATTRURL, NO_BAD_CHARS
 
Fields inherited from interface org.apache.xml.serializer.SerializerConstants
CDATA_CONTINUE, CDATA_DELIMITER_CLOSE, CDATA_DELIMITER_OPEN, DEFAULT_SAX_SERIALIZER, EMPTYSTRING, ENTITY_AMP, ENTITY_CRLF, ENTITY_GT, ENTITY_LT, ENTITY_QUOT, XML_PREFIX, XMLNS_PREFIX, XMLNS_URI, XMLVERSION10, XMLVERSION11
 
Constructor Summary
ToXMLStream()
          Default constructor.
 
Method Summary
 void addAttribute(java.lang.String uri, java.lang.String localName, java.lang.String rawName, java.lang.String type, java.lang.String value, boolean xslAttribute)
          Add an attribute to the current element.
 void addUniqueAttribute(java.lang.String name, java.lang.String value, int flags)
          This method is used to add an attribute to the currently open element.
 void CopyFrom(ToXMLStream xmlListener)
          Copy properties from another SerializerToXML.
 void endDocument()
          Receive notification of the end of a document.
 void endElement(java.lang.String elemName)
          Receive notification of the end of an element.
 void endPreserving()
          Ends a whitespace preserving section.
 void entityReference(java.lang.String name)
          Receive notivication of a entityReference.
private  java.lang.String getXMLVersion()
          This method checks for the XML version of output document.
 void namespaceAfterStartElement(java.lang.String prefix, java.lang.String uri)
          This method is used to notify the serializer of a namespace mapping (or node) that applies to the current element whose startElement() call has already been seen.
 void processingInstruction(java.lang.String target, java.lang.String data)
          Receive notification of a processing instruction.
protected  boolean pushNamespace(java.lang.String prefix, java.lang.String uri)
          From XSLTC Declare a prefix to point to a namespace URI.
 boolean reset()
          Try's to reset the super class and reset this class for re-use, so that you don't need to create a new serializer (mostly for performance reasons).
private  void resetToXMLStream()
          Reset all of the fields owned by ToStream class
 void startDocumentInternal()
          Receive notification of the beginning of a document.
 void startPreserving()
          Starts a whitespace preserving section.
 
Methods inherited from class org.apache.xml.serializer.ToStream
accumDefaultEntity, addAttributeAlways, addCdataSectionElements, attributeDecl, cdata, characters, characters, charactersRaw, closeCDATA, closeStartTag, comment, elementDecl, endCDATA, endDTD, endElement, endNonEscaping, endPrefixMapping, ensureAttributesNamespaceIsDeclared, ensurePrefixIsDeclared, escapingNotNeeded, externalEntityDecl, firePseudoAttributes, flushPending, flushWriter, getIndentAmount, getOutputFormat, getOutputStream, getWriter, ignorableWhitespace, indent, indent, internalEntityDecl, notationDecl, outputDocTypeDecl, outputEntityDecl, outputLineSep, processAttributes, serialize, setCdataSectionElements, setContentHandler, setDTDEntityExpansion, setEncoding, setEscaping, setIndentAmount, setLineSepUse, setNewLine, setOutputFormat, setOutputStream, setProp, setTransformer, setWriter, shouldIndent, skippedEntity, startCDATA, startDTD, startElement, startElement, startElement, startEntity, startNonEscaping, startPrefixMapping, startPrefixMapping, unparsedEntityDecl, writeAttrString, writeNormalizedChars, writeUTF16Surrogate
 
Methods inherited from class org.apache.xml.serializer.SerializerBase
addAttribute, addAttribute, addAttributes, addXSLAttribute, asContentHandler, asDOM3Serializer, asDOMSerializer, characters, close, comment, documentIsEmpty, endEntity, error, fatalError, fireCDATAEvent, fireCharEvent, fireCommentEvent, fireEndDoc, fireEndElem, fireEndEntity, fireEntityReference, fireEscapingEvent, fireStartDoc, fireStartElem, fireStartEntity, getDoctypePublic, getDoctypeSystem, getEncoding, getFirstCharLocName, getIndent, getLocalName, getMediaType, getNamespaceMappings, getNamespaceURI, getNamespaceURIFromPrefix, getOmitXMLDeclaration, getOutputPropDefaultKeys, getOutputProperty, getOutputPropertyDefault, getOutputPropertyNonDefault, getOutputPropKeys, getPrefix, getPrefixPart, getStandalone, getTransformer, getVersion, initCDATA, initCdataElems, inTemporaryOutputState, isCdataSection, patchName, setDoctype, setDoctypePublic, setDoctypeSystem, setDocumentLocator, setIndent, setMediaType, setNamespaceMappings, setOmitXMLDeclaration, setOutputProperty, setOutputPropertyDefault, setSourceLocator, setStandalone, setStandaloneInternal, setVersion, startDocument, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_xmlcharInfo

private CharInfo m_xmlcharInfo
Map that tells which XML characters should have special treatment, and it provides character to entity name lookup.

Constructor Detail

ToXMLStream

public ToXMLStream()
Default constructor.

Method Detail

CopyFrom

public void CopyFrom(ToXMLStream xmlListener)
Copy properties from another SerializerToXML.

Parameters:
xmlListener - non-null reference to a SerializerToXML object.

startDocumentInternal

public void startDocumentInternal()
                           throws org.xml.sax.SAXException
Receive notification of the beginning of a document.

Overrides:
startDocumentInternal in class SerializerBase
Throws:
org.xml.sax.SAXException - Any SAX exception, possibly wrapping another exception.
org.xml.sax.SAXException

endDocument

public void endDocument()
                 throws org.xml.sax.SAXException
Receive notification of the end of a document.

Throws:
org.xml.sax.SAXException - Any SAX exception, possibly wrapping another exception.
org.xml.sax.SAXException

startPreserving

public void startPreserving()
                     throws org.xml.sax.SAXException
Starts a whitespace preserving section. All characters printed within a preserving section are printed without indentation and without consolidating multiple spaces. This is equivalent to the xml:space="preserve" attribute. Only XML and HTML serializers need to support this method.

The contents of the whitespace preserving section will be delivered through the regular characters event.

Throws:
org.xml.sax.SAXException

endPreserving

public void endPreserving()
                   throws org.xml.sax.SAXException
Ends a whitespace preserving section.

Throws:
org.xml.sax.SAXException
See Also:
startPreserving()

processingInstruction

public void processingInstruction(java.lang.String target,
                                  java.lang.String data)
                           throws org.xml.sax.SAXException
Receive notification of a processing instruction.

Parameters:
target - The processing instruction target.
data - The processing instruction data, or null if none was supplied.
Throws:
org.xml.sax.SAXException - Any SAX exception, possibly wrapping another exception.
org.xml.sax.SAXException

entityReference

public void entityReference(java.lang.String name)
                     throws org.xml.sax.SAXException
Receive notivication of a entityReference.

Specified by:
entityReference in interface ExtendedContentHandler
Overrides:
entityReference in class SerializerBase
Parameters:
name - The name of the entity.
Throws:
org.xml.sax.SAXException

addUniqueAttribute

public void addUniqueAttribute(java.lang.String name,
                               java.lang.String value,
                               int flags)
                        throws org.xml.sax.SAXException
This method is used to add an attribute to the currently open element. The caller has guaranted that this attribute is unique, which means that it not been seen before and will not be seen again.

Parameters:
name - the qualified name of the attribute
value - the value of the attribute which can contain only ASCII printable characters characters in the range 32 to 127 inclusive.
flags - the bit values of this integer give optimization information.
Throws:
org.xml.sax.SAXException

addAttribute

public void addAttribute(java.lang.String uri,
                         java.lang.String localName,
                         java.lang.String rawName,
                         java.lang.String type,
                         java.lang.String value,
                         boolean xslAttribute)
                  throws org.xml.sax.SAXException
Add an attribute to the current element.

Specified by:
addAttribute in interface ExtendedContentHandler
Overrides:
addAttribute in class SerializerBase
Parameters:
uri - the URI associated with the element name
localName - local part of the attribute name
rawName - prefix:localName
type -
value - the value of the attribute
xslAttribute - true if this attribute is from an xsl:attribute, false if declared within the elements opening tag.
Throws:
org.xml.sax.SAXException
See Also:
ExtendedContentHandler.addAttribute(String, String, String, String, String)

endElement

public void endElement(java.lang.String elemName)
                throws org.xml.sax.SAXException
Description copied from class: ToStream
Receive notification of the end of an element.

Specified by:
endElement in interface ExtendedContentHandler
Overrides:
endElement in class ToStream
Parameters:
elemName - The element type name
Throws:
org.xml.sax.SAXException
See Also:
ExtendedContentHandler.endElement(String)

namespaceAfterStartElement

public void namespaceAfterStartElement(java.lang.String prefix,
                                       java.lang.String uri)
                                throws org.xml.sax.SAXException
This method is used to notify the serializer of a namespace mapping (or node) that applies to the current element whose startElement() call has already been seen. The official SAX startPrefixMapping(prefix,uri) is to define a mapping for a child element that is soon to be seen with a startElement() call. The official SAX call does not apply to the current element, hence the reason for this method.

Specified by:
namespaceAfterStartElement in interface ExtendedContentHandler
Overrides:
namespaceAfterStartElement in class SerializerBase
Parameters:
prefix - the URI of the namespace
uri - the prefix associated with the given URI.
Throws:
org.xml.sax.SAXException
See Also:
ExtendedContentHandler.namespaceAfterStartElement(String, String)

pushNamespace

protected boolean pushNamespace(java.lang.String prefix,
                                java.lang.String uri)
From XSLTC Declare a prefix to point to a namespace URI. Inform SAX handler if this is a new prefix mapping.


reset

public boolean reset()
Try's to reset the super class and reset this class for re-use, so that you don't need to create a new serializer (mostly for performance reasons).

Specified by:
reset in interface Serializer
Overrides:
reset in class ToStream
Returns:
true if the class was successfuly reset.

resetToXMLStream

private void resetToXMLStream()
Reset all of the fields owned by ToStream class


getXMLVersion

private java.lang.String getXMLVersion()
This method checks for the XML version of output document. If XML version of output document is not specified, then output document is of version XML 1.0. If XML version of output doucment is specified, but it is not either XML 1.0 or XML 1.1, a warning message is generated, the XML Version of output document is set to XML 1.0 and processing continues.

Returns:
string (XML version)