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:

Field Summary

Modifier and Type Field Description
final Element applet
The element corresponding to applet.
final Element base
The element corresponding to base.
final 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 Object and the corresponding Entity
static final int FILE_VERSION
The version of a file
final Element head
The element corresponding to head.
final Element html
The element corresponding to html.
final Element isindex
The element corresponding to isindex.
final Element meta
The element corresponding to meta.
String name
the name of the DTD
final Element p
The element corresponding to p.
final Element param
The element corresponding to param.
final Element pcdata
The element corresponding to pcdata.
final Element title
The element corresponding to title.

Constructor Summary

DTD(String name)
Modifier Constructor Description
protected
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 AttributeList responding to a new attribute.
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 Element.
Entity defEntity(String name, int type, int ch)
Creates and returns a character Entity.
protected Entity defEntity(String name, int type, String str)
Creates and returns an Entity.
void defineAttributes(String name, AttributeList atts)
Defines attributes for an Element.
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.
Entity defineEntity(String name, int type, char[] data)
Defines an entity.
static DTD getDTD(String name)
Returns a DTD with the specified name.
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 Details

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.

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:

Constructor Details

DTD

protected DTD(String name)
Creates a new DTD with the specified name.
Parameters:
name - the name, as a String of the new DTD

Method Details

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 the name String

getEntity

public Entity getEntity(int ch)
Gets a character entity.
Parameters:
ch - the character
Returns:
the Entity corresponding to the ch 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 requested String
Returns:
the Element corresponding to name, 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 to index

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 the Entity as a String
type - the type of the Entity
data - the Entity's data
Returns:
the Entity requested or a new Entity 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 the Element
type - the type of the Element
omitStart - true if start should be omitted
omitEnd - true if end should be omitted
content - the ContentModel
exclusions - the set of elements that must not occur inside the element
inclusions - the set of elements that can occur inside the element
atts - the AttributeList specifying the Element
Returns:
the Element specified

defineAttributes

public void defineAttributes(String name, AttributeList atts)
Defines attributes for an Element.
Parameters:
name - the name of the Element
atts - the AttributeList specifying the Element

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 to AttributeList.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.
Overrides:
toString in class Object
Returns:
the 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 - the DataInputStream to read from
Throws:
IOException - if an I/O error occurs

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/text/html/parser/DTD.html