Module java.desktop

Class DTD

java.lang.Object
javax.swing.text.html.parser.DTD
所有已实现的接口:
DTDConstants

public class DTD extends Object implements DTDConstants
SGML DTD的表示。DTD描述文档语法,用于解析HTML文档。它包含DTD中定义的元素及其属性列表,以及实体列表。
参见:
  • Field Details

    • name

      public String name
      DTD的名称
    • elements

      public Vector<Element> elements
      元素的向量
    • elementHash

      public Hashtable<String,Element> elementHash
      哈希表包含元素的名称和相应的元素。
    • entityHash

      public Hashtable<Object,Entity> entityHash
      哈希表包含一个Object和相应的Entity
    • pcdata

      public final Element pcdata
      对应于pcdata的元素。
    • html

      public final Element html
      对应于html的元素。
    • meta

      public final Element meta
      对应于meta的元素。
    • base

      public final Element base
      对应于base的元素。
    • isindex

      public final Element isindex
      对应于isindex的元素。
    • body

      public final Element body
      对应于body的元素。
    • applet

      public final Element applet
      对应于applet的元素。
    • param

      public final Element param
      对应于param的元素。
    • p

      public final Element p
      对应于p的元素。
    • title

      public final Element title
      对应于title的元素。
    • FILE_VERSION

      public static final int FILE_VERSION
      文件的版本
      参见:
  • Constructor Details

    • DTD

      protected DTD(String name)
      使用指定的名称创建一个新的DTD。
      参数:
      name - 新DTD的名称,作为String
  • Method Details

    • getName

      public String getName()
      获取DTD的名称。
      返回:
      DTD的名称
    • getEntity

      public Entity getEntity(String name)
      通过名称获取一个实体。
      参数:
      name - 实体名称
      返回:
      name String对应的Entity
    • getEntity

      public Entity getEntity(int ch)
      获取一个字符实体。
      参数:
      ch - 字符
      返回:
      ch字符对应的Entity
    • getElement

      public Element getElement(String name)
      通过名称获取一个元素。如果元素不存在,则创建一个新元素。
      参数:
      name - 请求的String
      返回:
      name对应的Element,可能是新创建的
    • getElement

      public Element getElement(int index)
      通过索引获取一个元素。
      参数:
      index - 请求的索引
      返回:
      index对应的Element
    • defineEntity

      public Entity defineEntity(String name, int type, char[] data)
      定义一个实体。如果通过nametypedata指定的Entity存在,则返回该实体;否则创建一个新的Entity并返回。
      参数:
      name - Entity的名称,作为String
      type - Entity的类型
      data - Entity的数据
      返回:
      请求的Entity或如果未找到则创建一个新的Entity
    • defineElement

      public Element defineElement(String name, int type, boolean omitStart, boolean omitEnd, ContentModel content, BitSet exclusions, BitSet inclusions, AttributeList atts)
      返回与指定参数匹配的Element。如果不存在,则创建一个新的并返回。
      参数:
      name - Element的名称
      type - Element的类型
      omitStart - 如果不需要开始标记,则为true
      omitEnd - 如果不需要结束标记,则为true
      content - ContentModel
      exclusions - 不得出现在元素内部的元素集合
      inclusions - 可以出现在元素内部的元素集合
      atts - 指定ElementAttributeList
      返回:
      指定的Element
    • defineAttributes

      public void defineAttributes(String name, AttributeList atts)
      Element定义属性。
      参数:
      name - Element的名称
      atts - 指定ElementAttributeList
    • defEntity

      public Entity defEntity(String name, int type, int ch)
      创建并返回一个字符Entity
      参数:
      name - 实体的名称
      type - 实体的类型
      ch - 实体的值(字符)
      返回:
      新的字符Entity
    • defEntity

      protected Entity defEntity(String name, int type, String str)
      创建并返回一个Entity
      参数:
      name - 实体的名称
      type - 实体的类型
      str - 实体的数据部分
      返回:
      新的Entity
    • defElement

      protected Element defElement(String name, int type, boolean omitStart, boolean omitEnd, ContentModel content, String[] exclusions, String[] inclusions, AttributeList atts)
      创建并返回一个Element
      参数:
      name - 元素的名称
      type - 元素的类型
      omitStart - 如果元素不需要起始标记,则为true
      omitEnd - 如果元素不需要结束标记,则为true
      content - 元素的内容
      exclusions - 必须排除在元素内容之外的元素
      inclusions - 可以包含为元素内容的元素
      atts - 元素的属性
      返回:
      新的Element
    • defAttributeList

      protected AttributeList defAttributeList(String name, int type, int modifier, String value, String values, AttributeList atts)
      创建并返回一个响应新属性的AttributeList
      参数:
      name - 属性的名称
      type - 属性的类型
      modifier - 属性的修饰符
      value - 属性的默认值
      values - 属性的允许值(多个值可以用'|'分隔)
      atts - 元素的先前属性;将放置到AttributeList.next,创建一个链接列表
      返回:
      新的AttributeList
    • defContentModel

      protected ContentModel defContentModel(int type, Object obj, ContentModel next)
      创建并返回一个新的内容模型。
      参数:
      type - 新内容模型的类型
      obj - 内容模型的内容
      next - 指向下一个内容模型的指针
      返回:
      新的ContentModel
    • toString

      public String toString()
      返回此DTD的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      此DTD的字符串表示形式
    • putDTDHash

      public static void putDTDHash(String name, DTD dtd)
      将名称和适当的DTD放入哈希表中。
      参数:
      name - DTD的名称
      dtd - DTD
    • getDTD

      public static DTD getDTD(String name) throws IOException
      返回具有指定name的DTD。如果不存在具有该名称的DTD,则创建一个并返回。名称中的任何大写字符都将转换为小写。
      参数:
      name - DTD的名称
      返回:
      对应于name的DTD
      抛出:
      IOException - 如果发生I/O错误
    • read

      public void read(DataInputStream in) throws IOException
      从存档格式重新创建DTD。
      参数:
      in - 要读取的DataInputStream
      抛出:
      IOException - 如果发生I/O错误