Module java.xml
Package org.xml.sax.ext

Class 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标志始终为true,除非在复制构造函数中将其设置为false,或使用setSpecified(int, boolean)。类似地,每个属性的declared标志始终为false,除非是默认属性(specified为false),非CDATA属性,或者使用setDeclared(int, boolean)将其设置为true。如果手动更改属性的类型,则可能需要修改其declared标志以匹配。

自从:
1.5, SAX 2.0 (扩展 1.1 alpha)
  • Constructor Details

    • Attributes2Impl

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

      public Attributes2Impl(Attributes atts)
      复制一个现有的Attributes或Attributes2对象。如果对象实现了Attributes2,则每个属性的specifieddeclared标志的值都会被复制。否则,标志值默认为假定未使用DTD,除非有证据表明相反(例如具有非CDATA类型的属性,必须已经declared)。

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

      参数:
      atts - 现有的Attributes对象。
  • Method Details

    • isDeclared

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

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

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

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

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

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

      public void setAttributes(Attributes atts)
      复制整个Attributes对象。将"specified"标志分配为true,"declared"标志分配为false(除非属性的类型不是CDATA),除非对象是Attributes2对象。在这种情况下,这些标志值都会被复制。
      覆盖:
      setAttributes 在类 AttributesImpl
      参数:
      atts - 要复制的属性。
      参见:
    • addAttribute

      public void addAttribute(String uri, String localName, String qName, String type, String value)
      将属性添加到列表末尾,并将其"specified"标志设置为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)
      为特定属性的"declared"标志赋值。通常仅需要为CDATA类型的属性赋值,包括将属性类型更改为或从CDATA更改的属性。
      参数:
      index - 属性的索引(从零开始)。
      value - 所需的标志值。
      抛出:
      ArrayIndexOutOfBoundsException - 当提供的索引未标识属性时。
      参见:
    • setSpecified

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