模块  java.xml
软件包  org.xml.sax

Interface AttributeList

  • 所有已知实现类:
    AttributeListImpl

    @Deprecated(since="1.5")
    public interface AttributeList
    Deprecated.
    This interface has been replaced by the SAX2 Attributes interface, which includes Namespace support.
    元素属性规范的接口。
    This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.

    这是用于报告元素属性的原始SAX1接口。 与新的Attributes接口不同,它不支持与命名空间相关的信息。

    当属性列表作为startElement事件的一部分提供时,列表将仅在事件范围内返回有效结果; 一旦事件处理程序将控制权返回给解析器,属性列表就无效。 要保存属性列表的持久副本,请使用SAX1 AttributeListImpl帮助程序类。

    属性列表仅包括已指定或默认的属性:不包括#IMPLIED属性。

    SAX应用程序有两种方法从AttributeList获取信息。 首先,它可以遍历整个列表:

       public void startElement (String name, AttributeList atts) { for (int i = 0; i < atts.getLength(); i++) { String name = atts.getName(i); String type = atts.getType(i); String value = atts.getValue(i); [...] } }  

    (注意,如果没有属性,getLength()的结果将为零。)

    作为替代方案,应用程序可以请求特定属性的值或类型:

      public void startElement (String name, AttributeList atts) {
       String identifier = atts.getValue("id");
       String label = atts.getValue("label");
       [...]
     } 
    从以下版本开始:
    1.4,SAX 1.0
    另请参见:
    startElementAttributeListImpl
    • 方法详细信息

      • getLength

        int getLength()
        Deprecated.
        返回此列表中的属性数。

        无论声明或指定它们的顺序如何,SAX解析器都可以以任意顺序提供属性。 属性的数量可以是零。

        结果
        列表中的属性数。
      • getName

        String getName​(int i)
        Deprecated.
        返回此列表中属性的名称(按位置)。

        名称必须是唯一的:SAX解析器不应包含两次相同的属性。 没有值的属性(那些声明为#IMPLIED而没有在开始标记中指定的值的属性)将从列表中省略。

        如果属性名称具有名称空间前缀,则仍会附加前缀。

        参数
        i - 列表中属性的索引(从0开始)。
        结果
        索引属性的名称,如果索引超出范围,则返回null。
        另请参见:
        getLength()
      • getType

        String getType​(int i)
        Deprecated.
        返回列表中属性的类型(按位置)。

        属性类型是字符串“CDATA”,“ID”,“IDREF”,“IDREFS”,“NMTOKEN”,“NMTOKENS”,“ENTITY”,“ENTITIES”或“NOTATION”之一(总是大写) 。

        如果解析器没有读取属性的声明,或者解析器没有报告属性类型,那么它必须返回值“CDATA”,如XML 1.0推荐中所述(第3.3.3节“属性值规范化”) )。

        对于不是表示法的枚举属性,解析器将类型报告为“NMTOKEN”。

        参数
        i - 列表中属性的索引(从0开始)。
        结果
        属性类型为字符串,如果索引超出范围,则为null。
        另请参见:
        getLength()getType(java.lang.String)
      • getValue

        String getValue​(int i)
        Deprecated.
        返回列表中属性的值(按位置)。

        如果属性值是标记列表(IDREFS,ENTITIES或NMTOKENS),则标记将连接成由空格分隔的单个字符串。

        参数
        i - 列表中属性的索引(从0开始)。
        结果
        属性值为字符串,如果索引超出范围,则为null。
        另请参见:
        getLength()getValue(java.lang.String)
      • getType

        String getType​(String name)
        Deprecated.
        返回列表中属性的类型(按名称)。

        返回值与getType(int)的返回值相同。

        如果属性名称在文档中具有名称空间前缀,则应用程序必须在此处包含前缀。

        参数
        name - 属性的名称。
        结果
        属性类型为字符串,如果不存在此类属性,则为null。
        另请参见:
        getType(int)
      • getValue

        String getValue​(String name)
        Deprecated.
        返回列表中属性的值(按名称)。

        返回值与getValue(int)的返回值相同。

        如果属性名称在文档中具有名称空间前缀,则应用程序必须在此处包含前缀。

        参数
        name - 要返回的属性的名称
        结果
        属性值为字符串,如果不存在此属性,则为null。
        另请参见:
        getValue(int)