public interface NamespaceContext
用于只读 XML 命名空间上下文处理的接口。
XML 命名空间具有以下属性:
- 命名空间 URI:命名空间名称表示为前缀绑定到的 URI
- prefix:语法上,这是Namespace声明中
XMLConstants.XMLNS_ATTRIBUTE
(“xmlns”)后面的属性名部分
示例:<element xmlns:prefix="http://Namespace-name-URI">
所有 get*(*)
方法都在命名空间 URI 和前缀解析的当前范围内运行。
请注意,命名空间 URI 可以绑定到当前范围内的 multiple 前缀。当多个 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>
前缀只能绑定到当前范围内的 single 命名空间 URI。
- 自从:
- 1.5
- 参见:
-
方法总结
修饰符和类型方法描述getNamespaceURI
(String prefix) 获取绑定到当前范围内前缀的命名空间 URI。获取当前范围内绑定到命名空间 URI 的前缀。getPrefixes
(String namespaceURI) 获取当前范围内绑定到命名空间 URI 的所有前缀。
-
方法详情
-
getNamespaceURI
获取绑定到当前范围内前缀的命名空间 URI。当通过前缀请求命名空间 URI 时,下表描述了所有可能的前缀值的返回命名空间 URI 值:
指定前缀的返回值 前缀参数 命名空间 URI 返回值 DEFAULT_NS_PREFIX
("")当前作用域中的默认命名空间 URI 或当当前作用域中没有默认命名空间 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 元素上的 Iterator 以任意 implementation dependent 顺序返回。
The
Iterator
is not modifiable. e.g. theremove()
method will throwUnsupportedOperationException
.当通过命名空间 URI 请求前缀时,下表描述了所有命名空间 URI 值的返回前缀值:
指定命名空间 URI 的返回值 命名空间 URI 参数 前缀值返回 绑定命名空间 URI,包括 <default Namespace URI>
Iterator
over prefixes bound to Namespace URI in an arbitrary, implementation dependent, order未绑定命名空间 URI 空 Iterator
XMLConstants.XML_NS_URI
(“http://www.w3.org/XML/1998/namespace”)Iterator
其中一个元素设置为XMLConstants.XML_NS_PREFIX
("xml")XMLConstants.XMLNS_ATTRIBUTE_NS_URI
(“http://www.w3.org/2000/xmlns/”)Iterator
其中一个元素设置为XMLConstants.XMLNS_ATTRIBUTE
("xmlns")null
IllegalArgumentException
被抛出- 参数:
namespaceURI
- 要查找的命名空间的 URI- 返回:
Iterator
用于绑定到当前范围内命名空间 URI 的所有前缀- 抛出:
IllegalArgumentException
- 当namespaceURI
为null
-