APIdia Launch Partner
Top Description Fields Constructors Methods
com.sun.org.apache.xml.internal.serialize

public Class TextSerializer

extends BaseMarkupSerializer
Class Inheritance
Annotations
@Deprecated
Imports
java.io.IOException, org.w3c.dom.Element, .Node, org.xml.sax.AttributeList, .Attributes, .SAXException

Deprecated

As of JDK 9, Xerces 2.9.0, Xerces DOM L3 Serializer implementation is replaced by that of Xalan. Main class com.sun.org.apache.xml.internal.serialize.DOMSerializerImpl is replaced by com.sun.org.apache.xml.internal.serializer.dom3.LSSerializerImpl.

Implements a text serializer supporting both DOM and SAX serializing. For usage instructions see Serializer.

If an output stream is used, the encoding is taken from the output format (defaults to UTF-8). If a writer is used, make sure the writer uses the same encoding (if applies) as specified in the output format.

The serializer supports both DOM and SAX. DOM serializing is done by calling serialize and SAX serializing is done by firing SAX events and using the serializer as a document handler.

If an I/O exception occurs while serializing, the serializer will not throw an exception directly, but only throw it at the end of serializing (either DOM or SAX's org.xml.sax.DocumentHandler#endDocument.

Author
Assaf Arkin
See Also
Serializer

Field Summary

Inherited from com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer:
_docTypePublicId_docTypeSystemId_encodingInfo_format_indenting_prefixes_printer_startedfCurrentNodefDOMErrorfDOMErrorHandlerfDOMFilterfeaturesfStrBuffer

Constructor Summary

AccessConstructor and Description
public
TextSerializer()

Constructs a new serializer.

Method Summary

Modifier and TypeMethod and Description
public void
protected void
characters(String text, boolean unescaped)

public void
public void
comment(char[] chars, int start, int length)

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.comment.

Implements org.xml.sax.ext.LexicalHandler.comment.

Report an XML comment anywhere in the document.

protected ElementState
content()

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.content.

References Deprecated ElementState is deprecated or references (maybe indirectly) at least one deprecated element.

Must be called by a method about to print any type of content.

public void
endElement(String namespaceURI, String localName, String rawName)

Implements org.xml.sax.ContentHandler.endElement.

Receive notification of the end of an element.

public void
endElement(String tagName)

Implements org.xml.sax.DocumentHandler.endElement.

Receive notification of the end of an element.

public void
protected String
getEntityRef(int ch)

Implements abstract com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.getEntityRef.

Returns the suitable entity reference for this character value, or null if no such entity exists.

public void
protected void
protected void
serializeNode(Node
The node to serialize
node
)

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serializeNode.

Serialize the DOM node.

public void
setOutputFormat(OutputFormat format)

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.setOutputFormat.

Implements com.sun.org.apache.xml.internal.serialize.Serializer.setOutputFormat.

References Deprecated OutputFormat is deprecated or references (maybe indirectly) at least one deprecated element.

Specifies an output format for this serializer.

protected void
startDocument(String rootTagName)

Called to serialize the document's DOCTYPE by the root element.

public void
startElement(String namespaceURI, String localName, String rawName, Attributes attrs)

Implements org.xml.sax.ContentHandler.startElement.

Receive notification of the beginning of an element.

public void
startElement(String tagName, AttributeList attrs)

Implements org.xml.sax.DocumentHandler.startElement.

References Deprecated AttributeList is deprecated or references (maybe indirectly) at least one deprecated element.

Receive notification of the beginning of an element.

Inherited from com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer:
asContentHandlerasDocumentHandlerasDOMSerializerattributeDeclcharacterscheckUnboundNamespacePrefixedNodecleanupclearDocumentStateelementDeclendCDATAendDocumentendDTDendEntityendNonEscapingendPrefixMappingendPreservingenterElementStateexternalEntityDeclfatalErrorgetElementStategetPrefixignorableWhitespaceinternalEntityDeclisDocumentStateleaveElementStatemodifyDOMErrornotationDeclprepareprintCDATATextprintDoctypeURLprintEscapedprintEscapedprintHexprintTextprintTextprocessingInstructionresetserializeserializeserializeserializeserializeDocumentserializeDTDserializePreRootsetDocumentLocatorsetOutputByteStreamsetOutputCharStreamskippedEntitystartCDATAstartDocumentstartDTDstartEntitystartNonEscapingstartPrefixMappingstartPreservingsurrogatesunparsedEntityDecl

Constructor Detail

TextSerializerback to summary
public TextSerializer()

Constructs a new serializer. The serializer cannot be used without calling setOutputCharStream or setOutputByteStream first.

Method Detail

charactersback to summary
public void characters(char[] chars, int start, int length) throws SAXException

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.characters.

Implements org.xml.sax.ContentHandler.characters, org.xml.sax.DocumentHandler.characters.

Doc from org.xml.sax.ContentHandler.characters.

Receive notification of character data.

The Parser will call this method to report each chunk of character data. SAX parsers may return all contiguous character data in a single chunk, or they may split it into several chunks; however, all of the characters in any single event must come from the same external entity so that the Locator provides useful information.

The application must not attempt to read from the array outside of the specified range.

Individual characters may consist of more than one Java char value. There are two important cases where this happens, because characters can't be represented in just sixteen bits. In one case, characters are represented in a Surrogate Pair, using two special Unicode values. Such characters are in the so-called "Astral Planes", with a code point above U+FFFF. A second case involves composite characters, such as a base character combining with one or more accent characters.

Your code should not assume that algorithms using char-at-a-time idioms will be working in character units; in some cases they will split characters. This is relevant wherever XML permits arbitrary characters, such as attribute values, processing instruction data, and comments as well as in data reported from this method. It's also generally relevant whenever Java code manipulates internationalized text; the issue isn't unique to XML.

Note that some parsers will report whitespace in element content using the ignorableWhitespace method rather than this one (validating parsers must do so).

Exceptions
SAXException:
any SAX exception, possibly wrapping another exception
charactersback to summary
protected void characters(String text, boolean unescaped) throws IOException
commentback to summary
public void comment(String text)

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.comment.

commentback to summary
public void comment(char[] chars, int start, int length)

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.comment.

Implements org.xml.sax.ext.LexicalHandler.comment.

Doc from org.xml.sax.ext.LexicalHandler.comment.

Report an XML comment anywhere in the document.

This callback will be used for comments inside or outside the document element, including comments in the external DTD subset (if read). Comments in the DTD must be properly nested inside start/endDTD and start/endEntity events (if used).

contentback to summary
protected ElementState content()

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.content.

Doc from com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.content.

References Deprecated

ElementState is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Must be called by a method about to print any type of content. If the element was just opened, the opening tag is closed and will be matched to a closing tag. Returns the current element state with empty and afterElement set to false.

endElementback to summary
public void endElement(String namespaceURI, String localName, String rawName) throws SAXException

Implements org.xml.sax.ContentHandler.endElement.

Doc from org.xml.sax.ContentHandler.endElement.

Receive notification of the end of an element.

The SAX parser will invoke this method at the end of every element in the XML document; there will be a corresponding startElement event for every endElement event (even when the element is empty).

For information on the names, see startElement.

Exceptions
SAXException:
any SAX exception, possibly wrapping another exception
endElementback to summary
public void endElement(String tagName) throws SAXException

Implements org.xml.sax.DocumentHandler.endElement.

Doc from org.xml.sax.DocumentHandler.endElement.

Receive notification of the end of an element.

The SAX parser will invoke this method at the end of every element in the XML document; there will be a corresponding startElement() event for every endElement() event (even when the element is empty).

If the element name has a namespace prefix, the prefix will still be attached to the name.

Exceptions
SAXException:
Any SAX exception, possibly wrapping another exception.
endElementIOback to summary
public void endElementIO(String tagName) throws IOException
getEntityRefback to summary
protected String getEntityRef(int ch)

Implements abstract com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.getEntityRef.

Doc from com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.getEntityRef.

Returns the suitable entity reference for this character value, or null if no such entity exists. Calling this method with '&' will return "&".

processingInstructionIOback to summary
public void processingInstructionIO(String target, String code) throws IOException

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.processingInstructionIO.

serializeElementback to summary
protected void serializeElement(Element elem) throws IOException

Implements abstract com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serializeElement.

Called to serialize a DOM element. Equivalent to calling startElement, endElement and serializing everything inbetween, but better optimized.

Exceptions
IOException:

Doc from com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serializeElement.

An I/O exception occured while serializing

serializeNodeback to summary
protected void serializeNode(Node node) throws IOException

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serializeNode.

Serialize the DOM node. This method is unique to the Text serializer.

Parameters
node:Node

The node to serialize

Exceptions
IOException:

Doc from com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.serializeNode.

An I/O exception occured while serializing

setOutputFormatback to summary
public void setOutputFormat(OutputFormat format)

Overrides com.sun.org.apache.xml.internal.serialize.BaseMarkupSerializer.setOutputFormat.

Implements com.sun.org.apache.xml.internal.serialize.Serializer.setOutputFormat.

Doc from com.sun.org.apache.xml.internal.serialize.Serializer.setOutputFormat.

References Deprecated

OutputFormat is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Specifies an output format for this serializer. It the serializer has already been associated with an output format, it will switch to the new format. This method should not be called while the serializer is in the process of serializing a document.

startDocumentback to summary
protected void startDocument(String rootTagName) throws IOException

Called to serialize the document's DOCTYPE by the root element.

This method will check if it has not been called before (_started), will serialize the document type declaration, and will serialize all pre-root comments and PIs that were accumulated in the document (see serializePreRoot). Pre-root will be serialized even if this is not the first root element of the document.

startElementback to summary
public void startElement(String namespaceURI, String localName, String rawName, Attributes attrs) throws SAXException

Implements org.xml.sax.ContentHandler.startElement.

Doc from org.xml.sax.ContentHandler.startElement.

Receive notification of the beginning of an element.

The Parser will invoke this method at the beginning of every element in the XML document; there will be a corresponding endElement event for every startElement event (even when the element is empty). All of the element's content will be reported, in order, before the corresponding endElement event.

This event allows up to three name components for each element:

  1. the Namespace URI;
  2. the local name; and
  3. the qualified (prefixed) name.

Any or all of these may be provided, depending on the values of the http://xml.org/sax/features/namespaces and the http://xml.org/sax/features/namespace-prefixes properties:

  • the Namespace URI and local name are required when the namespaces property is true (the default), and are optional when the namespaces property is false (if one is specified, both must be);
  • the qualified name is required when the namespace-prefixes property is true, and is optional when the namespace-prefixes property is false (the default).

Note that the attribute list provided will contain only attributes with explicit values (specified or defaulted): #IMPLIED attributes will be omitted. The attribute list will contain attributes used for Namespace declarations (xmlns* attributes) only if the http://xml.org/sax/features/namespace-prefixes property is true (it is false by default, and support for a true value is optional).

Like characters(), attribute values may have characters that need more than one char value.

Exceptions
SAXException:
any SAX exception, possibly wrapping another exception
startElementback to summary
public void startElement(String tagName, AttributeList attrs) throws SAXException

Implements org.xml.sax.DocumentHandler.startElement.

Doc from org.xml.sax.DocumentHandler.startElement.

References Deprecated

AttributeList is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Receive notification of the beginning of an element.

The Parser will invoke this method at the beginning of every element in the XML document; there will be a corresponding endElement() event for every startElement() event (even when the element is empty). All of the element's content will be reported, in order, before the corresponding endElement() event.

If the element name has a namespace prefix, the prefix will still be attached. Note that the attribute list provided will contain only attributes with explicit values (specified or defaulted): #IMPLIED attributes will be omitted.

Exceptions
SAXException:
Any SAX exception, possibly wrapping another exception.