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, 2014, Oracle and/or its affiliates. All rights reserved.