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.SAXException
public 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.SAXException
MessageCatalog
public 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.IOException
org.xml.sax.SAXException
public void parse(java.lang.String uri) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private 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.IOException
org.xml.sax.SAXException
void afterRoot() throws org.xml.sax.SAXException
org.xml.sax.SAXException
private void whitespace(java.lang.String roleId) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private boolean maybeWhitespace() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private java.lang.String maybeGetName() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private DTDParser.NameCacheEntry maybeGetNameCacheEntry() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private java.lang.String getNmtoken() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private DTDParser.NameCacheEntry nameCharString(char c) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void parseLiteral(boolean isEntityValue) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void expandEntityInLiteral(java.lang.String name, SimpleHashtable table, boolean isEntityValue) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private java.lang.String getQuotedString(java.lang.String type, java.lang.String extra) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private java.lang.String parsePublicId() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private boolean maybeComment(boolean skipStart) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private boolean maybePI(boolean skipStart) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private java.lang.String maybeReadAttribute(java.lang.String name, boolean must) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void readVersion(boolean must, java.lang.String versionNum) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private java.lang.String getMarkupDeclname(java.lang.String roleId, boolean qname) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private boolean maybeMarkupDecl() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private 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.IOException
org.xml.sax.SAXException
private short getMixedOrChildren(java.lang.String elementName) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void getcps(java.lang.String elementName, InputEntity start) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void reportConnector(char type) throws org.xml.sax.SAXException
org.xml.sax.SAXException
private short getFrequency() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void getMixed(java.lang.String elementName, InputEntity start) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private boolean maybeAttlistDecl() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private java.lang.String normalize(boolean invalidIfNeeded)
private boolean maybeConditionalSect() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private int parseCharNumber() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private int surrogatesToCharTmp(int ucs4) throws org.xml.sax.SAXException
org.xml.sax.SAXException
private boolean maybePEReference() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private boolean maybeEntityDecl() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private ExternalEntity maybeExternalID() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private java.lang.String parseSystemId() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void maybeTextDecl() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void externalParameterEntity(ExternalEntity next) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void readEncoding(boolean must) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private boolean maybeNotationDecl() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private char getc() throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void ungetc()
private boolean peek(java.lang.String s) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private InputEntity peekDeclaration(java.lang.String s) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void nextChar(char c, java.lang.String location, java.lang.String near) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
private void pushReader(char[] buf, java.lang.String name, boolean isGeneral) throws org.xml.sax.SAXException
org.xml.sax.SAXException
private boolean pushReader(ExternalEntity next) throws java.io.IOException, org.xml.sax.SAXException
java.io.IOException
org.xml.sax.SAXException
public 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.SAXException
void error(java.lang.String messageId, java.lang.Object[] parameters) throws org.xml.sax.SAXException
org.xml.sax.SAXException
private void fatal(java.lang.String messageId) throws org.xml.sax.SAXException
org.xml.sax.SAXException
private void fatal(java.lang.String messageId, java.lang.Object[] parameters) throws org.xml.sax.SAXException
org.xml.sax.SAXException