Module java.desktop

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