模块 java.xml

类 Attributes2Impl

java.lang.Object
org.xml.sax.helpers.AttributesImpl
org.xml.sax.ext.Attributes2Impl
所有已实现的接口:
Attributes , Attributes2

public class Attributes2Impl extends AttributesImpl implements Attributes2
附加属性信息的 SAX2 扩展助手,实现了 Attributes2 接口。

这不是仅核心 SAX2 发行版的一部分。

每个属性的 specified 标志将始终为真,除非在复制构造函数中或使用 setSpecified(int, boolean) 将其设置为假。同样,每个属性的 declared 标志将始终为假,默认属性(specified 为假)、非 CDATA 属性或使用 setDeclared(int, boolean) 设置为真时除外。如果手动更改属性的类型,则可能需要修改其 declared 标志以匹配。

自从:
1.5、SAX 2.0(扩展 1.1 alpha)
  • 构造方法详细信息

    • Attributes2Impl

      public Attributes2Impl()
      构造一个新的空 Attributes2Impl 对象。
    • Attributes2Impl

      public Attributes2Impl(Attributes  atts)
      复制现有的 Attributes 或 Attributes2 对象。如果对象实现 Attributes2,则复制每个属性的 specifieddeclared 标志的值。否则,标志值默认假定没有使用 DTD,除非有相反的证据(例如类型不是 CDATA 的属性,它必须是 declared )。

      此构造函数在 startElement 事件中特别有用。

      参数:
      atts - 现有的属性对象。
  • 方法详情

    • isDeclared

      public boolean isDeclared(int index)
      返回属性的“已声明”标志的当前值。
      指定者:
      isDeclared 在接口 Attributes2
      参数:
      index - 属性索引(从零开始)。
      返回:
      如果属性是在 DTD 中声明的,则为 true,否则为 false。
    • isDeclared

      public boolean isDeclared(String  uri, String  localName)
      返回属性的“已声明”标志的当前值。
      指定者:
      isDeclared 在接口 Attributes2
      参数:
      uri - 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。
      localName - 属性的本地名称。
      返回:
      如果属性是在 DTD 中声明的,则为 true,否则为 false。
    • isDeclared

      public boolean isDeclared(String  qName)
      返回属性的“已声明”标志的当前值。
      指定者:
      isDeclared 在接口 Attributes2
      参数:
      qName - XML 限定(前缀)名称。
      返回:
      如果属性是在 DTD 中声明的,则为 true,否则为 false。
    • isSpecified

      public boolean isSpecified(int index)
      返回属性的“指定”标志的当前值。
      指定者:
      isSpecified 在接口 Attributes2
      参数:
      index - 属性索引(从零开始)。
      返回:
      当前标志值
      抛出:
      ArrayIndexOutOfBoundsException - 当提供的索引未标识属性时。
    • isSpecified

      public boolean isSpecified(String  uri, String  localName)
      返回属性的“指定”标志的当前值。
      指定者:
      isSpecified 在接口 Attributes2
      参数:
      uri - 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。
      localName - 属性的本地名称。
      返回:
      当前标志值
      抛出:
      IllegalArgumentException - 当提供的名称未标识属性时。
    • isSpecified

      public boolean isSpecified(String  qName)
      返回属性的“指定”标志的当前值。
      指定者:
      isSpecified 在接口 Attributes2
      参数:
      qName - XML 限定(前缀)名称。
      返回:
      当前标志值
      抛出:
      IllegalArgumentException - 当提供的名称未标识属性时。
    • setAttributes

      public void setAttributes(Attributes  atts)
      复制整个 Attributes 对象。除非对象是 Attributes2 对象,否则“指定”标志被分配为真,“声明”标志被分配为假(当属性的类型不是 CDATA 时除外)。在那种情况下,这些标志值都会被复制。
      重写:
      setAttributes 在类 AttributesImpl
      参数:
      atts - 要复制的属性。
      参见:
    • addAttribute

      public void addAttribute(String  uri, String  localName, String  qName, String  type, String  value)
      将属性添加到列表的末尾,将其“指定”标志设置为 true。要将该标志的值设置为 false,请使用 setSpecified(int, boolean)

      除非属性 type 是 CDATA,否则该属性被标记为在 DTD 中声明。要为 CDATA 属性将该标志的值设置为 true,请使用 setDeclared(int, boolean)

      重写:
      addAttribute 在类 AttributesImpl
      参数:
      uri - 命名空间 URI,如果没有可用的或未执行命名空间处理,则为空字符串。
      localName - 本地名称,如果未执行命名空间处理,则为空字符串。
      qName - 限定(前缀)名称,如果限定名称不可用,则为空字符串。
      type - 作为字符串的属性类型。
      value - 属性值。
      参见:
    • setDeclared

      public void setDeclared(int index, boolean value)
      为特定属性的“已声明”标志分配一个值。这通常只需要 CDATA 类型的属性,包括其类型更改为 CDATA 或从 CDATA 更改的属性。
      参数:
      index - 属性的索引(从零开始)。
      value - 所需的标志值。
      抛出:
      ArrayIndexOutOfBoundsException - 当提供的索引未标识属性时。
      参见:
    • setSpecified

      public void setSpecified(int index, boolean value)
      为特定属性的“指定”标志赋值。这是清除此标志的唯一方法,除了通过复制构造方法初始化清除。
      参数:
      index - 属性的索引(从零开始)。
      value - 所需的标志值。
      抛出:
      ArrayIndexOutOfBoundsException - 当提供的索引未标识属性时。