- 已知的所有子接口:
-
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
接口,该接口不包含命名空间支持。除了命名空间支持外,它还添加了getIndex方法(如下所示)。
列表中属性的顺序是未指定的,并且会因实现而异。
- 自:
- 1.4, SAX 2.0
- 另请参阅:
-
Method Summary
Modifier and TypeMethodDescriptionint
通过XML限定(带前缀)名称查找属性的索引。int
通过命名空间名称查找属性的索引。int
返回列表中属性的数量。getLocalName
(int index) 通过索引查找属性的本地名称。getQName
(int index) 通过索引查找属性的XML限定(带前缀)名称。getType
(int index) 通过索引查找属性的类型。通过XML限定(带前缀)名称查找属性的类型。通过命名空间名称查找属性的类型。getURI
(int index) 通过索引查找属性的命名空间URI。getValue
(int index) 通过索引查找属性的值。通过XML限定(带前缀)名称查找属性的值。通过命名空间名称查找属性的值。
-
Method Details
-
getLength
int getLength()返回列表中属性的数量。一旦知道属性的数量,就可以遍历列表。
- 返回:
- 列表中属性的数量。
- 另请参阅:
-
getURI
通过索引查找属性的命名空间URI。- 参数:
-
index
- 属性索引(从零开始)。 - 返回:
- 命名空间URI,如果没有可用的URI则为空字符串,如果索引超出范围则为null。
- 另请参阅:
-
getLocalName
通过索引查找属性的本地名称。- 参数:
-
index
- 属性索引(从零开始)。 - 返回:
- 本地名称,如果未执行命名空间处理则为空字符串,如果索引超出范围则为null。
- 另请参阅:
-
getQName
通过索引查找属性的XML限定(带前缀)名称。- 参数:
-
index
- 属性索引(从零开始)。 - 返回:
- XML限定名称,如果没有可用的名称则为空字符串,如果索引超出范围则为null。
- 另请参阅:
-
getType
通过索引查找属性的类型。属性类型是字符串“CDATA”、“ID”、“IDREF”、“IDREFS”、“NMTOKEN”、“NMTOKENS”、“ENTITY”、“ENTITIES”或“NOTATION”(始终大写)之一。
如果解析器尚未读取属性的声明,或者解析器不报告属性类型,则必须返回值“CDATA”,如XML 1.0建议中所述(第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。
-