org.xml.sax.ext
Interface Locator2

All Superinterfaces:
Locator
All Known Implementing Classes:
Locator2Impl

public interface Locator2
extends Locator

SAX2 extension to augment the entity information provided though a Locator. If an implementation supports this extension, the Locator provided in ContentHandler.setDocumentLocator() will implement this interface, and the http://xml.org/sax/features/use-locator2 feature flag will have the value true.

This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.

XMLReader implementations are not required to support this information, and it is not part of core-only SAX2 distributions.

Since:
SAX 2.0 (extensions 1.1 alpha)
Version:
TBS
Author:
David Brownell

Method Summary
 java.lang.String getEncoding()
          Returns the name of the character encoding for the entity.
 java.lang.String getXMLVersion()
          Returns the version of XML used for the entity.
 
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getLineNumber, getPublicId, getSystemId
 

Method Detail

getXMLVersion

public java.lang.String getXMLVersion()
Returns the version of XML used for the entity. This will normally be the identifier from the current entity's <?xml version='...' ...?> declaration, or be defaulted by the parser.

Returns:
Identifier for the XML version being used to interpret the entity's text, or null if that information is not yet available in the current parsing state.

getEncoding

public java.lang.String getEncoding()
Returns the name of the character encoding for the entity. If the encoding was declared externally (for example, in a MIME Content-Type header), that will be the name returned. Else if there was an <?xml ...encoding='...'?> declaration at the start of the document, that encoding name will be returned. Otherwise the encoding will been inferred (normally to be UTF-8, or some UTF-16 variant), and that inferred name will be returned.

When an InputSource is used to provide an entity's character stream, this method returns the encoding provided in that input stream.

Note that some recent W3C specifications require that text in some encodings be normalized, using Unicode Normalization Form C, before processing. Such normalization must be performed by applications, and would normally be triggered based on the value returned by this method.

Encoding names may be those used by the underlying JVM, and comparisons should be case-insensitive.

Returns:
Name of the character encoding being used to interpret * the entity's text, or null if this was not provided for a * character stream passed through an InputSource or is otherwise not yet available in the current parsing state.