com.sun.msv.scanner.dtd

Class DTDParser

public class DTDParser extends Object

This implements parsing of XML 1.0 DTDs. This conforms to the portion of the XML 1.0 specification related to the external DTD subset. For multi-language applications (such as web servers using XML processing to create dynamic content), a method supports choosing a locale for parser diagnostics which is both understood by the message recipient and supported by the parser. This parser produces a stream of parse events. It supports some features (exposing comments, CDATA sections, and entity references) which are not required to be reported by conformant XML processors.

Version: $Id: DTDParser.java,v 1.10 2005/04/25 17:31:43 kohsuke Exp $

Author: David Brownell Janet Koenig Kohsuke KAWAGUCHI

Field Summary
static StringTYPE_CDATA
static StringTYPE_ENTITIES
static StringTYPE_ENTITY
static StringTYPE_ENUMERATION
static StringTYPE_ID
static StringTYPE_IDREF
static StringTYPE_IDREFS
static StringTYPE_NMTOKEN
static StringTYPE_NMTOKENS
static StringTYPE_NOTATION
Method Summary
LocalechooseLocale(String[] languages)
Chooses a client locale to use for diagnostics, using the first language specified in the list that is supported by this parser.
intgetColumnNumber()
DTDEventListenergetDtdHandler()
Returns the handler used to for DTD parsing events.
EntityResolvergetEntityResolver()
Returns the object used to resolve entities
intgetLineNumber()
LocalegetLocale()
Returns the diagnostic locale.
StringgetPublicId()
StringgetSystemId()
voidparse(InputSource in)
Parse a DTD.
voidparse(String uri)
Parse a DTD.
voidsetDtdHandler(DTDEventListener handler)
Used by applications to set handling of DTD parsing events.
voidsetEntityResolver(EntityResolver r)
Lets applications control entity resolution.
voidsetLocale(Locale l)
Used by applications to request locale for diagnostics.

Field Detail

TYPE_CDATA

public static final String TYPE_CDATA

TYPE_ENTITIES

public static final String TYPE_ENTITIES

TYPE_ENTITY

public static final String TYPE_ENTITY

TYPE_ENUMERATION

public static final String TYPE_ENUMERATION

TYPE_ID

public static final String TYPE_ID

TYPE_IDREF

public static final String TYPE_IDREF

TYPE_IDREFS

public static final String TYPE_IDREFS

TYPE_NMTOKEN

public static final String TYPE_NMTOKEN

TYPE_NMTOKENS

public static final String TYPE_NMTOKENS

TYPE_NOTATION

public static final String TYPE_NOTATION

Method Detail

chooseLocale

public Locale chooseLocale(String[] languages)
Chooses a client locale to use for diagnostics, using the first language specified in the list that is supported by this parser. That locale is then set using setLocale(). Such a list could be provided by a variety of user preference mechanisms, including the HTTP Accept-Language header field.

Parameters: languages Array of language specifiers, ordered with the most preferable one at the front. For example, "en-ca" then "fr-ca", followed by "zh_CN". Both RFC 1766 and Java styles are supported.

Returns: The chosen locale, or null.

See Also:

getColumnNumber

public int getColumnNumber()

getDtdHandler

public DTDEventListener getDtdHandler()
Returns the handler used to for DTD parsing events.

getEntityResolver

public EntityResolver getEntityResolver()
Returns the object used to resolve entities

getLineNumber

public int getLineNumber()

getLocale

public Locale getLocale()
Returns the diagnostic locale.

getPublicId

public String getPublicId()

getSystemId

public String getSystemId()

parse

public void parse(InputSource in)
Parse a DTD.

parse

public void parse(String uri)
Parse a DTD.

setDtdHandler

public void setDtdHandler(DTDEventListener handler)
Used by applications to set handling of DTD parsing events.

setEntityResolver

public void setEntityResolver(EntityResolver r)
Lets applications control entity resolution.

setLocale

public void setLocale(Locale l)
Used by applications to request locale for diagnostics.

Parameters: l The locale to use, or null to use system defaults (which may include only message IDs).