JavaTM 2 Platform
Standard Ed. 6

javax.xml.namespace
類別 QName

java.lang.Object
  繼承者 javax.xml.namespace.QName
所有已實作的介面:
Serializable

public class QName
extends Object
implements Serializable

QName 表示 XML 規範中定義的限定名稱XML 網要第二部分:Datatypes specificationNamespaces in XMLNamespaces in XML 勘誤表

QName 的值包含名稱空間 URI本地部分前綴

QName 中包括前綴,以保留詞彙資訊(當在 XML 輸入源存在 時)。前綴 用於 QName.equals(Object) 或計算 QName.hashCode() 使用名稱空間 URI 和本地部分定義相等性和雜湊碼。

如果沒有指定名稱空間 URI,則將其設置為 XMLConstants.NULL_NS_URI。如果沒有指定前綴,則將其設置為 XMLConstants.DEFAULT_NS_PREFIX

QName 是不可變的。

從以下版本開始:
1.5
另請參見:
XML 網要第二部分:Datatypes specification, Namespaces in XML, Namespaces in XML 勘誤表, 序列化表格

建構子摘要
QName(String localPart)
          指定本地部分的 QName 建構子。
QName(String namespaceURI, String localPart)
          指定名稱空間 URI 和本地部分的 QName 建構子。
QName(String namespaceURI, String localPart, String prefix)
          指定名稱空間 URI、本地部分和前綴的 QName 建構子。
 
方法摘要
 boolean equals(Object objectToTest)
          測試此 QName 與另一個 Object 的相等性。
 String getLocalPart()
          獲取此 QName 的本地部分。
 String getNamespaceURI()
          獲取此 QName 的名稱空間 URI。
 String getPrefix()
          獲取此 QName 的前綴。
 int hashCode()
          產生此 QName 的雜湊碼。
 String toString()
          此 QNameString 表示形式。
static QName valueOf(String qNameAsString)
          從解析格式化 String 中派生的 QName
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

QName

public QName(String namespaceURI,
             String localPart)

指定名稱空間 URI 和本地部分的 QName 建構子。

如果名稱空間 URI 為 null,則將它設置為 XMLConstants.NULL_NS_URI。此值表示非顯式定義的名稱空間,在 Namespaces in XML 規範中定義。此操作保持了與 QName 1.0 相容的行為。顯式提供 XMLConstants.NULL_NS_URI 值是首選的編碼樣式。

如果本地部分為 null,則拋出 IllegalArgumentException。允許 "" 的本地部分保持與 QName 1.0 的相容行為。

當使用此建構子時,將前綴設置為 XMLConstants.DEFAULT_NS_PREFIX

名稱空間 URI 不根據 URI 參考驗證。沒有按 Namespaces in XML 中的指定將本地部分作為 NCName 來驗證。

參數:
namespaceURI - QName 的名稱空間 URI
localPart - QName 的本地部分
拋出:
IllegalArgumentException - 當 localPartnull
另請參見:
QName(String namespaceURI, String localPart, String prefix)

QName

public QName(String namespaceURI,
             String localPart,
             String prefix)

指定名稱空間 URI、本地部分和前綴的 QName 建構子。

如果名稱空間 URI 為 null,則將它設置為 XMLConstants.NULL_NS_URI。此值表示非顯式定義的名稱空間,在 Namespaces in XML 規範中定義。此操作保持了與 QName 1.0 相容的行為。顯式提供 XMLConstants.NULL_NS_URI 值是首選的編碼樣式。

如果本地部分為 null,則拋出 IllegalArgumentException。允許 "" 的本地部分保持與 QName 1.0 的相容行為。

如果前綴為 null,則拋出 IllegalArgumentException。使用 XMLConstants.DEFAULT_NS_PREFIX 顯式指示不存在任何前綴或前綴是不相關的。

名稱空間 URI 不根據 URI 參考驗證。沒有按 Namespaces in XML 中的指定將本地部分和前綴作為 NCName 來驗證。

參數:
namespaceURI - QName 的名稱空間 URI
localPart - QName 的本地部分
prefix - QName 的前綴
拋出:
IllegalArgumentException - 當 localPartprefixnull

QName

public QName(String localPart)

指定本地部分的 QName 建構子。

如果本地部分為 null,則拋出 IllegalArgumentException。允許 "" 的本地部分保持與 QName 1.0 的相容行為。

使用此建構子時,將名稱空間 URI 設置為 XMLConstants.NULL_NS_URI,並將前綴設置為 XMLConstants.DEFAULT_NS_PREFIX

在 XML 上下文中,所有元素和屬性名稱都存在於名稱空間的上下文中。在建構 QName 的過程中,使其顯式存在有助於避免診斷 XML 有效性錯誤的難度。優先使用建構子 QName(String namespaceURI, String localPart)QName(String namespaceURI, String localPart, String prefix)

沒有按 Namespaces in XML 中的指定將本地部分作為 NCName 來驗證。

參數:
localPart - QName 的本地部分
拋出:
IllegalArgumentException - 當 localPartnull
另請參見:
QName(String namespaceURI, String localPart), QName(String namespaceURI, String localPart, String prefix)
方法詳細資訊

getNamespaceURI

public String getNamespaceURI()

獲取此 QName 的名稱空間 URI。

返回:
QName 的名稱空間 URI

getLocalPart

public String getLocalPart()

獲取此 QName 的本地部分。

返回:
QName 的本地部分

getPrefix

public String getPrefix()

獲取此 QName 的前綴。

分派給 QName 的前綴在其他上下文中可能 效。例如,可以在解析文檔的上下文中為 QName 分派一個前綴,但是,該前綴可能在其他文檔的上下文中無效。

返回:
QName 的前綴

equals

public final boolean equals(Object objectToTest)

測試此 QName 與另一個 Object 的相等性。

如果要測試的 Object 不是 QName,或為 null,那麼此方法返回 false

當且僅當名稱空間 URI 和本地部分相等時,才認為兩個 QName 相等。此方法使用 String.equals() 檢查名稱空間 URI 和本地部分的相等性。前綴不能 用於確定相等性。

此方法滿足 Object.equals(Object) 的常規協定。

覆寫:
類別 Object 中的 equals
參數:
objectToTest - 要測試與此 QName 相等性的 Object
返回:
如果給定的 Object 等於此 QName,則返回 true,否則返回 false
另請參見:
Object.hashCode(), Hashtable

hashCode

public final int hashCode()

產生此 QName 的雜湊碼。

使用 QName 的名稱空間 URI 和本地部分計算雜湊碼。前綴不能 用於計算雜湊碼。

此方法滿足 Object.hashCode() 的常規協定。

覆寫:
類別 Object 中的 hashCode
返回:
QName Object 的雜湊碼
另請參見:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()

QNameString 表示形式。

James Clark 定義了將 QName 表示為 String 的公認方法。雖然這不是標準 規範,但其使用很頻繁,例如 Transformer.setParameter(String name, Object value)。此實作將 QName 表示為:"{" + Namespace URI + "}" + 本地部分。如果名稱空間 URI .equals(XMLConstants.NULL_NS_URI),則僅返回本地部分。此方法適用於除錯或記錄人為消耗。

註:前綴值不能 作為 String 表示形式的一部分返回。

此方法滿足 Object.toString() 的常規協定。

覆寫:
類別 Object 中的 toString
返回:
QNameString 表示形式

valueOf

public static QName valueOf(String qNameAsString)

從解析格式化 String 中派生的 QName

如果 Stringnull,或者不符合 QName.toString() 格式,則拋出 IllegalArgumentException

String 必須QName.toString() 返回的格式。

James Clark 定義了將 QName 表示為 String 的公認方法。雖然這不是標準 規範,但其使用很頻繁,例如 Transformer.setParameter(String name, Object value)。此實作將 String 解析為以下格式:"{" + Namespace URI + "}" + 本地部分。如果名稱空間 URI .equals(XMLConstants.NULL_NS_URI),則僅提供本地部分。

不能String 表示前綴值,並將它設置為 XMLConstants.DEFAULT_NS_PREFIX

此方法不能完全驗證產生的 QName

名稱空間 URI 不根據 URI 參考驗證。沒有按 Namespaces in XML 中的指定將本地部分作為 NCName 來驗證。

參數:
qNameAsString - QNameString 表示形式
返回:
與給定 String 對應的 QName
拋出:
IllegalArgumentException - 當 qNameAsStringnull 或出錯時
另請參見:
QName.toString()

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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