- 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
Fields 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 elementsHashtable<Object,Entity>
entityHash
The hash table contains anObject
and the correspondingEntity
static int
FILE_VERSION
The version of a fileElement
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 DTDElement
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 inherited from 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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AttributeList
defAttributeList(String name, int type, int modifier, String value, String values, AttributeList atts)
Creates and returns anAttributeList
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 anElement
.Entity
defEntity(String name, int type, int ch)
Creates and returns a characterEntity
.protected Entity
defEntity(String name, int type, String str)
Creates and returns anEntity
.void
defineAttributes(String name, AttributeList atts)
Defines attributes for anElement
.Element
defineElement(String name, int type, boolean omitStart, boolean omitEnd, ContentModel content, BitSet exclusions, BitSet inclusions, AttributeList atts)
Returns theElement
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 specifiedname
.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.
-
-
-
Field Detail
-
name
public String name
the name of the DTD
-
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 anObject
and the correspondingEntity
-
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 theEntity
specified byname
,type
, anddata
exists, it is returned; otherwise a newEntity
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 theElement
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 omittedomitEnd
-true
if end should be omittedcontent
- theContentModel
exclusions
- the set of elements that must not occur inside the elementinclusions
- the set of elements that can occur inside the elementatts
- theAttributeList
specifying theElement
- Returns:
- the
Element
specified
-
defineAttributes
public void defineAttributes(String name, AttributeList atts)
Defines attributes for anElement
.- Parameters:
name
- the name of theElement
atts
- theAttributeList
specifying theElement
-
defEntity
public Entity defEntity(String name, int type, int ch)
Creates and returns a characterEntity
.- Parameters:
name
- the entity's nametype
- the entity's typech
- the entity's value (character)- Returns:
- the new character
Entity
-
defEntity
protected Entity defEntity(String name, int type, String str)
Creates and returns anEntity
.- Parameters:
name
- the entity's nametype
- the entity's typestr
- 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 anElement
.- Parameters:
name
- the element's nametype
- the element's typeomitStart
-true
if the element needs no starting tagomitEnd
-true
if the element needs no closing tagcontent
- the element's contentexclusions
- the elements that must be excluded from the content of the elementinclusions
- the elements that can be included as the content of the elementatts
- 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 anAttributeList
responding to a new attribute.- Parameters:
name
- the attribute's nametype
- the attribute's typemodifier
- the attribute's modifiervalue
- the default value of the attributevalues
- 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 modelobj
- the content of the content modelnext
- 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 DTDdtd
- the DTD
-
getDTD
public static DTD getDTD(String name) throws IOException
Returns a DTD with the specifiedname
. 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
-
-