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
- 次の名前空間 URI: QName
localPart
- 次のローカル部分: 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
- 次の名前空間 URI: QName
localPart
- 次のローカル部分: 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
、クラス: Object
objectToTest
- この QName
と等しいかどうかが判定される Object
Object
がこの QName
と等しい場合は true
、そうでない場合は false
Object.hashCode()
、HashMap
public final int hashCode()
この QName
のハッシュコードを生成します。
ハッシュコードは、QName
の名前空間 URI とローカル部分の両方を使用して計算されます。ハッシュコードの計算に接頭辞は使用されません。
このメソッドは Object.hashCode()
の汎用規約を満たします。
hashCode
、クラス: Object
QName
Object
のハッシュコード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
に対応する QName
IllegalArgumentException
- qNameAsString
が null
または不正である場合QName.toString()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.