public class QName extends Object implements Serializable
QNameはXML仕様「XML Schema Part2: Datatypes specification」、「Namespaces in XML」、「Namespaces in XML Errata」に定義されている修飾名を表します。
QNameの値には名前空間URI、ローカル部分、接頭辞が含まれます。
XML input sourceに存在する場合に、QNameには字句情報を保持する接頭辞が含まれます。 QName.equals(Object)内、またはQName.hashCode()の計算には接頭辞は使用されません。 同一性およびハッシュ・コードは、名前空間URIおよびローカル部分のみを使用して定義されます。
名前空間URIを指定しない場合、XMLConstants.NULL_NS_URIに設定されます。 接頭辞を指定しない場合、XMLConstants.DEFAULT_NS_PREFIXに設定されます。
QNameは不変です。
| コンストラクタ | 説明 |
|---|---|
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() |
この
QNameのString表現です。 |
static QName |
valueOf(String qNameAsString) |
書式化された
Stringの解析によって得られる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 referenceとして検証されません。 また、ローカル部分は、「Namespaces in XML」で指定されているNCNameとして検証されません。
namespaceURI - QNameの名前空間URIlocalPart - QNameのローカル部分IllegalArgumentException - localPartがnullの場合QName(String namespaceURI, String localPart, String prefix)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 referenceとして検証されません。 ローカル部分および接頭辞は、「Namespaces in XML」で指定されているNCNameとして検証されません。
namespaceURI - QNameの名前空間URIlocalPart - QNameのローカル部分prefix - QNameの接頭辞IllegalArgumentException - localPartまたはprefixがnullの場合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 - localPartがnullの場合QName(String namespaceURI, String localPart), QName(String namespaceURI, String localPart, String prefix)public String getNamespaceURI()
このQNameの名前空間URIを取得します。
QNameの名前空間URIpublic String getLocalPart()
このQNameのローカル部分を取得します。
QNameのローカル部分public String getPrefix()
このQNameの接頭辞を取得します。
QNameに割り当てられる接頭辞は、別のコンテキストでは有効でない可能性があります。 たとえば、ドキュメントの構文解析のコンテキストで、QNameに接頭辞が割り当てられることがありますが、その接頭辞は別のドキュメントのコンテキストでは無効な場合があります。
QNameの接頭辞public final boolean equals(Object objectToTest)
このQNameが別のObjectと等しいかどうかを判定します。
判定するObjectがQNameでないか、nullの場合、このメソッドはfalseを返します。
2つのQNameは、両方の名前空間URIとローカル部分が等しい場合にのみ同じであるとみなされます。 このメソッドはString.equals()を使用して、名前空間URIとローカル部分が同じであるかチェックします。 同一性の判定に接頭辞は使用されません。
このメソッドはObject.equals(Object)の汎用規約を満たします
equals、クラスObjectobjectToTest - このQNameと等しいかどうかが判定されるObjectObjectがこのQNameと等しい場合はtrue、そうでない場合はfalseObject.hashCode()、HashMappublic final int hashCode()
このQNameのハッシュ・コードを生成します。
ハッシュ・コードは、QNameの名前空間URIとローカル部分の両方を使用して計算されます。 ハッシュ・コードの計算に接頭辞は使用されません。
このメソッドはObject.hashCode()の汎用規約を満たします。
hashCode、クラスObjectQNameObjectのハッシュ・コードObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String toString()
このQNameのString表現です。
QNameをStringとして表す一般に受け入れられている方法はJames Clarkによって定義されています。 これは標準仕様ではありませんが、一般に使用されています。たとえば、Transformer.setParameter(String name, Object value)などです。 この実装は、QNameを"{"+名前空間URI+"}"+ローカル部分で表します。 名前空間URI .equals(XMLConstants.NULL_NS_URI)の場合、ローカル部分のみが返されます。 このメソッドの適切な用途は、デバッグやユーザー用のロギングなどです。
接頭辞の値はString表現の一部として返されません。
このメソッドはObject.toString()の汎用規約を満たします。
public static QName valueOf(String qNameAsString)
書式化されたStringの解析によって得られるQNameです。
Stringがnull、またはQName.toString()形式に従っていない場合、IllegalArgumentExceptionがスローされます。
Stringは、QName.toString()によって返される形式である必要があります。
QNameをStringとして表す一般に受け入れられている方法はJames Clarkによって定義されています。 これは標準仕様ではありませんが、一般に使用されています。たとえば、Transformer.setParameter(String name, Object value)などです。 この実装は、"{"+名前空間URI+"}"+ローカル部分として書式化されたStringを構文解析します。 名前空間URI .equals(XMLConstants.NULL_NS_URI)の場合、ローカル部分のみを指定してください。
接頭辞値はStringで表せないため、XMLConstants.DEFAULT_NS_PREFIXに設定されます。
このメソッドは結果として得られるQNameを完全に検証しません。
名前空間URIは、URI referenceとして検証されません。 また、ローカル部分は、「Namespaces in XML」で指定されているNCNameとして検証されません。
qNameAsString - QNameのString表現Stringに対応するQNameIllegalArgumentException - qNameAsStringがnullまたは不正である場合QName.toString() バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。