Module  java.xml
软件包  javax.xml.namespace

Interface NamespaceContext



  • public interface NamespaceContext
    只读XML接口名称空间上下文处理。

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

    • 命名空间URI:命名空间名称,表示为前缀绑定到的URI
    • 前缀:在语法上,这是在命名空间声明中的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
    另请参见:
    javax.xml.XMLConstants for declarations of common XML valuesXML Schema Part2: DatatypesNamespaces in XMLNamespaces in XML Errata
    • 方法详细信息

      • getNamespaceURI

        String getNamespaceURI​(String prefix)
        获取命名空间URI绑定到当前作用域中的前缀。

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

        Return value for specified prefixes prefix parameter Namespace URI return value DEFAULT_NS_PREFIX ("") default Namespace URI in the current scope or XMLConstants.NULL_NS_URI("") when there is no default Namespace URI in the current scope bound prefix Namespace URI bound to prefix in current scope unbound prefix 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 is thrown
        参数
        prefix - 前缀查找
        结果
        命名空间URI绑定到当前作用域中的前缀
        异常
        IllegalArgumentException - prefixnull
      • getPrefix

        String getPrefix​(String namespaceURI)
        获取前缀绑定到当前作用域中的命名空间URI。

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

        当通过Namespace URI请求前缀时,下表描述了所有Namespace URI值返回的前缀值:

        Return value for specified Namespace URIs Namespace URI parameter prefix value returned <default Namespace URI> XMLConstants.DEFAULT_NS_PREFIX ("") bound Namespace URI prefix bound to Namespace URI in the current scope, if multiple prefixes are bound to the Namespace URI in the current scope, a single arbitrary prefix, whose choice is implementation dependent, is returned unbound Namespace 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 is thrown
        参数
        namespaceURI - 要查找的命名空间的URI
        结果
        前缀绑定到当前上下文中的命名空间URI
        异常
        IllegalArgumentException - namespaceURInull
      • getPrefixes

        Iterator getPrefixes​(String namespaceURI)
        获取绑定到当前作用域中的命名空间URI的所有前缀。

        一个迭代器上的String元素以任意的, 依赖实现的顺序返回。

        Iterator不可修改的。 比如remove()方法会抛出UnsupportedOperationException

        当通过Namespace URI请求前缀时,下表描述了所有Namespace URI值返回的前缀值:

        Return value for specified Namespace URIs Namespace URI parameter prefixes value returned bound Namespace URI, including the <default Namespace URI> Iterator over prefixes bound to Namespace URI in the current scope in an arbitrary, implementation dependent, order unbound Namespace URI empty Iterator XMLConstants.XML_NS_URI ("http://www.w3.org/XML/1998/namespace") Iterator with one element set to XMLConstants.XML_NS_PREFIX ("xml") XMLConstants.XMLNS_ATTRIBUTE_NS_URI ("http://www.w3.org/2000/xmlns/") Iterator with one element set to XMLConstants.XMLNS_ATTRIBUTE ("xmlns") null IllegalArgumentException is thrown
        参数
        namespaceURI - 要查找的命名空间的URI
        结果
        Iterator用于绑定到当前作用域中的命名空间URI的所有前缀
        异常
        IllegalArgumentException - 当 namespaceURInull