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.
Element
, AttributeList
, ContentModel
, Parser
public String name
public Vector<Element> elements
public Hashtable<String,Element> elementHash
public Hashtable<Object,Entity> entityHash
public final Element pcdata
public final Element html
public final Element meta
public final Element base
public final Element isindex
public final Element head
public final Element body
public final Element applet
public final Element param
public final Element p
public final Element title
public static final int FILE_VERSION
protected DTD(String name)
Creates a new DTD with the specified name.
name
- the name, as a String
of the new DTDpublic String getName()
Gets the name of the DTD.
public Entity getEntity(String name)
Gets an entity by name.
Entity
corresponding to the name
String
public Entity getEntity(int ch)
Gets a character entity.
Entity
corresponding to the ch
characterpublic Element getElement(String name)
Gets an element by name. A new element is created if the element doesn't exist.
name
- the requested String
Element
corresponding to name
, which may be newly createdpublic Element getElement(int index)
Gets an element by index.
index
- the requested indexElement
corresponding to index
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.
name
- the name of the Entity
as a String
type
- the type of the Entity
data
- the Entity
's dataEntity
requested or a new Entity
if not foundpublic 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.
name
- the name of the Element
type
- the type of the Element
omitStart
- true
if start should be omittedomitEnd
- true
if end should be omittedcontent
- the ContentModel
atts
- the AttributeList
specifying the Element
Element
specifiedpublic void defineAttributes(String name, AttributeList atts)
Defines attributes for an Element
.
name
- the name of the Element
atts
- the AttributeList
specifying the Element
public Entity defEntity(String name, int type, int ch)
Creates and returns a character Entity
.
name
- the entity's nameEntity
protected Entity defEntity(String name, int type, String str)
Creates and returns an Entity
.
name
- the entity's nameEntity
protected Element defElement(String name, int type, boolean omitStart, boolean omitEnd, ContentModel content, String[] exclusions, String[] inclusions, AttributeList atts)
Creates and returns an Element
.
name
- the element's nameElement
protected AttributeList defAttributeList(String name, int type, int modifier, String value, String values, AttributeList atts)
Creates and returns an AttributeList
.
name
- the attribute list's nameAttributeList
protected ContentModel defContentModel(int type, Object obj, ContentModel next)
Creates and returns a new content model.
type
- the type of the new content modelContentModel
public String toString()
Returns a string representation of this DTD.
public static void putDTDHash(String name, DTD dtd)
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.
name
- the name of the DTDname
IOException
public void read(DataInputStream in) throws IOException
Recreates a DTD from an archived format.
in
- the DataInputStream
to read fromIOException
© 1993–2017, 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.