倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

org.dom4j.Element に定義されている名前空間関連のメソッド (2)

今回は

  • 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 オブジェクトのリストが返されます。