public class DTDParser
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
DTDParser.Catalog |
(package private) static class |
DTDParser.NameCache |
(package private) static class |
DTDParser.NameCacheEntry |
| Modifier and Type | Field and Description |
|---|---|
private char[] |
charTmp |
protected java.util.Set |
declaredElements |
private boolean |
doLexicalPE |
private DTDEventListener |
dtdHandler |
(package private) SimpleHashtable |
entities |
private SimpleHashtable |
ids |
private InputEntity |
in |
private java.util.Locale |
locale |
(package private) static DTDParser.Catalog |
messages |
private DTDParser.NameCache |
nameCache |
private char[] |
nameTmp |
(package private) java.util.Hashtable |
notations |
private SimpleHashtable |
params |
private org.xml.sax.EntityResolver |
resolver |
(package private) static java.lang.String |
strANY |
(package private) static java.lang.String |
strEMPTY |
private java.lang.StringBuffer |
strTmp |
static java.lang.String |
TYPE_CDATA |
static java.lang.String |
TYPE_ENTITIES |
static java.lang.String |
TYPE_ENTITY |
static java.lang.String |
TYPE_ENUMERATION |
static java.lang.String |
TYPE_ID |
static java.lang.String |
TYPE_IDREF |
static java.lang.String |
TYPE_IDREFS |
static java.lang.String |
TYPE_NMTOKEN |
static java.lang.String |
TYPE_NMTOKENS |
static java.lang.String |
TYPE_NOTATION |
private static java.lang.String |
XmlLang |
| Constructor and Description |
|---|
DTDParser() |
| Modifier and Type | Method and Description |
|---|---|
(package private) void |
afterRoot() |
private void |
builtin(java.lang.String entityName,
java.lang.String entityValue) |
java.util.Locale |
chooseLocale(java.lang.String[] languages)
Chooses a client locale to use for diagnostics, using the first
language specified in the list that is supported by this parser.
|
(package private) void |
error(java.lang.String messageId,
java.lang.Object[] parameters) |
private void |
expandEntityInLiteral(java.lang.String name,
SimpleHashtable table,
boolean isEntityValue) |
private void |
externalParameterEntity(ExternalEntity next) |
private void |
fatal(java.lang.String messageId) |
private void |
fatal(java.lang.String messageId,
java.lang.Object[] parameters) |
private char |
getc() |
int |
getColumnNumber() |
private void |
getcps(java.lang.String elementName,
InputEntity start) |
DTDEventListener |
getDtdHandler()
Returns the handler used to for DTD parsing events.
|
org.xml.sax.EntityResolver |
getEntityResolver()
Returns the object used to resolve entities
|
private short |
getFrequency() |
int |
getLineNumber() |
java.util.Locale |
getLocale()
Returns the diagnostic locale.
|
private java.lang.String |
getMarkupDeclname(java.lang.String roleId,
boolean qname) |
private void |
getMixed(java.lang.String elementName,
InputEntity start) |
private short |
getMixedOrChildren(java.lang.String elementName)
returns content model type.
|
private java.lang.String |
getNmtoken() |
java.lang.String |
getPublicId() |
private java.lang.String |
getQuotedString(java.lang.String type,
java.lang.String extra) |
java.lang.String |
getSystemId() |
private void |
init() |
private boolean |
isXmlLang(java.lang.String value) |
private boolean |
maybeAttlistDecl() |
private boolean |
maybeComment(boolean skipStart) |
private boolean |
maybeConditionalSect() |
private boolean |
maybeElementDecl()
To validate, subclassers should at this time make sure that
values are of the declared types:
ID and IDREF(S) values are Names
NMTOKEN(S) are Nmtokens
ENUMERATION values match one of the tokens
NOTATION values match a notation name
ENTITIY(IES) values match an unparsed external entity
|
private boolean |
maybeEntityDecl() |
private ExternalEntity |
maybeExternalID() |
private java.lang.String |
maybeGetName() |
private DTDParser.NameCacheEntry |
maybeGetNameCacheEntry() |
private boolean |
maybeMarkupDecl() |
private boolean |
maybeNotationDecl() |
private boolean |
maybePEReference() |
private boolean |
maybePI(boolean skipStart) |
private java.lang.String |
maybeReadAttribute(java.lang.String name,
boolean must) |
private void |
maybeTextDecl() |
private boolean |
maybeWhitespace() |
private DTDParser.NameCacheEntry |
nameCharString(char c) |
private void |
nextChar(char c,
java.lang.String location,
java.lang.String near) |
private java.lang.String |
normalize(boolean invalidIfNeeded) |
void |
parse(org.xml.sax.InputSource in)
Parse a DTD.
|
void |
parse(java.lang.String uri)
Parse a DTD.
|
private int |
parseCharNumber() |
private void |
parseInternal(org.xml.sax.InputSource input) |
private void |
parseLiteral(boolean isEntityValue) |
private java.lang.String |
parsePublicId() |
private java.lang.String |
parseSystemId() |
private boolean |
peek(java.lang.String s) |
private InputEntity |
peekDeclaration(java.lang.String s) |
private void |
pushReader(char[] buf,
java.lang.String name,
boolean isGeneral) |
private boolean |
pushReader(ExternalEntity next) |
private void |
readEncoding(boolean must) |
private void |
readVersion(boolean must,
java.lang.String versionNum) |
private void |
reportConnector(char type) |
void |
setDtdHandler(DTDEventListener handler)
Used by applications to set handling of DTD parsing events.
|
void |
setEntityResolver(org.xml.sax.EntityResolver r)
Lets applications control entity resolution.
|
void |
setLocale(java.util.Locale l)
Used by applications to request locale for diagnostics.
|
private int |
surrogatesToCharTmp(int ucs4) |
private void |
ungetc() |
private void |
warning(java.lang.String messageId,
java.lang.Object[] parameters) |
private void |
whitespace(java.lang.String roleId) |
public static final java.lang.String TYPE_CDATA
public static final java.lang.String TYPE_ID
public static final java.lang.String TYPE_IDREF
public static final java.lang.String TYPE_IDREFS
public static final java.lang.String TYPE_ENTITY
public static final java.lang.String TYPE_ENTITIES
public static final java.lang.String TYPE_NMTOKEN
public static final java.lang.String TYPE_NMTOKENS
public static final java.lang.String TYPE_NOTATION
public static final java.lang.String TYPE_ENUMERATION
private InputEntity in
private java.lang.StringBuffer strTmp
private char[] nameTmp
private DTDParser.NameCache nameCache
private char[] charTmp
private boolean doLexicalPE
protected final java.util.Set declaredElements
private SimpleHashtable params
java.util.Hashtable notations
SimpleHashtable entities
private SimpleHashtable ids
private DTDEventListener dtdHandler
private org.xml.sax.EntityResolver resolver
private java.util.Locale locale
static final java.lang.String strANY
static final java.lang.String strEMPTY
private static final java.lang.String XmlLang
static final DTDParser.Catalog messages
public void setLocale(java.util.Locale l)
throws org.xml.sax.SAXException
l - The locale to use, or null to use system defaults
(which may include only message IDs).org.xml.sax.SAXExceptionpublic java.util.Locale getLocale()
public java.util.Locale chooseLocale(java.lang.String[] languages)
throws org.xml.sax.SAXException
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.org.xml.sax.SAXExceptionMessageCatalogpublic void setEntityResolver(org.xml.sax.EntityResolver r)
public org.xml.sax.EntityResolver getEntityResolver()
public void setDtdHandler(DTDEventListener handler)
public DTDEventListener getDtdHandler()
public void parse(org.xml.sax.InputSource in)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionpublic void parse(java.lang.String uri)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void init()
private void builtin(java.lang.String entityName,
java.lang.String entityValue)
private void parseInternal(org.xml.sax.InputSource input)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionvoid afterRoot()
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void whitespace(java.lang.String roleId)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate boolean maybeWhitespace()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate java.lang.String maybeGetName()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate DTDParser.NameCacheEntry maybeGetNameCacheEntry() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate java.lang.String getNmtoken()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate DTDParser.NameCacheEntry nameCharString(char c) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void parseLiteral(boolean isEntityValue)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void expandEntityInLiteral(java.lang.String name,
SimpleHashtable table,
boolean isEntityValue)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate java.lang.String getQuotedString(java.lang.String type,
java.lang.String extra)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate java.lang.String parsePublicId()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate boolean maybeComment(boolean skipStart)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate boolean maybePI(boolean skipStart)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate java.lang.String maybeReadAttribute(java.lang.String name,
boolean must)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void readVersion(boolean must,
java.lang.String versionNum)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate java.lang.String getMarkupDeclname(java.lang.String roleId,
boolean qname)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate boolean maybeMarkupDecl()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate boolean isXmlLang(java.lang.String value)
private boolean maybeElementDecl()
throws java.io.IOException,
org.xml.sax.SAXException
Separately, make sure IDREF values match some ID provided in the document (in the afterRoot method).
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate short getMixedOrChildren(java.lang.String elementName)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void getcps(java.lang.String elementName,
InputEntity start)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void reportConnector(char type)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate short getFrequency()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void getMixed(java.lang.String elementName,
InputEntity start)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate boolean maybeAttlistDecl()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate java.lang.String normalize(boolean invalidIfNeeded)
private boolean maybeConditionalSect()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate int parseCharNumber()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate int surrogatesToCharTmp(int ucs4)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate boolean maybePEReference()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate boolean maybeEntityDecl()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate ExternalEntity maybeExternalID() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate java.lang.String parseSystemId()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void maybeTextDecl()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void externalParameterEntity(ExternalEntity next) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void readEncoding(boolean must)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate boolean maybeNotationDecl()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate char getc()
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void ungetc()
private boolean peek(java.lang.String s)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate InputEntity peekDeclaration(java.lang.String s) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void nextChar(char c,
java.lang.String location,
java.lang.String near)
throws java.io.IOException,
org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionprivate void pushReader(char[] buf,
java.lang.String name,
boolean isGeneral)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate boolean pushReader(ExternalEntity next) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOExceptionorg.xml.sax.SAXExceptionpublic java.lang.String getPublicId()
public java.lang.String getSystemId()
public int getLineNumber()
public int getColumnNumber()
private void warning(java.lang.String messageId,
java.lang.Object[] parameters)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionvoid error(java.lang.String messageId,
java.lang.Object[] parameters)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void fatal(java.lang.String messageId)
throws org.xml.sax.SAXException
org.xml.sax.SAXExceptionprivate void fatal(java.lang.String messageId,
java.lang.Object[] parameters)
throws org.xml.sax.SAXException
org.xml.sax.SAXException