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:
Element, AttributeList, ContentModel, Parser
  • Field Details

  • 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