javax.swing.text.html.parser

## 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

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `Element` | `applet` |
    `Element` | `base` |
    `Element` | `body` |
    `Hashtable<String,Element>` | `elementHash` |
    `Vector<Element>` | `elements` |
    `Hashtable<Object,Entity>` | `entityHash` |
    `static int` | `FILE_VERSION` |
    `Element` | `head` |
    `Element` | `html` |
    `Element` | `isindex` |
    `Element` | `meta` |
    `String` | `name` |
    `Element` | `p` |
    `Element` | `param` |
    `Element` | `pcdata` |
    `Element` | `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`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `DTD(String name)` | Creates a new DTD with the specified name.

  - ### 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 an `AttributeList`.
    `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)` |
    `void` | `read(DataInputStream in)` | Recreates a DTD from an archived format.
    `String` | `toString()` | Returns a string representation of this DTD.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### name

          public String name

    - #### elements

          public Vector<Element> elements

    - #### elementHash

          public Hashtable<String,Element> elementHash

    - #### entityHash

          public Hashtable<Object,Entity> entityHash

    - #### pcdata

          public final Element pcdata

    - #### html

          public final Element html

    - #### meta

          public final Element meta

    - #### base

          public final Element base

    - #### isindex

          public final Element isindex

    - #### head

          public final Element head

    - #### body

          public final Element body

    - #### applet

          public final Element applet

    - #### param

          public final Element param

    - #### p

          public final Element p

    - #### title

          public final Element title

    - #### FILE_VERSION

          public static final int FILE_VERSION

      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 a `String` 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.
      Returns:
        the `Entity` corresponding to the `name` `String`

    - #### getEntity

          public Entity getEntity(int ch)

      Gets a character entity.
      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`
        `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
      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
      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
      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`.
      Parameters:
        `name` - the attribute list's name
      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
      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)

    - #### 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`

    - #### read

          public void read(DataInputStream in)
                    throws IOException

      Recreates a DTD from an archived format.
      Parameters:
        `in` - the `DataInputStream` to read from
      Throws:
        `IOException`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.