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 {@link #ignorableWhitespace ignorableWhitespace}method rather than this one (validating parsers must do so).
@param ch the characters from the XML document
@param start the start position in the array
@param length the number of characters to read from the array
@throws org.xml.sax.SAXException any SAX exception, possiblywrapping another exception
@see #ignorableWhitespace
@see org.xml.sax.Locator