今回扱うメソッドは以下の3つです(一覧):
- getNamespaceForPrefix(String) : Namespace
- getNamespaceForURI(String) : Namespace
- getNamespacesForURI(String) : List
getNamespaceForPrefix(String) : Namespace
このメソッドは、引数の文字列を接頭辞とする名前空間を返します。 このメソッドの振る舞いは以下のようになります:
以下の XML 文書
<parent xmlns:a="ns-a"> <child xmlns:b="ns-b"/> </parent>
の <child> 要素に対してこのメソッドを呼び出すと、以下のような Namespace オブジェクトが返されます:
- getNamespaceForPrefix("b") → 名前空間 "ns-b"
- getNamespaceForPrefix("a") → 名前空間 "ns-a"
- getNamespaceForPrefix("c") → null
- getNamespaceForPrefix("") → NULL 名前空間 ""
getNamespaceForURI(String) : Namespace
このメソッドは、引数の文字列を名前空間 URI とする名前空間を返します。 このメソッドの振る舞いは以下のようになります:
- 対象要素に対応する名前空間が宣言されていれば、それを返す(複数宣言されていれば、いずれか1つが返される)
- 対象要素に対応する名前空間が宣言されていなければ祖先要素へ遡って名前空間を探す(複数宣言されていれば、いずれか1つが返される)
- 祖先要素にも対応する名前空間がなければ null を返す
以下の XML 文書
<parent xmlns:a="ns-a"> <child xmlns:b="ns-b"/> </parent>
の <child> 要素に対してこのメソッドを呼び出すと、以下のような Namespace オブジェクトが返されます:
- getNamespaceForURI("ns-b") → 名前空間 "ns-b"
- getNamespaceForURI("ns-a") → 名前空間 "ns-a"
- getNamespaceForURI("ns-c") → null
- getNamespaceForURI("") → NULL 名前空間 ""
getNamespacesForURI(String) : List
このメソッドは、引数の文字列を名前空間 URI とする名前空間のリストを返します。 このメソッドは、対象要素に対応する名前空間が宣言されていなくても祖先要素へ遡って名前空間を探しません。 対応する名前空間がなければ 空リストを返します。
以下の XML 文書
<parent xmlns:a="ns"> <child xmlns:b="ns" xmlns:c="ns"/> </parent>
の <child> 要素に対してこのメソッドを呼び出すと、以下のような Namespace オブジェクトのリストが返されます: