JavaTM 2 Platform
Standard Ed. 6

javax.xml.namespace
介面 NamespaceContext


public interface NamespaceContext

用於只讀 XML 名稱空間上下文處理的介面。

XML 名稱空間具有以下屬性:

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

所有 get*(*) 方法都在名稱空間 URI 和前綴解析的當前範圍中進行操作。

注意,可以將名稱空間 URI 綁定到當前範圍中的多個 前綴。當多個 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>
 

只能將前綴綁定到當前範圍中的單個 名稱空間 URI。

從以下版本開始:
1.5
另請參見:
有關公共 XML 值的宣告,請參見 javax.xml.XMLConstants, 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;如果不存在,則返回 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 調用 getPrefix(namespaceURI) 的返回值
名稱空間 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 的前綴
拋出:
IllegalArgumentException - 當 namespaceURInull

getPrefixes

Iterator getPrefixes(String namespaceURI)

獲取綁定到當前範圍中名稱空間 URI 的所有前綴。

按任意與實作相關順序返回 String 元素上的迭代器。

Iterator 可修改。例如 remove() 方法將拋出 UnsupportedOperationException

當通過名稱空間 URI 請求前綴時,下表描述了針對所有名稱空間 URI 值返回的前綴值:

對指定的名稱空間 URI 調用 getPrefixes(namespaceURI) 的返回值
名稱空間 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
拋出:
IllegalArgumentException - 當 namespaceURInull

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only