今回は
- declaredNamespaces()
- additionalNamespaces()
の2つのメソッドを見ていきます(一覧)。
まず、以降で参照する XML 文書(の断片)を載せておきます:
<a xmlns="ns" xmlns:p1="ns1" xmlns:p2="ns2"/> <b xmlns:p1="ns1" xmlns:p2="ns2"/>
Element#declaredNamespaces() : List
このメソッドは、対象要素に宣言されている名前空間のリストを返します。 返り値のリストに含まれているオブジェクトは org.dom4j.Namespace オブジェクトです。 また、祖先要素に宣言されている名前空間は、このリストには含まれません。
上記のサンプルでは
- <a> 要素 → ["ns", "ns1", "ns2"]
- <b> 要素 → ["ns1", "ns2"]
という Namespace オブジェクトのリストが返されます。
Element#additionalNamespaces() : List
このメソッドは、対象要素に宣言されている名前空間のうち、要素名に使用されている名前空間を除いたものをリストとして返します。 このメソッドでも返り値のリストに含まれているオブジェクトは org.dom4j.Namespace オブジェクトです。 また、祖先要素に宣言されている名前空間は、このリストには含まれません。
上記のサンプルでは
- <a> 要素 → ["ns1", "ns2"]
- <b> 要素 → ["ns1", "ns2"]
という Namespace オブジェクトのリストが返されます。