所有类


javax.xml.namespace
接口 NamespaceContext


public interface NamespaceContext

用于只读 XML 名称空间上下文处理的接口。

XML 名称空间具有以下属性:

  • 名称空间 URI:表示为将前缀绑定到的 URI 的名称空间名称。
  • 前缀:语法上,这是跟在名称空间声明中 XMLConstants.XMLNS_ATTRIBUTE ("xmlns") 之后的属性名称的一部分

示例:<element xmlns:prefix="http://Namespace-name-URI">

所有 get*(*) 方法都在名称空间 URI 和前缀解析的当前范围中进行操作。

注意,可以将名称空间 URI 绑定到当前范围中的 multiple 前缀。当多个 XMLConstants.XMLNS_ATTRIBUTE ("xmlns") 名称空间声明发生在同一 Start 标记中,并且引用同一名称空间 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
另请参见:
javax.XMLConstants for declarations of common XML values, XML Schema Part2: Datatypes, Namespaces in XML, Namespaces in XML Errata

方法摘要
 String getNamespaceURI(String prefix)
          获取绑定到当前范围中的前缀的名称空间 URI。
 String getPrefix(String namespaceURI)
          获取绑定到当前范围中名称空间 URI 的前缀。
 Iterator getPrefixes(String namespaceURI)
          获取绑定到当前范围中名称空间 URI 的所有前缀。
 

方法详细信息

getNamespaceURI

String getNamespaceURI(String prefix)

获取绑定到当前范围中的前缀的名称空间 URI。

当通过前缀请求名称空间 URI 时,下表为所有可能的前缀值描述了返回的名称空间 URI 值:

getNamespaceURI(prefix) 返回指定的前缀值
前缀参数 名称空间 URI 返回值
DEFAULT_NS_PREFIX ("") 当当前范围中不存在默认名称空间 URI 时,返回当前范围中的默认名称空间 URI 或 XMLConstants.NULL_NS_URI("")
bound prefix 绑定到当前范围中的前缀的名称空间 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

getPrefix

String getPrefix(String namespaceURI)

获取绑定到当前范围中名称空间 URI 的前缀。

要获取绑定到当前范围中名称空间 URI 的所有前缀,请使用 getPrefixes(String namespaceURI)

当通过名称空间 URI 请求前缀时,下表描述了针对所有名称空间 URI 值返回的前缀值:

getPrefix(namespaceURI) 返回指定的名称空间 URI 值
名称空间 URI 参数 返回的前缀值
<默认名称空间 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 的前缀

getPrefixes

Iterator getPrefixes(String namespaceURI)

获取绑定到当前范围中名称空间 URI 的所有前缀。

按任意与实现相关顺序返回 String 元素上的迭代器。

Iterator 可修改。即 remove() 方法将抛出 UnsupportedOperationException

当通过名称空间 URI 请求前缀时,下表描述了针对所有名称空间 URI 值返回的前缀值:

getPrefixes(namespaceURI) 返回指定的名称空间 URI 值
名称空间 URI 参数 返回的前缀值
绑定的名称空间 URI,包括 <默认名称空间 URI> 前缀上的 Iterator,以任意与实现相关顺序绑定到当前范围中的名称空间 URI
未绑定的名称空间 URI Iterator
XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace") 一个元素设置为 XMLConstants.XML_NS_PREFIX ("xml") 的 Iterator
XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/") 一个元素设置为 XMLConstants.XMLNS_ATTRIBUTE ("xmlns") 的 Iterator
null IllegalArgumentException 被抛出

参数:
namespaceURI - 要查找的名称空间的 URI
返回:
用于绑定到当前范围中名称空间 URI 的所有前缀的 Iterator

所有类

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部