模块 java.xml

接口 Attributes2

所有父级接口:
Attributes
所有已知的实现类:
Attributes2Impl

public interface Attributes2 extends Attributes
SAX2 扩展以增加通过 Attributes 提供的每个属性信息。如果实现支持此扩展,则 ContentHandler.startElement() 中提供的属性将实现此接口,并且 http://xml.org/sax/features/use-attributes2 功能标志的值为 true

XMLReader 实现不需要支持此信息,并且它不是仅核心 SAX2 发行版的一部分。

请注意,如果一个属性是默认的 (!isSpecified()),则它也必须在 DTD 中声明 (isDeclared())。类似地,如果一个属性的类型是 CDATA 以外的任何类型,那么它必须已经声明。

自从:
1.5、SAX 2.0(扩展 1.1 alpha)
  • 方法详情

    • isDeclared

      boolean isDeclared(int index)
      除非在 DTD 中声明了属性,否则返回 false。这有助于区分 SAX 报告为 CDATA 的两种属性:已声明(因此通常有效)和未声明(因此永远无效)的属性。
      参数:
      index - 属性索引(从零开始)。
      返回:
      如果属性是在 DTD 中声明的,则为 true,否则为 false。
      抛出:
      ArrayIndexOutOfBoundsException - 当提供的索引未标识属性时。
    • isDeclared

      boolean isDeclared(String  qName)
      除非在 DTD 中声明了属性,否则返回 false。这有助于区分 SAX 报告为 CDATA 的两种属性:已声明(因此通常有效)和未声明(因此永远无效)的属性。
      参数:
      qName - XML 限定(前缀)名称。
      返回:
      如果属性是在 DTD 中声明的,则为 true,否则为 false。
      抛出:
      IllegalArgumentException - 当提供的名称未标识属性时。
    • isDeclared

      boolean isDeclared(String  uri, String  localName)
      除非在 DTD 中声明了属性,否则返回 false。这有助于区分 SAX 报告为 CDATA 的两种属性:已声明(因此通常有效)和未声明(因此永远无效)的属性。

      请记住,由于 DTD 不“理解”名称空间,因此与属性关联的名称空间 URI 可能不是来自 DTD。该声明将应用于属性的 qName

      参数:
      uri - 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。
      localName - 属性的本地名称。
      返回:
      如果属性是在 DTD 中声明的,则为 true,否则为 false。
      抛出:
      IllegalArgumentException - 当提供的名称未标识属性时。
    • isSpecified

      boolean isSpecified(int index)
      返回真,除非属性值是由 DTD 默认设置提供的。
      参数:
      index - 属性索引(从零开始)。
      返回:
      如果在 XML 文本中找到该值,则为 true;如果该值是由 DTD 默认设置提供的,则为 false。
      抛出:
      ArrayIndexOutOfBoundsException - 当提供的索引未标识属性时。
    • isSpecified

      boolean isSpecified(String  uri, String  localName)
      返回真,除非属性值是由 DTD 默认设置提供的。

      请记住,由于 DTD 不“理解”名称空间,因此与属性关联的名称空间 URI 可能不是来自 DTD。该声明将应用于属性的 qName

      参数:
      uri - 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。
      localName - 属性的本地名称。
      返回:
      如果在 XML 文本中找到该值,则为 true;如果该值是由 DTD 默认设置提供的,则为 false。
      抛出:
      IllegalArgumentException - 当提供的名称未标识属性时。
    • isSpecified

      boolean isSpecified(String  qName)
      返回真,除非属性值是由 DTD 默认设置提供的。
      参数:
      qName - XML 限定(前缀)名称。
      返回:
      如果在 XML 文本中找到该值,则为 true;如果该值是由 DTD 默认设置提供的,则为 false。
      抛出:
      IllegalArgumentException - 当提供的名称未标识属性时。