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

Interface AttributeList

  • 所有已知实现类:
    AttributeListImpl

    已过时。
    该接口已被SAX2 Attributes接口所替代,其中包括Namespace支持。

    @Deprecated(since="1.5")
    public interface AttributeList
    元素属性规范的界面。
    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​()
        已过时。
        返回此列表中的属性数。

        SAX解析器可以以任意的顺序提供属性,而不管它们被声明或指定的顺序。 属性的数量可以为零。

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

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

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

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

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

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

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

        如果解析器没有读取该属性的声明,或者解析器不报告属性类型,那么它必须返回值为“CDATA”,如XML 1.0重新规定(第3.3.3节“属性值归一化” )。

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

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

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

        如果属性值是令牌列表(IDREFS,ENTITIES或NMTOKENS),令牌将被连接成一个以空格分隔的单个字符串。

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

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

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

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

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

        String getValue​(String name)
        已过时。
        返回列表中的属性值(按名称)。

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

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

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