LOTUS DOMINO の XML
<elementExample id="demo"> <subelement1/> <subelement2><subsubelement/></subelement2>
</elementExample>
DOM を使用して表される場合は、"elementExample" のトップのノードは Element ノードです。これには、1 つは"subelement1" に対する子ノード、もう 1 つは "subelement2" に対する子ノードの 2 つの子 Element ノードが含まれます。"subelement1" には子ノードは含まれません。
要素にはそれらに関連した属性があります。これは Element インターフェースが Node を継承していて、包括的な Node インターフェースメソッドである getAttributes を使用して、要素のすべての属性を引き出せるからです。Element インターフェースにも、Attr オブジェクトまたは属性値を名前を使用して引き出すメソッドがあります。XML では、属性値にエンティティ参照が含まれる場合があるため、Attr オブジェクトを取り出して、属性値を表すかなり複雑なサブツリーを調べる必要があります。一方 HTML では、すべての属性が単純な文字列値を持っているので属性に直接アクセスするメソッドは、簡便に安全に使用できます。
メソッド
getAttribute
getAttributeNode
getElementsByTagName
getTagName
normalize
removeAttribute
removeAttributeNode
setAttribute
setAttributeNode
属性値を名前で取得します。
構文:
public java.lang.String getAttribute(java.lang.String name)
パラメータ
Attr ノードを名前で取得します。
public Attr getAttributeNode(java.lang.String name)
指定したタグ名を持つすべての下位要素の NodeList を、Element ツリーの先行順走査で検出される順に返します。
public NodeList getElementsByTagName(java.lang.String name)
要素名です。たとえば、次のようになります。<elementExample id="demo"> ...</elementExample> の中では tagName の値は "elementExample" です。XML では、他のすべての DOM 処理と同じく大文字と小文字が区別されます。HTML DOM では、元の HTML 文書が大文字小文字にかかわらず、標準の大文字の形で HTML の tagName が返されます。
public java.lang.String getTagName()
Element の下位にあるすべてのサブツリーの全 Text ノードを、「ノーマルな」形式にします。つまりマークアップのみ (例: タグ、コメント、処理命令、CDATA セクション、エンティティ参照) が Text ノードを区別します。Text ノード同士が隣り合うことはありません。この処理は、DOM による文書の参照が、文書が保存され再ロードされたときと同様に行われることを保証するために使用できます。これは (XPointer の検索のような) 特定の文書ツリー構造に依存する処理が行われるときに有用です。
public void normalize()
属性を名前で削除します。削除された属性がデフォルト値の場合はすぐに置換されます。
public void removeAttribute(java.lang.String name) throws DOMException
指定した属性を削除します。
public Attr removeAttributeNode(Attr oldAttr) throws DOMException
NOT_FOUND_ERR:oldAttr が要素の属性ではない場合に発生します。
新しい属性を追加します。同じ名前の属性がすでに要素内にある場合は、値がパラメータで指定した値に置換されます。この値は単純な文字列であり、設定されるときに解析されません。すべてのマークアップ (エンティティ参照として認識される構文など) はリテラル文字列として認識されます。書き出されるときには実装によって適切にエスケープされる必要があります。エンティティ参照を含む属性値を割り当てるには、Text と EntityReference ノードを含む Attr ノードを作成し、適切なサブツリーをビルドし、setAttributeNode を使用してそれを属性の値に割り当てます。
public void setAttribute(java.lang.String name, java.lang.String value) throws DOMException
value - 文字列形式に設定する値です。
NO_MODIFICATION_ALLOWED_ERR:ノードが読み込み専用の場合に発生します。
新しい属性を追加します。指定した名前の属性が要素内にすでにある場合は、新しい属性に置き換えられます。
public Attr setAttributeNode(Attr newAttr) throws DOMException
INUSE_ATTRIBUTE_ERR:newAttr が他の Element オブジェクトの属性である場合に発生します。DOM ユーザーは、Attr ノードを他の要素で再利用するときには、明示的にクローンを生成する必要があります。