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 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
-
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 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 Details
-
name
the name of the DTD -
elements
The vector of elements -
elementHash
The hash table contains the name of element and the corresponding element. -
entityHash
The hash table contains anObject
and the correspondingEntity
-
pcdata
The element corresponding to pcdata. -
html
The element corresponding to html. -
meta
The element corresponding to meta. -
base
The element corresponding to base. -
isindex
The element corresponding to isindex. -
head
The element corresponding to head. -
body
The element corresponding to body. -
applet
The element corresponding to applet. -
param
The element corresponding to param. -
p
The element corresponding to p. -
title
The element corresponding to title. -
FILE_VERSION
public static final int FILE_VERSIONThe version of a file- See Also:
- Constant Field Values
-
-
Constructor Details
-
DTD
Creates a new DTD with the specified name.- Parameters:
name
- the name, as aString
of the new DTD
-
-
Method Details
-
getName
Gets the name of the DTD.- Returns:
- the name of the DTD
-
getEntity
Gets an entity by name.- Parameters:
name
- the entity name- Returns:
- the
Entity
corresponding to thename
String
-
getEntity
Gets a character entity.- Parameters:
ch
- the character- Returns:
- the
Entity
corresponding to thech
character
-
getElement
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
Gets an element by index.- Parameters:
index
- the requested index- Returns:
- the
Element
corresponding toindex
-
defineEntity
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
Defines attributes for anElement
.- Parameters:
name
- the name of theElement
atts
- theAttributeList
specifying theElement
-
defEntity
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
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
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
Returns a string representation of this DTD. -
putDTDHash
Put a name and appropriate DTD to hashtable.- Parameters:
name
- the name of the DTDdtd
- the DTD
-
getDTD
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
Recreates a DTD from an archived format.- Parameters:
in
- theDataInputStream
to read from- Throws:
IOException
- if an I/O error occurs
-