模块 java.xml

接口 NamespaceContext


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
参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    获取绑定到当前范围内前缀的命名空间 URI。
    getPrefix(String namespaceURI)
    获取当前范围内绑定到命名空间 URI 的前缀。
    getPrefixes(String namespaceURI)
    获取当前范围内绑定到命名空间 URI 的所有前缀。
  • 方法详情

    • getNamespaceURI

      String  getNamespaceURI(String  prefix)
      获取绑定到当前范围内前缀的命名空间 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 - 当 prefixnull
    • getPrefix

      String  getPrefix(String  namespaceURI)
      获取当前范围内绑定到命名空间 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 - 当 namespaceURInull
    • getPrefixes

      Iterator <String > getPrefixes(String  namespaceURI)
      获取当前范围内绑定到命名空间 URI 的所有前缀。

      String 元素上的 Iterator 以任意 implementation dependent 顺序返回。

      The Iterator is not modifiable. e.g. the remove() method will throw UnsupportedOperationException .

      当通过命名空间 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 - 当 namespaceURInull