Module  java.xml
软件包  org.xml.sax.ext

Class Attributes2Impl

  • All Implemented Interfaces:
    AttributesAttributes2


    public class Attributes2Impl
    extends AttributesImpl
    implements Attributes2
    SAX2扩展助手附加属性信息,实现Attributes2接口。
    This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY.

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

    每个属性的指定标志将始终为真,除非在复制构造函数中将其设置为false,否则使用setSpecified(int, boolean) 类似地,除了默认属性( 指定为false),非CDATA属性,或使用setDeclared(int, boolean)设置为true时,每个属性的声明标志将始终为false。 如果您手动更改属性的类型,则可能需要修改其声明的标志才能匹配。

    从以下版本开始:
    1.5,SAX 2.0(扩展1.1 alpha)
    • 构造方法详细信息

      • Attributes2Impl

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

        public Attributes2Impl​(Attributes atts)
        复制现有的Attributes或Attributes2对象。 如果对象实现Attributes2,则会复制每个属性的指定声明的标志的值。 否则,除非有相反的证据(例如CDATA以外的属性必须被声明 ),否则标志值将默认为不使用DTD。

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

        参数
        atts - 现有的Attributes对象。
    • 方法详细信息

      • isDeclared

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

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

        public boolean isDeclared​(String qName)
        返回属性的“声明”标志的当前值。
        Specified by:
        isDeclared在接口 Attributes2
        参数
        qName - XML合格(前缀)名称。
        结果
        如果属性在DTD中声明,则为true,否则为false。
      • isSpecified

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

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

        public boolean isSpecified​(String qName)
        返回属性的“指定”标志的当前值。
        Specified by:
        isSpecified接口 Attributes2
        参数
        qName - XML合格(前缀)名称。
        结果
        当前标志值
        异常
        IllegalArgumentException - 当提供的名称不标识属性时。
      • removeAttribute

        public void removeAttribute​(int index)
        描述从类别复制AttributesImpl
        从列表中删除一个属性。
        重写:
        removeAttributeAttributesImpl
        参数
        index - 属性的索引(从零开始)。
      • setDeclared

        public void setDeclared​(int index,
                                boolean value)
        将值分配给特定属性的“声明”标志。 通常只需要类型为CDATA的属性,包括其类型更改为或从CDATA的属性。
        参数
        index - 属性的索引(从零开始)。
        value - 所需的标志值。
        异常
        ArrayIndexOutOfBoundsException - 当提供的索引未标识属性时。
        另请参见:
        AttributesImpl.setType(int, java.lang.String)
      • setSpecified

        public void setSpecified​(int index,
                                 boolean value)
        将值分配给特定属性的“指定”标志。 这是该标志可以被清除的唯一方式,除了通过使用复制构造函数初始化进行清除。
        参数
        index - 属性的索引(从零开始)。
        value - 所需的标志值。
        异常
        ArrayIndexOutOfBoundsException - When the supplied index does not identify an attribute.