关于WebService中用到的QName详解
| zh_cn |
QName 表示 XML 規(guī)范中定義的限定名稱(chēng):XML 模式第二部分:Datatypes specification、Namespaces in XML、Namespaces in XML 勘誤表。
QName 的值包含名稱(chēng)空間 URI、本地部分和前綴。
QName 中包括前綴,以保留詞匯信息(當(dāng)在 XML 輸入源中存在 時(shí))。前綴不 用于 QName.equals(Object) 或計(jì)算 QName.hashCode()。僅 使用名稱(chēng)空間 URI 和本地部分定義相等性和哈希碼。
如果沒(méi)有指定名稱(chēng)空間 URI,則將其設(shè)置為 XMLConstants.NULL_NS_URI。如果沒(méi)有指定前綴,則將其設(shè)置為 XMLConstants.DEFAULT_NS_PREFIX。
QName 是不可變的。
| version |
| |
| since | 1.5 | |
| See also | (UNLABELED), (UNLABELED), (UNLABELED) |
| public | QName(String namespaceURI, String localPart)
指定名稱(chēng)空間 URI 和本地部分的 QName 構(gòu)造方法。 如果名稱(chēng)空間 URI 為 null,則將它設(shè)置為 XMLConstants.NULL_NS_URI。此值表示非顯式定義的名稱(chēng)空間,在 Namespaces in XML 規(guī)范中定義。此操作保持了與 QName 1.0 兼容的行為。顯式提供 XMLConstants.NULL_NS_URI 值是首選的編碼風(fēng)格。 如果本地部分為 null,則拋出 IllegalArgumentException。允許 "" 的本地部分保持與 QName 1.0 的兼容行為。 當(dāng)使用此構(gòu)造方法時(shí),將前綴設(shè)置為 XMLConstants.DEFAULT_NS_PREFIX。 名稱(chēng)空間 URI 不根據(jù) URI 參考驗(yàn)證。沒(méi)有按 Namespaces in XML 中的指定將本地部分作為 NCName 來(lái)驗(yàn)證。
| |||||||||||||
| public | QName(String namespaceURI, String localPart, String prefix)
指定名稱(chēng)空間 URI、本地部分和前綴的 QName 構(gòu)造方法。 如果名稱(chēng)空間 URI 為 null,則將它設(shè)置為 XMLConstants.NULL_NS_URI。此值表示非顯式定義的名稱(chēng)空間,在 Namespaces in XML 規(guī)范中定義。此操作保持了與 QName 1.0 兼容的行為。顯式提供 XMLConstants.NULL_NS_URI 值是首選的編碼風(fēng)格。 如果本地部分為 null,則拋出 IllegalArgumentException。允許 "" 的本地部分保持與 QName 1.0 的兼容行為。 如果前綴為 null,則拋出 IllegalArgumentException。使用 XMLConstants.DEFAULT_NS_PREFIX 顯式指示不存在任何前綴或前綴是不相關(guān)的。 名稱(chēng)空間 URI 不根據(jù) URI 參考驗(yàn)證。沒(méi)有按 Namespaces in XML 中的指定將本地部分和前綴作為 NCName 來(lái)驗(yàn)證。
| |||||||||||||
| public | QName(String localPart)
指定本地部分的 QName 構(gòu)造方法。 如果本地部分為 null,則拋出 IllegalArgumentException。允許 "" 的本地部分保持與 QName 1.0 的兼容行為。 使用此構(gòu)造方法時(shí),將名稱(chēng)空間 URI 設(shè)置為 XMLConstants.NULL_NS_URI,并將前綴設(shè)置為 XMLConstants.DEFAULT_NS_PREFIX。 在 XML 上下文中,所有元素和屬性名稱(chēng)都存在于名稱(chēng)空間的上下文中。在構(gòu)造 QName 的過(guò)程中,使其顯式存在有助于避免診斷 XML 有效性錯(cuò)誤的難度。優(yōu)先使用構(gòu)造方法 QName(String namespaceURI, String localPart) 和 namespaceURI, String localPart, String prefix)。 沒(méi)有按 Namespaces in XML 中的指定將本地部分作為 NCName 來(lái)驗(yàn)證。
|
| final public boolean | equals(Object objectToTest)
測(cè)試此 QName 與另一個(gè) Object 的相等性。 如果要測(cè)試的 Object 不是 QName,或?yàn)?null,那么此方法返回 false。 當(dāng)且僅當(dāng)名稱(chēng)空間 URI 和本地部分相等時(shí),才認(rèn)為兩個(gè) QName 相等。此方法使用 String.equals() 檢查名稱(chēng)空間 URI 和本地部分的相等性。前綴不能 用于確定相等性。 此方法滿(mǎn)足 Object.equals(Object) 的常規(guī)協(xié)定。
| ||||||||||||
| final public int | hashCode()
生成此 QName 的哈希碼。 使用 QName 的名稱(chēng)空間 URI 和本地部分計(jì)算哈希碼。前綴不能 用于計(jì)算哈希碼。 此方法滿(mǎn)足 Object.hashCode() 的常規(guī)協(xié)定。
| ||||||||||||
| public String | toString()
此 QName 的 String 表示形式。 James Clark 定義了將 QName 表示為 String 的公認(rèn)方法。雖然這不是標(biāo)準(zhǔn) 規(guī)范,但其使用很頻繁,例如 name, Object value)。此實(shí)現(xiàn)將 QName 表示為:"{" + Namespace URI + "}" + 本地部分。如果名稱(chēng)空間 URI .equals(XMLConstants.NULL_NS_URI),則僅返回本地部分。此方法適用于調(diào)試或記錄人為消耗。 注:前綴值不能 作為 String 表示形式的一部分返回。 此方法滿(mǎn)足 Object.toString() 的常規(guī)協(xié)定。
| ||||||||||||
| public static QName | valueOf(String qNameAsString)
從解析格式化 String 中派生的 QName。 如果 String 為 null,或者不符合 QName.toString() 格式,則拋出 IllegalArgumentException。 String 必須 是 QName.toString() 返回的格式。 James Clark 定義了將 QName 表示為 String 的公認(rèn)方法。雖然這不是標(biāo)準(zhǔn) 規(guī)范,但其使用很頻繁,例如 name, Object value)。此實(shí)現(xiàn)將 String 解析為以下格式:"{" + Namespace URI + "}" + 本地部分。如果名稱(chēng)空間 URI .equals(XMLConstants.NULL_NS_URI),則僅提供本地部分。 不能 用 String 表示前綴值,并將它設(shè)置為 XMLConstants.DEFAULT_NS_PREFIX。 此方法不能完全驗(yàn)證生成的 QName。 名稱(chēng)空間 URI 不根據(jù) URI 參考驗(yàn)證。沒(méi)有按 Namespaces in XML 中的指定將本地部分作為 NCName 來(lái)驗(yàn)證。
|
| public String | getLocalPart()
獲取此 QName 的本地部分。
| ||||
| public String | getNamespaceURI()
獲取此 QName 的名稱(chēng)空間 URI。
| ||||
| public String | getPrefix()
獲取此 QName 的前綴。 分配給 QName 的前綴在其他上下文中可能無(wú) 效。例如,可以在解析文檔的上下文中為 QName 分配一個(gè)前綴,但是,該前綴可能在其他文檔的上下文中無(wú)效。
|
| About DocWeb · Bundles · Export · Export All | Top 10 · Statistics · Login |
總結(jié)
以上是生活随笔為你收集整理的关于WebService中用到的QName详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2023用干支怎么说
- 下一篇: 很小的青砖墓棺材大,没有墓碑