Class InputEntity
For internal entities, the character arrays are referenced here, and read from as needed (they're read-only). External entities have mutable buffers, that are read into as needed.
Note: This maps CRLF (and CR) to LF without regard for whether it's in an external (parsed) entity or not. The XML 1.0 spec is inconsistent in explaining EOL handling; this is the sensible way.
- Version:
- 1.4 00/08/05
- Author:
- David Brownell, Janet Koenig
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()chargetc()gets the next Java character -- might be part of an XML text character represented by a surrogate pair, or be the end of the entity.intreturns -1; maintaining column numbers hurts performanceReturns the name of the encoding in use, else null; the name returned is in as standard a form as we can get.static InputEntityintReturns the current line number in this input sourcegetName()charreturns the next name char, or NUL ...Returns the public ID of this input source, if knownReturns the system ID of this input source, if knownbooleanignorableWhitespace(DTDEventListener handler) whitespace in markup (flagged to app, discardable)voidinit(char[] b, String name, InputEntity stack, boolean isPE) voidinit(InputSource in, String name, InputEntity stack, boolean isPE) booleanbooleanisEOF()returns true iff there's no more data to consume ...booleanbooleanbooleanoptional grammatical whitespace (discarded)booleanparsedContent(DTDEventListener docHandler) normal content; whitespace in markup may be handled specially if the parser uses the content model.booleanreturns false iff 'next' string isn't as provided, else skips that text and returns true.booleanpeekc(char c) lookahead one characterpop()voidvoidungetc()two character pushback is guaranteedbooleanunparsedContent(DTDEventListener docHandler, boolean ignorableWhitespace, String whitespaceInvalidMessage) CDATA -- character data, terminated by "]]>" and optionally including unescaped markup delimiters (ampersand and left angle bracket).
-
Method Details
-
getInputEntity
-
isInternal
public boolean isInternal() -
isDocument
public boolean isDocument() -
isParameterEntity
public boolean isParameterEntity() -
getName
-
init
public void init(InputSource in, String name, InputEntity stack, boolean isPE) throws IOException, SAXException - Throws:
IOExceptionSAXException
-
init
- Throws:
SAXException
-
pop
- Throws:
IOException
-
isEOF
returns true iff there's no more data to consume ...- Throws:
IOExceptionSAXException
-
getEncoding
Returns the name of the encoding in use, else null; the name returned is in as standard a form as we can get. -
getNameChar
returns the next name char, or NUL ... faster than getc(), and the common "name or nmtoken must be next" case won't need ungetc().- Throws:
IOExceptionSAXException
-
getc
gets the next Java character -- might be part of an XML text character represented by a surrogate pair, or be the end of the entity.- Throws:
IOExceptionSAXException
-
peekc
lookahead one character- Throws:
IOExceptionSAXException
-
ungetc
public void ungetc()two character pushback is guaranteed -
maybeWhitespace
optional grammatical whitespace (discarded)- Throws:
IOExceptionSAXException
-
parsedContent
normal content; whitespace in markup may be handled specially if the parser uses the content model.content terminates with markup delimiter characters, namely ampersand (&) and left angle bracket (<).
the document handler's characters() method is called on all the content found
- Throws:
IOExceptionSAXException
-
unparsedContent
public boolean unparsedContent(DTDEventListener docHandler, boolean ignorableWhitespace, String whitespaceInvalidMessage) throws IOException, SAXException CDATA -- character data, terminated by "]]>" and optionally including unescaped markup delimiters (ampersand and left angle bracket). This should otherwise be exactly like character data, modulo differences in error report details.The document handler's characters() or ignorableWhitespace() methods are invoked on all the character data found
- Parameters:
docHandler- gets callbacks for character dataignorableWhitespace- if true, whitespace characters will be reported using docHandler.ignorableWhitespace(); implicitly, non-whitespace characters will cause validation errorswhitespaceInvalidMessage- if true, ignorable whitespace causes a validity error report as well as a callback- Throws:
IOExceptionSAXException
-
ignorableWhitespace
whitespace in markup (flagged to app, discardable)the document handler's ignorableWhitespace() method is called on all the whitespace found
- Throws:
IOExceptionSAXException
-
peek
returns false iff 'next' string isn't as provided, else skips that text and returns true.NOTE: two alternative string representations are both passed in, since one is faster.
- Throws:
IOExceptionSAXException
-
startRemembering
public void startRemembering() -
rememberText
-
getPublicId
Returns the public ID of this input source, if known -
getSystemId
Returns the system ID of this input source, if known -
getLineNumber
public int getLineNumber()Returns the current line number in this input source -
getColumnNumber
public int getColumnNumber()returns -1; maintaining column numbers hurts performance -
close
public void close()
-