This class is not a public API.
It is only public because it is used in other packages.
This class converts SAX or SAX-like calls to a
serialized document for xsl:output method of "text".
cdata
public void cdata(ch[] ,
int start,
int length)
throws SAXException
Receive notification of cdata.
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.
Note that some parsers will report whitespace using the
ignorableWhitespace() method rather than this one (validating
parsers must do so).
start
- The start position in the array.length
- The number of characters to read from the array.
characters
public void characters(ch[] ,
int start,
int length)
throws SAXException
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.
Note that some parsers will report whitespace using the
ignorableWhitespace() method rather than this one (validating
parsers must do so).
start
- The start position in the array.length
- The number of characters to read from the array.
charactersRaw
public void charactersRaw(ch[] ,
int start,
int length)
throws SAXException
If available, when the disable-output-escaping attribute is used,
output raw text without escaping.
start
- The start position in the array.length
- The number of characters to read from the array.
comment
public void comment(String data)
throws SAXException
Called when a Comment is to be constructed.
Note that Xalan will normally invoke the other version of this method.
%REVIEW% In fact, is this one ever needed, or was it a mistake?
- comment in interface ExtendedLexicalHandler
- comment in interface SerializerBase
comment
public void comment(ch[] ,
int start,
int length)
throws SAXException
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).
- comment in interface ToStream
start
- The starting position in the array.length
- The number of characters to use from the array.
endCDATA
public void endCDATA()
throws SAXException
- endCDATA in interface ToStream
org.xml.sax.ext.LexicalHandler.endCDATA()
endDocument
public void endDocument()
throws SAXException
Receive notification of the end of a document.
The SAX parser will invoke this method only once, and it will
be the last method invoked during the parse. The parser shall
not invoke this method until it has either abandoned parsing
(because of an unrecoverable error) or reached the end of
input.
endElement
public void endElement(String namespaceURI,
String localName,
String name)
throws SAXException
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.
- endElement in interface ToStream
namespaceURI
- The Namespace URI, or the empty string if the
element has no Namespace URI or if Namespace
processing is not being performed.localName
- The local name (without prefix), or the
empty string if Namespace processing is not being
performed.name
- The qualified name (with prefix), or the
empty string if qualified names are not available.
flushPending
public void flushPending()
throws SAXException
This method flushes any pending events, which can be startDocument()
closing the opening tag of an element, or closing an open CDATA section.
- flushPending in interface SerializationHandler
- flushPending in interface ToStream
ignorableWhitespace
public void ignorableWhitespace(ch[] ,
int start,
int length)
throws SAXException
Receive notification of ignorable whitespace in element content.
Validating Parsers must use this method to report each chunk
of ignorable whitespace (see the W3C XML 1.0 recommendation,
section 2.10): non-validating parsers may also use this method
if they are capable of parsing and using content models.
SAX parsers may return all contiguous whitespace 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.
- ignorableWhitespace in interface ToStream
start
- The start position in the array.length
- The number of characters to read from the array.
namespaceAfterStartElement
public void namespaceAfterStartElement(String prefix,
String uri)
throws SAXException
This method is used when a prefix/uri namespace mapping
is indicated after the element was started with a
startElement() and before and endElement().
startPrefixMapping(prefix,uri) would be used before the
startElement() call.
- namespaceAfterStartElement in interface ExtendedContentHandler
- namespaceAfterStartElement in interface SerializerBase
prefix
- the prefix associated with the given URI.uri
- the URI of the namespace
processingInstruction
public void processingInstruction(String target,
String data)
throws SAXException
Receive notification of a processing instruction.
The Parser will invoke this method once for each processing
instruction found: note that processing instructions may occur
before or after the main document element.
A SAX parser should never report an XML declaration (XML 1.0,
section 2.8) or a text declaration (XML 1.0, section 4.3.1)
using this method.
target
- The processing instruction target.data
- The processing instruction data, or null if
none was supplied.
startElement
public void startElement(String namespaceURI,
String localName,
String name,
Attributes atts)
throws SAXException
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.
- startElement in interface ToStream
namespaceURI
- The Namespace URI, or the empty string if the
element has no Namespace URI or if Namespace
processing is not being performed.localName
- The local name (without prefix), or the
empty string if Namespace processing is not being
performed.name
- The qualified name (with prefix), or the
empty string if qualified names are not available.atts
- The attributes attached to the element, if any.
endElement
, org.xml.sax.AttributeList
startPrefixMapping
public void startPrefixMapping(String prefix,
String uri)
throws SAXException
Begin the scope of a prefix-URI Namespace mapping
just before another element is about to start.
This call will close any open tags so that the prefix mapping
will not apply to the current element, but the up comming child.
- startPrefixMapping in interface ToStream
prefix
- The Namespace prefix being declared.uri
- The Namespace URI the prefix is mapped to.
org.xml.sax.ContentHandler.startPrefixMapping
startPrefixMapping
public boolean startPrefixMapping(String prefix,
String uri,
boolean shouldFlush)
throws SAXException
Handle a prefix/uri mapping, which is associated with a startElement()
that is soon to follow. Need to close any open start tag to make
sure than any name space attributes due to this event are associated wih
the up comming element, not the current one.
- startPrefixMapping in interface ExtendedContentHandler
- startPrefixMapping in interface ToStream
prefix
- The Namespace prefix being declared.uri
- The Namespace URI the prefix is mapped to.shouldFlush
- true if any open tags need to be closed first, this
will impact which element the mapping applies to (open parent, or its up
comming child)
- returns true if the call made a change to the current
namespace information, false if it did not change anything, e.g. if the
prefix/namespace mapping was already in scope from before.