public interface Attributes
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.
此界面允许以三种不同的方式访问属性列表:
该列表将不包含声明为#IMPLIED但未在开始标记中指定的属性。 除非http://xml.org/sax/features/namespace-prefixes
功能设置为true (默认情况下为false ),否则它也不会包含用作命名空间声明(xmlns *)的http://xml.org/sax/features/namespace-prefixes
。 由于SAX2符合原始“XML中的命名空间”建议,因此通常不会给命名空间声明属性一个命名空间URI。
一些SAX2解析器可能支持使用可选的功能标志( http://xml.org/sax/features/xmlns-uris
)来请求这些属性被赋予URI,这符合后面的后向不兼容的修改版本。 (定义默认元素命名空间时,该属性的“本地名称”将是前缀,或“xmlns”)。对于可移植性,处理程序代码应始终解决该冲突,而不是要求可以更改该特征标记设置的解析器。
如果命名空间前缀的功能(见上文)为false ,则通过限定名称的访问可能不可用; 如果http://xml.org/sax/features/namespaces
功能为false ,则命名空间限定名称的访问可能不可用。
此接口将替换现在已弃用的SAX1 AttributeList
接口,该接口不包含命名空间支持。 除了支持Namespace,它还添加了getIndex方法(下面)。
列表中属性的顺序是未指定的,并且将根据实现而不同。
Modifier and Type | Method and Description |
---|---|
int |
getIndex(String qName)
通过XML合格(前缀)名称查找属性的索引。
|
int |
getIndex(String uri, String localName)
通过命名空间名称查找属性的索引。
|
int |
getLength()
返回列表中的属性数。
|
String |
getLocalName(int index)
通过索引查找属性的本地名称。
|
String |
getQName(int index)
通过索引查找属性的XML限定(前缀)名称。
|
String |
getType(int index)
通过索引查找属性的类型。
|
String |
getType(String qName)
通过XML合格(前缀)名称查找属性的类型。
|
String |
getType(String uri, String localName)
通过命名空间名称查找属性的类型。
|
String |
getURI(int index)
通过索引查找属性的Namespace URI。
|
String |
getValue(int index)
通过索引查找属性的值。
|
String |
getValue(String qName)
通过XML限定(前缀)名称查找属性的值。
|
String |
getValue(String uri, String localName)
通过命名空间名称查找属性的值。
|
int getLength()
一旦你知道属性的数量,你可以遍历列表。
getURI(int)
,
getLocalName(int)
,
getQName(int)
,
getType(int)
,
getValue(int)
String getURI(int index)
index
- 属性索引(从零开始)。
getLength()
String getLocalName(int index)
index
- 属性索引(从零开始)。
getLength()
String getQName(int index)
index
- 属性索引(从零开始)。
getLength()
String getType(int index)
属性类型是字符串“CDATA”,“ID”,“IDREF”,“IDREFS”,“NMTOKEN”,“NMTOKENS”,“ENTITY”,“ENTITIES”或“符号”(总是大写) 。
如果解析器没有读取属性的声明,或者解析器没有报告属性类型,那么它必须返回值为“CDATA”,如XML 1.0建议书(第3.3.3节“属性值归一化” )。
对于不是符号的枚举属性,解析器将将类型报告为“NMTOKEN”。
index
- 属性索引(从零开始)。
getLength()
String getValue(int index)
如果属性值是令牌列表(IDREFS,ENTITIES或NMTOKENS),令牌将被连接成一个字符串,每个令牌由单个空格分隔。
index
- 属性索引(从零开始)。
getLength()
int getIndex(String uri, String localName)
uri
- 名称空间URI,如果名称没有命名空间URI,则为空字符串。
localName
- 属性的本地名称。
int getIndex(String qName)
qName
- 合格(前缀)名称。
String getType(String uri, String localName)
有关可能的类型的描述,请参阅getType(int)
。
uri
- 名称空间URI,如果名称没有命名空间URI,则为空字符串。
localName
-
localName
的本地名称。
String getType(String qName)
有关可能的类型的描述,请参阅getType(int)
。
qName
- XML限定名称。
String getValue(String uri, String localName)
有关可能的值的说明,请参见getValue(int)
。
uri
- 名称空间URI,如果名称没有命名空间URI,则为空字符串。
localName
-
localName
的本地名称。
String getValue(String qName)
有关可能值的说明,请参阅getValue(int)
。
qName
- XML限定名称。