com.sun.msv.scanner.dtd
Class DTDParser

java.lang.Object
  |
  +--com.sun.msv.scanner.dtd.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.5 2001/08/30 15:11:45 Bear Exp $
Author:
David Brownell, Janet Koenig, Kohsuke KAWAGUCHI

Field Summary
static String TYPE_CDATA
           
static String TYPE_ENTITIES
           
static String TYPE_ENTITY
           
static String TYPE_ENUMERATION
           
static String TYPE_ID
           
static String TYPE_IDREF
           
static String TYPE_IDREFS
           
static String TYPE_NMTOKEN
           
static String TYPE_NMTOKENS
           
static String TYPE_NOTATION
           
 
Constructor Summary
DTDParser()
           
 
Method Summary
 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.
 int getColumnNumber()
           
 DTDEventListener getDtdHandler()
          Returns the handler used to for DTD parsing events.
 EntityResolver getEntityResolver()
          Returns the object used to resolve entities
 int getLineNumber()
           
 Locale getLocale()
          Returns the diagnostic locale.
 String getPublicId()
           
 String getSystemId()
           
 void parse(InputSource in)
          Parse a DTD.
 void parse(String uri)
          Parse a DTD.
 void setDtdHandler(DTDEventListener handler)
          Used by applications to set handling of DTD parsing events.
 void setEntityResolver(EntityResolver r)
          Lets applications control entity resolution.
 void setLocale(Locale l)
          Used by applications to request locale for diagnostics.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_CDATA

public static final String TYPE_CDATA

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_ENTITY

public static final String TYPE_ENTITY

TYPE_ENTITIES

public static final String TYPE_ENTITIES

TYPE_NMTOKEN

public static final String TYPE_NMTOKEN

TYPE_NMTOKENS

public static final String TYPE_NMTOKENS

TYPE_NOTATION

public static final String TYPE_NOTATION

TYPE_ENUMERATION

public static final String TYPE_ENUMERATION
Constructor Detail

DTDParser

public DTDParser()
Method Detail

setLocale

public void setLocale(Locale l)
               throws SAXException
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).
Throws:
DTDParseException - If no diagnostic messages are available in that locale.

getLocale

public Locale getLocale()
Returns the diagnostic locale.

chooseLocale

public Locale chooseLocale(String[] languages)
                    throws SAXException
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:
MessageCatalog

setEntityResolver

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

getEntityResolver

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

setDtdHandler

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

getDtdHandler

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

parse

public void parse(InputSource in)
           throws IOException,
                  SAXException
Parse a DTD.

parse

public void parse(String uri)
           throws IOException,
                  SAXException
Parse a DTD.

getPublicId

public String getPublicId()

getSystemId

public String getSystemId()

getLineNumber

public int getLineNumber()

getColumnNumber

public int getColumnNumber()