public interface NamespaceContext
用于只读XML命名空间上下文处理的接口。
XML命名空间具有以下属性:
- 命名空间URI:以URI表示的命名空间名称,前缀绑定到该URI
- 前缀:从Namespace声明中的
XMLConstants.XMLNS_ATTRIBUTE
("xmlns")之后的属性名称部分
示例:<element xmlns:prefix="http://Namespace-name-URI">
所有get*(*)
方法在命名空间URI和前缀解析的当前范围内操作。
请注意,命名空间URI可以绑定到当前范围内的多个前缀。当在同一起始标记中发生多个XMLConstants.XMLNS_ATTRIBUTE
("xmlns")命名空间声明并且引用相同的命名空间URI时,会发生这种情况。例如:
<element xmlns:prefix1="http://Namespace-name-URI"
xmlns:prefix2="http://Namespace-name-URI">
当在逻辑父元素层次结构中的多个XMLConstants.XMLNS_ATTRIBUTE
("xmlns")命名空间声明中使用相同的命名空间URI时,也会发生这种情况。例如。
<parent xmlns:prefix1="http://Namespace-name-URI">
<child xmlns:prefix2="http://Namespace-name-URI">
...
</child>
</parent>
在当前范围内,前缀只能绑定到一个单一命名空间URI。
- 自版本:
- 1.5
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptiongetNamespaceURI
(String prefix) 获取当前范围内与前缀绑定的命名空间URI。获取当前范围内与命名空间URI绑定的前缀。getPrefixes
(String namespaceURI) 获取当前范围内与命名空间URI绑定的所有前缀。
-
Method Details
-
getNamespaceURI
获取当前范围内与前缀绑定的命名空间URI。通过前缀请求命名空间URI时,以下表格描述了所有可能前缀值的返回命名空间URI值:
指定前缀的返回值 前缀参数 命名空间URI返回值 DEFAULT_NS_PREFIX
("")当前范围内的默认命名空间URI或 XMLConstants.NULL_NS_URI("")
绑定的前缀 当前范围内绑定到前缀的命名空间URI 未绑定的前缀 XMLConstants.NULL_NS_URI("")
XMLConstants.XML_NS_PREFIX
("xml")XMLConstants.XML_NS_URI
("http://www.w3.org/XML/1998/namespace")XMLConstants.XMLNS_ATTRIBUTE
("xmlns")XMLConstants.XMLNS_ATTRIBUTE_NS_URI
("http://www.w3.org/2000/xmlns/")null
抛出 IllegalArgumentException
- 参数:
-
prefix
- 要查找的前缀 - 返回:
- 当前范围内与前缀绑定的命名空间URI
- 抛出:
-
IllegalArgumentException
- 当prefix
为null
时
-
getPrefix
获取当前范围内与命名空间URI绑定的前缀。要获取当前范围内绑定到命名空间URI的所有前缀,请使用
getPrefixes(String namespaceURI)
。通过命名空间URI请求前缀时,以下表格描述了所有命名空间URI值的返回前缀值:
指定命名空间URI的返回值 命名空间URI参数 返回的前缀值 <default Namespace URI>
XMLConstants.DEFAULT_NS_PREFIX
("")绑定的命名空间URI 当前范围内绑定到命名空间URI的前缀,如果当前范围内有多个前缀绑定到命名空间URI,则返回一个任意的前缀,其选择取决于实现 未绑定的命名空间URI null
XMLConstants.XML_NS_URI
("http://www.w3.org/XML/1998/namespace")XMLConstants.XML_NS_PREFIX
("xml")XMLConstants.XMLNS_ATTRIBUTE_NS_URI
("http://www.w3.org/2000/xmlns/")XMLConstants.XMLNS_ATTRIBUTE
("xmlns")null
抛出 IllegalArgumentException
- 参数:
-
namespaceURI
- 要查找的命名空间的URI - 返回:
- 当前上下文中与命名空间URI绑定的前缀
- 抛出:
-
IllegalArgumentException
- 当namespaceURI
为null
时
-
getPrefixes
获取当前范围内与命名空间URI绑定的所有前缀。返回一个以任意、依赖于实现的顺序排列的String元素的迭代器。
迭代器
是不可修改的。例如,remove()
方法将抛出UnsupportedOperationException
。通过命名空间URI请求前缀时,以下表格描述了所有命名空间URI值的返回前缀值:
指定命名空间URI的返回值 命名空间URI参数 返回的前缀值 绑定的命名空间URI,包括 <default Namespace URI>
迭代器
,按任意、依赖于实现的顺序排列,绑定到当前范围内命名空间URI的前缀未绑定的命名空间URI 空的 迭代器
XMLConstants.XML_NS_URI
("http://www.w3.org/XML/1998/namespace")迭代器
,其中一个元素设置为XMLConstants.XML_NS_PREFIX
("xml")XMLConstants.XMLNS_ATTRIBUTE_NS_URI
("http://www.w3.org/2000/xmlns/")迭代器
,其中一个元素设置为XMLConstants.XMLNS_ATTRIBUTE
("xmlns")null
抛出 IllegalArgumentException
- 参数:
-
namespaceURI
- 要查找的命名空间的URI - 返回:
-
当前范围内与命名空间URI绑定的所有前缀的
迭代器
- 抛出:
-
IllegalArgumentException
- 当namespaceURI
为null
时
-