- 所有已知的子接口:
Attributes2
- 所有已知的实现类:
Attributes2Impl
,AttributesImpl
此接口允许以三种不同方式访问属性列表:
- 按属性索引;
- 通过命名空间限定名称;或者
- 通过限定(前缀)名称。
该列表将不包含声明为#IMPLIED 但未在开始标记中指定的属性。它也不会包含用作命名空间声明 (xmlns*) 的属性,除非 http://xml.org/sax/features/namespace-prefixes
功能设置为true(这是false默认情况下)。因为 SAX2 符合最初的“XML 中的命名空间”建议,所以它通常不会为命名空间声明属性提供命名空间 URI。
某些 SAX2 解析器可能支持使用可选功能标志 (http://xml.org/sax/features/xmlns-uris
) 来请求为这些属性提供 URI,以符合该建议的后向不兼容修订版。 (属性的“本地名称”将是前缀,或者在定义默认元素名称空间时为“xmlns”。)为了可移植性,处理程序代码应始终解决该冲突,而不是要求解析器可以更改该功能标志的设置。
如果名称空间前缀功能(见上文)是false, 可能无法通过限定名称进行访问;如果http://xml.org/sax/features/namespaces
特征是false, 命名空间限定名称的访问可能不可用。
该接口取代了现已弃用的 SAX1 AttributeList
接口,后者不包含命名空间支持。除了命名空间支持外,它还添加了获取索引方法(下)。
列表中属性的顺序是未指定的,并且会因实现而异。
- 自从:
- 1.4, SAX 2.0
- 参见:
-
方法总结
修饰符和类型方法描述int
通过 XML 限定(前缀)名称查找属性的索引。int
通过命名空间名称查找属性的索引。int
返回列表中的属性数。getLocalName
(int index) 按索引查找属性的本地名称。getQName
(int index) 按索引查找属性的 XML 限定(前缀)名称。getType
(int index) 通过索引查找属性的类型。通过 XML 限定(前缀)名称查找属性的类型。按命名空间名称查找属性的类型。getURI
(int index) 按索引查找属性的命名空间 URI。getValue
(int index) 通过索引查找属性的值。通过 XML 限定(前缀)名称查找属性值。按命名空间名称查找属性值。
-
方法详情
-
getLength
int getLength()返回列表中的属性数。一旦知道属性的数量,就可以遍历列表。
- 返回:
- 列表中的属性数。
- 参见:
-
getURI
按索引查找属性的命名空间 URI。- 参数:
index
- 属性索引(从零开始)。- 返回:
- 命名空间 URI,如果没有可用的则为空字符串,如果索引超出范围则为 null。
- 参见:
-
getLocalName
按索引查找属性的本地名称。- 参数:
index
- 属性索引(从零开始)。- 返回:
- 本地名称,如果未执行命名空间处理,则为空字符串;如果索引超出范围,则为 null。
- 参见:
-
getQName
按索引查找属性的 XML 限定(前缀)名称。- 参数:
index
- 属性索引(从零开始)。- 返回:
- XML 限定名称,如果没有可用的,则为空字符串;如果索引超出范围,则为 null。
- 参见:
-
getType
通过索引查找属性的类型。属性类型是字符串“CDATA”、“ID”、“IDREF”、“IDREFS”、“NMTOKEN”、“NMTOKENS”、“ENTITY”、“ENTITIES”或“NOTATION”之一(始终为大写) .
如果解析器没有读取属性的声明,或者如果解析器没有报告属性类型,那么它必须返回值“CDATA”,如 XML 1.0 Recommendation 中所述(第 3.3.3 条,“属性值规范化” ).
对于不是表示法的枚举属性,解析器会将类型报告为“NMTOKEN”。
- 参数:
index
- 属性索引(从零开始)。- 返回:
- 属性的类型为字符串,如果索引超出范围则为 null。
- 参见:
-
getValue
通过索引查找属性的值。如果属性值是标记列表(IDREFS、ENTITIES 或 NMTOKENS),标记将连接成单个字符串,每个标记由一个空格分隔。
- 参数:
index
- 属性索引(从零开始)。- 返回:
- 作为字符串的属性值,如果索引超出范围则为 null。
- 参见:
-
getIndex
通过命名空间名称查找属性的索引。- 参数:
uri
- 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。localName
- 属性的本地名称。- 返回:
- 属性的索引,如果未出现在列表中,则为 -1。
-
getIndex
通过 XML 限定(前缀)名称查找属性的索引。- 参数:
qName
- 限定(前缀)名称。- 返回:
- 属性的索引,如果未出现在列表中,则为 -1。
-
getType
按命名空间名称查找属性的类型。有关可能类型的说明,请参阅
getType(int)
。- 参数:
uri
- 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。localName
- 属性的本地名称。- 返回:
- 作为字符串的属性类型,如果属性不在列表中或未执行命名空间处理,则为 null。
-
getType
通过 XML 限定(前缀)名称查找属性的类型。有关可能类型的说明,请参阅
getType(int)
。- 参数:
qName
- XML 限定名称。- 返回:
- 作为字符串的属性类型,如果属性不在列表中或限定名称不可用,则为 null。
-
getValue
按命名空间名称查找属性值。有关可能值的说明,请参见
getValue(int)
。- 参数:
uri
- 命名空间 URI,如果名称没有命名空间 URI,则为空字符串。localName
- 属性的本地名称。- 返回:
- 作为字符串的属性值,如果属性不在列表中,则为 null。
-
getValue
通过 XML 限定(前缀)名称查找属性值。有关可能值的说明,请参见
getValue(int)
。- 参数:
qName
- XML 限定名称。- 返回:
- 作为字符串的属性值,如果属性不在列表中或限定名称不可用,则为 null。
-