org.xml.sax

接口
异常
所有已知实现类:
AttributeListImpl

已过时。  此接口已经被 SAX2 Attributes 接口取代,后者包括名称空间支持。

public interface AttributeList

用于元素的属性规范的接口。

此模块(包括源代码和文档)在公共域中,同时 没有担保有关更多信息,请参阅 http://www.saxproject.org

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

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

属性列表只包括已经指定的或默认的属性:#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");
   [...]
 }
 

从以下版本开始:
SAX 1.0
另请参见:
startElement, AttributeListImpl

方法摘要
 int getLength()
          已过时。 返回此列表中属性的个数。
 String getName(int i)
          已过时。 返回此列表中属性的名称(根据位置)。
 String getType(int i)
          已过时。 返回列表中属性的类型(根据位置)。
 String getType(String name)
          已过时。 返回列表中属性的类型(根据名称)。
 String getValue(int i)
          已过时。 返回列表中属性的值(根据位置)。
 String getValue(String name)
          已过时。 返回列表中属性的值(根据名称)。
 

方法详细信息

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" 或 "NOTATION"(始终用大写字母)。

如果解析器尚未读取属性的声明,或者解析器没有报告属性类型,则必须返回值 "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)