Class DTD
- java.lang.Object
-
- javax.swing.text.html.parser.DTD
- All Implemented Interfaces:
DTDConstants
public class DTD extends Object implements DTDConstants
The representation of an SGML DTD. DTD describes a document syntax and is used in parsing of HTML documents. It contains a list of elements and their attributes as well as a list of entities defined in the DTD.
- See Also:
-
Element
,AttributeList
,ContentModel
,Parser
Field Summary
Modifier and Type | Field | Description |
---|---|---|
Element | applet | The element corresponding to applet. |
Element | base | The element corresponding to base. |
Element | body | The element corresponding to body. |
Hashtable<String,Element> | elementHash | The hash table contains the name of element and the corresponding element. |
Vector<Element> | elements | The vector of elements |
Hashtable<Object,Entity> | entityHash | The hash table contains an |
static int | FILE_VERSION | The version of a file |
Element | head | The element corresponding to head. |
Element | html | The element corresponding to html. |
Element | isindex | The element corresponding to isindex. |
Element | meta | The element corresponding to meta. |
String | name | the name of the DTD |
Element | p | The element corresponding to p. |
Element | param | The element corresponding to param. |
Element | pcdata | The element corresponding to pcdata. |
Element | title | The element corresponding to title. |
Fields declared in interface javax.swing.text.html.parser.DTDConstants
ANY, CDATA, CONREF, CURRENT, DEFAULT, EMPTY, ENDTAG, ENTITIES, ENTITY, FIXED, GENERAL, ID, IDREF, IDREFS, IMPLIED, MD, MODEL, MS, NAME, NAMES, NMTOKEN, NMTOKENS, NOTATION, NUMBER, NUMBERS, NUTOKEN, NUTOKENS, PARAMETER, PI, PUBLIC, RCDATA, REQUIRED, SDATA, STARTTAG, SYSTEM
Constructor Summary
Modifier | Constructor | Description |
---|---|---|
protected | DTD(String name) | Creates a new DTD with the specified name. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
protected AttributeList | defAttributeList(String name,
int type,
int modifier,
String value,
String values,
AttributeList atts) | Creates and returns an |
protected ContentModel | defContentModel(int type,
Object obj,
ContentModel next) | Creates and returns a new content model. |
protected Element | defElement(String name,
int type,
boolean omitStart,
boolean omitEnd,
ContentModel content,
String[] exclusions,
String[] inclusions,
AttributeList atts) | Creates and returns an |
Entity | defEntity(String name,
int type,
int ch) | Creates and returns a character |
protected Entity | defEntity(String name,
int type,
String str) | Creates and returns an |
void | defineAttributes(String name,
AttributeList atts) | Defines attributes for an |
Element | defineElement(String name,
int type,
boolean omitStart,
boolean omitEnd,
ContentModel content,
BitSet exclusions,
BitSet inclusions,
AttributeList atts) | Returns the |
Entity | defineEntity(String name,
int type,
char[] data) | Defines an entity. |
static DTD | getDTD(String name) | Returns a DTD with the specified |
Element | getElement(int index) | Gets an element by index. |
Element | getElement(String name) | Gets an element by name. |
Entity | getEntity(int ch) | Gets a character entity. |
Entity | getEntity(String name) | Gets an entity by name. |
String | getName() | Gets the name of the DTD. |
static void | putDTDHash(String name,
DTD dtd) | Put a name and appropriate DTD to hashtable. |
void | read(DataInputStream in) | Recreates a DTD from an archived format. |
String | toString() | Returns a string representation of this DTD. |
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Field Detail
name
public String name
the name of the DTD
elements
public Vector<Element> elements
The vector of elements
elementHash
public Hashtable<String,Element> elementHash
The hash table contains the name of element and the corresponding element.
entityHash
public Hashtable<Object,Entity> entityHash
The hash table contains an Object
and the corresponding Entity
pcdata
public final Element pcdata
The element corresponding to pcdata.
html
public final Element html
The element corresponding to html.
meta
public final Element meta
The element corresponding to meta.
base
public final Element base
The element corresponding to base.
isindex
public final Element isindex
The element corresponding to isindex.
head
public final Element head
The element corresponding to head.
body
public final Element body
The element corresponding to body.
applet
public final Element applet
The element corresponding to applet.
param
public final Element param
The element corresponding to param.
p
public final Element p
The element corresponding to p.
title
public final Element title
The element corresponding to title.
FILE_VERSION
public static final int FILE_VERSION
The version of a file
- See Also:
- Constant Field Values
Constructor Detail
DTD
protected DTD(String name)
Creates a new DTD with the specified name.
- Parameters:
-
name
- the name, as aString
of the new DTD
Method Detail
getName
public String getName()
Gets the name of the DTD.
- Returns:
- the name of the DTD
getEntity
public Entity getEntity(String name)
Gets an entity by name.
- Parameters:
-
name
- the entity name - Returns:
- the
Entity
corresponding to thename
String
getEntity
public Entity getEntity(int ch)
Gets a character entity.
- Parameters:
-
ch
- the character - Returns:
- the
Entity
corresponding to thech
character
getElement
public Element getElement(String name)
Gets an element by name. A new element is created if the element doesn't exist.
- Parameters:
-
name
- the requestedString
- Returns:
- the
Element
corresponding toname
, which may be newly created
getElement
public Element getElement(int index)
Gets an element by index.
- Parameters:
-
index
- the requested index - Returns:
- the
Element
corresponding toindex
defineEntity
public Entity defineEntity(String name, int type, char[] data)
Defines an entity. If the Entity
specified by name
, type
, and data
exists, it is returned; otherwise a new Entity
is created and is returned.
- Parameters:
-
name
- the name of theEntity
as aString
-
type
- the type of theEntity
-
data
- theEntity
's data - Returns:
- the
Entity
requested or a newEntity
if not found
defineElement
public Element defineElement(String name, int type, boolean omitStart, boolean omitEnd, ContentModel content, BitSet exclusions, BitSet inclusions, AttributeList atts)
Returns the Element
which matches the specified parameters. If one doesn't exist, a new one is created and returned.
- Parameters:
-
name
- the name of theElement
-
type
- the type of theElement
-
omitStart
-true
if start should be omitted -
omitEnd
-true
if end should be omitted -
content
- theContentModel
-
exclusions
- the set of elements that must not occur inside the element -
inclusions
- the set of elements that can occur inside the element -
atts
- theAttributeList
specifying theElement
- Returns:
- the
Element
specified
defineAttributes
public void defineAttributes(String name, AttributeList atts)
Defines attributes for an Element
.
- Parameters:
-
name
- the name of theElement
-
atts
- theAttributeList
specifying theElement
defEntity
public Entity defEntity(String name, int type, int ch)
Creates and returns a character Entity
.
- Parameters:
-
name
- the entity's name -
type
- the entity's type -
ch
- the entity's value (character) - Returns:
- the new character
Entity
defEntity
protected Entity defEntity(String name, int type, String str)
Creates and returns an Entity
.
- Parameters:
-
name
- the entity's name -
type
- the entity's type -
str
- the entity's data section - Returns:
- the new
Entity
defElement
protected Element defElement(String name, int type, boolean omitStart, boolean omitEnd, ContentModel content, String[] exclusions, String[] inclusions, AttributeList atts)
Creates and returns an Element
.
- Parameters:
-
name
- the element's name -
type
- the element's type -
omitStart
-true
if the element needs no starting tag -
omitEnd
-true
if the element needs no closing tag -
content
- the element's content -
exclusions
- the elements that must be excluded from the content of the element -
inclusions
- the elements that can be included as the content of the element -
atts
- the attributes of the element - Returns:
- the new
Element
defAttributeList
protected AttributeList defAttributeList(String name, int type, int modifier, String value, String values, AttributeList atts)
Creates and returns an AttributeList
responding to a new attribute.
- Parameters:
-
name
- the attribute's name -
type
- the attribute's type -
modifier
- the attribute's modifier -
value
- the default value of the attribute -
values
- the allowed values for the attribute (multiple values could be separated by '|') -
atts
- the previous attribute of the element; to be placed toAttributeList.next
, creating a linked list - Returns:
- the new
AttributeList
defContentModel
protected ContentModel defContentModel(int type, Object obj, ContentModel next)
Creates and returns a new content model.
- Parameters:
-
type
- the type of the new content model -
obj
- the content of the content model -
next
- pointer to the next content model - Returns:
- the new
ContentModel
toString
public String toString()
Returns a string representation of this DTD.
putDTDHash
public static void putDTDHash(String name, DTD dtd)
Put a name and appropriate DTD to hashtable.
- Parameters:
-
name
- the name of the DTD -
dtd
- the DTD
getDTD
public static DTD getDTD(String name) throws IOException
Returns a DTD with the specified name
. If a DTD with that name doesn't exist, one is created and returned. Any uppercase characters in the name are converted to lowercase.
- Parameters:
-
name
- the name of the DTD - Returns:
- the DTD which corresponds to
name
- Throws:
-
IOException
- if an I/O error occurs
read
public void read(DataInputStream in) throws IOException
Recreates a DTD from an archived format.
- Parameters:
-
in
- theDataInputStream
to read from - Throws:
-
IOException
- if an I/O error occurs