Top Description Constructors Methods
com.sun.xml.internal.stream

public abstract Class XMLEntityReader

extends Object
implements XMLLocator
Class Inheritance
All Implemented Interfaces
com.sun.org.apache.xerces.internal.xni.XMLLocator
Imports
java.io.IOException, com.sun.org.apache.xerces.internal.util.XMLStringBuffer, com.sun.org.apache.xerces.internal.xni.*

This class allows various parser scanners to scan basic XML constructs from entities. This class works directly with the entity manager to provide this functionality.

There is only one entity scanner and entity manager per parser. The entity manager could implement the methods to perform entity scanning, but the entity scanner class allows a cleaner separation between entity management API and entity scanning.

Authors
Andy Clark, IBM, Neeraj Bajaj Sun Microsystems, K.Venugopal Sun Microsystems
See Also
XMLEntityHandler, XMLEntityManager

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public abstract int
getCharacterOffset()

Redeclares com.sun.org.apache.xerces.internal.xni.XMLLocator.getCharacterOffset.

Returns the character offset, or -1 if no character offset is available.
public abstract String
getEncoding()

Redeclares com.sun.org.apache.xerces.internal.xni.XMLLocator.getEncoding.

Returns the encoding of the current entity.
public abstract String
getVersion()

get the version of the entity on which reader is operating

public abstract boolean
isExternal()

Returns true if the current entity being scanned is external.

public abstract int
peekChar()

Returns the next character on the input.

public abstract void
public abstract int
scanChar()

Returns the next character on the input.

public abstract int

Returns:

Returns the next character on the input, if known. This value may be -1 but this does note designate end of file.
scanContent
(XMLString
The content structure to fill.
content
)

CHANGED: Scans a range of parsed character data, This function appends the character data to the supplied buffer.

public abstract boolean

Returns:

Returns true if there is more data to scan, false otherwise.
scanData
(String
The string that signifies the end of the character data to be scanned.
delimiter
,
XMLStringBuffer
The data structure to fill.
data
)

Scans a range of character data up to the specicied delimiter, setting the fields of the XMLString structure, appropriately.

public abstract int

Returns:

Returns the next character on the input, if known. This value may be -1 but this does note designate end of file.
scanLiteral
(int
The quote character that signifies the end of the attribute value data.
quote
,
XMLString
The content structure to fill.
content
)

Scans a range of attribute value data, setting the fields of the XMLString structure, appropriately.

public abstract String
scanName()

Returns a string matching the Name production appearing immediately on the input as a symbol, or null if no Name string is present.

public abstract String
scanNmtoken()

Returns a string matching the NMTOKEN production appearing immediately on the input as a symbol, or null if NMTOKEN Name string is present.

public abstract boolean

Returns:

Returns true if a qualified name appeared immediately on the input and was scanned, false otherwise.
scanQName
(QName
The qualified name structure to fill.
qname
)

Scans a qualified name from the input, setting the fields of the QName structure appropriately.

public abstract void
setEncoding(String
The IANA encoding name of the new encoding.
encoding
)

Sets the encoding of the scanner.

public abstract void
setVersion(String version)

the version of the current entity being scanned or the version of the entity on which reader is operating

public abstract boolean

Returns:

Returns true if the character was skipped.
skipChar
(int
The character to skip.
c
)

Skips a character appearing immediately on the input.

public abstract boolean

Returns:

Returns true if at least one space character was skipped.
skipSpaces
()

Skips space characters appearing immediately on the input.

public abstract boolean

Returns:

Returns true if the string was skipped.
skipString
(String
The string to skip.
s
)

Skips the specified string appearing immediately on the input.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

XMLEntityReaderback to summary
public XMLEntityReader()

Method Detail

getCharacterOffsetback to summary
public abstract int getCharacterOffset()

Redeclares com.sun.org.apache.xerces.internal.xni.XMLLocator.getCharacterOffset.

Doc from com.sun.org.apache.xerces.internal.xni.XMLLocator.getCharacterOffset.

Returns the character offset, or -1 if no character offset is available.

getEncodingback to summary
public abstract String getEncoding()

Redeclares com.sun.org.apache.xerces.internal.xni.XMLLocator.getEncoding.

Doc from com.sun.org.apache.xerces.internal.xni.XMLLocator.getEncoding.

Returns the encoding of the current entity. Note that, for a given entity, this value can only be considered final once the encoding declaration has been read (or once it has been determined that there is no such declaration) since, no encoding having been specified on the XMLInputSource, the parser will make an initial "guess" which could be in error.

getVersionback to summary
public abstract String getVersion()

get the version of the entity on which reader is operating

isExternalback to summary
public abstract boolean isExternal()

Returns true if the current entity being scanned is external.

peekCharback to summary
public abstract int peekChar() throws IOException

Returns the next character on the input.

Note

The character is not consumed.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
registerListenerback to summary
public abstract void registerListener(XMLBufferListener listener)
scanCharback to summary
public abstract int scanChar() throws IOException

Returns the next character on the input.

Note

The character is consumed.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
scanContentback to summary
public abstract int scanContent(XMLString content) throws IOException

CHANGED: Scans a range of parsed character data, This function appends the character data to the supplied buffer.

Note

The characters are consumed.

Note

This method does not guarantee to return the longest run of parsed character data. This method may return before markup due to reaching the end of the input buffer or any other reason.

Parameters
content:XMLString

The content structure to fill.

Returns:int

Returns the next character on the input, if known. This value may be -1 but this does note designate end of file.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
scanDataback to summary
public abstract boolean scanData(String delimiter, XMLStringBuffer data) throws IOException

Scans a range of character data up to the specicied delimiter, setting the fields of the XMLString structure, appropriately.

Note

The characters are consumed.

Note

This assumes that the internal buffer is at least the same size, or bigger, than the length of the delimiter and that the delimiter contains at least one character.

Note

This method does not guarantee to return the longest run of character data. This method may return before the delimiter due to reaching the end of the input buffer or any other reason.

Note

The fields contained in the XMLString structure are not guaranteed to remain valid upon subsequent calls to the entity scanner. Therefore, the caller is responsible for immediately using the returned character data or making a copy of the character data.

Parameters
delimiter:String

The string that signifies the end of the character data to be scanned.

data:XMLStringBuffer

The data structure to fill.

Returns:boolean

Returns true if there is more data to scan, false otherwise.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
scanLiteralback to summary
public abstract int scanLiteral(int quote, XMLString content) throws IOException

Scans a range of attribute value data, setting the fields of the XMLString structure, appropriately.

Note

The characters are consumed.

Note

This method does not guarantee to return the longest run of attribute value data. This method may return before the quote character due to reaching the end of the input buffer or any other reason.

Note

The fields contained in the XMLString structure are not guaranteed to remain valid upon subsequent calls to the entity scanner. Therefore, the caller is responsible for immediately using the returned character data or making a copy of the character data.

Parameters
quote:int

The quote character that signifies the end of the attribute value data.

content:XMLString

The content structure to fill.

Returns:int

Returns the next character on the input, if known. This value may be -1 but this does note designate end of file.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
scanNameback to summary
public abstract String scanName() throws IOException

Returns a string matching the Name production appearing immediately on the input as a symbol, or null if no Name string is present.

Note

The Name characters are consumed.

Note

The string returned must be a symbol. The SymbolTable can be used for this purpose.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
See Also
com.sun.org.apache.xerces.internal.util.SymbolTable, com.sun.org.apache.xerces.internal.util.XMLChar#isName, com.sun.org.apache.xerces.internal.util.XMLChar#isNameStart
scanNmtokenback to summary
public abstract String scanNmtoken() throws IOException

Returns a string matching the NMTOKEN production appearing immediately on the input as a symbol, or null if NMTOKEN Name string is present.

Note

The NMTOKEN characters are consumed.

Note

The string returned must be a symbol. The SymbolTable can be used for this purpose.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
See Also
com.sun.org.apache.xerces.internal.util.SymbolTable, com.sun.org.apache.xerces.internal.util.XMLChar#isName
scanQNameback to summary
public abstract boolean scanQName(QName qname) throws IOException

Scans a qualified name from the input, setting the fields of the QName structure appropriately.

Note

The qualified name characters are consumed.

Note

The strings used to set the values of the QName structure must be symbols. The SymbolTable can be used for this purpose.

Parameters
qname:QName

The qualified name structure to fill.

Returns:boolean

Returns true if a qualified name appeared immediately on the input and was scanned, false otherwise.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
See Also
com.sun.org.apache.xerces.internal.util.SymbolTable, com.sun.org.apache.xerces.internal.util.XMLChar#isName, com.sun.org.apache.xerces.internal.util.XMLChar#isNameStart
setEncodingback to summary
public abstract void setEncoding(String encoding) throws IOException

Sets the encoding of the scanner. This method is used by the scanners if the XMLDecl or TextDecl line contains an encoding pseudo-attribute.

Note

The underlying character reader on the current entity will be changed to accommodate the new encoding. However, the new encoding is ignored if the current reader was not constructed from an input stream (e.g. an external entity that is resolved directly to the appropriate java.io.Reader object).

Parameters
encoding:String

The IANA encoding name of the new encoding.

Exceptions
IOException:
Thrown if the new encoding is not supported.
See Also
com.sun.org.apache.xerces.internal.util.EncodingMap, com.sun.org.apache.xerces.internal.util.XMLChar#isValidIANAEncoding, com.sun.org.apache.xerces.internal.util.XMLChar#isValidJavaEncoding
setVersionback to summary
public abstract void setVersion(String version)

the version of the current entity being scanned or the version of the entity on which reader is operating

skipCharback to summary
public abstract boolean skipChar(int c) throws IOException

Skips a character appearing immediately on the input.

Note

The character is consumed only if it matches the specified character.

Parameters
c:int

The character to skip.

Returns:boolean

Returns true if the character was skipped.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
skipSpacesback to summary
public abstract boolean skipSpaces() throws IOException

Skips space characters appearing immediately on the input.

Note

The characters are consumed only if they are space characters.

Returns:boolean

Returns true if at least one space character was skipped.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.
See Also
com.sun.org.apache.xerces.internal.util.XMLChar#isSpace
skipStringback to summary
public abstract boolean skipString(String s) throws IOException

Skips the specified string appearing immediately on the input.

Note

The characters are consumed only if they are space characters.

Parameters
s:String

The string to skip.

Returns:boolean

Returns true if the string was skipped.

Exceptions
IOException:
Thrown if i/o error occurs.
EOFException:
Thrown on end of file.