JavaTM 2 Platform
Standard Ed. 5.0

javax.xml.namespace
接口 NamespaceContext


public interface NamespaceContext

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

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

示例:<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

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策