|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Attr インタフェースは、Element オブジェクトの属性の 1 つです。通常、属性の許容値は文書タイプ定義に定義されています。
Attr オブジェクトは Node インタフェースを継承していますが、自身が記述する要素の子ノードにはなっていません。このため、DOM では、文書ツリーの一部とは見なされません。Node 属性である parentNode、previousSibling、nextSibling の Attr オブジェクトの値は null になります。DOM では、属性は、それらが関連付けられている要素から独立した存在ではなく、こうした要素のプロパティであると見なされます。このような観点から、属性の機能は、所定の型を持つすべての要素に関連付けられたデフォルト属性として、いっそう効率的に実装されることになります。また、Attr ノードは DocumentFragment の直接の子ノードにはならないものの、DocumentFragment 内の Element ノードに関連付けることが可能です。ユーザと DOM の実装者は、Attr ノードが Node インタフェースを継承するその他のオブジェクトと共通点を持っているだけであって、それらとはまったく別物であることに注意する必要があります。
以下では、属性の実効値の特定方法について説明します。属性に何らかの値が明示的に割り当てられていれば、その値が属性の実効値になります。属性の宣言が存在し、そこにデフォルト値が含まれていれば、そのデフォルト値が属性の実効値になります。それ以外の場合、構造モデルにおける現在の要素には属性が存在しません (明示的に追加する必要あり)。Attr インスタンス上の nodeValue 属性を使って、属性の値に相当する文字列を取得することもできます。
XML では、属性値にエンティティ参照が含まれている場合があります。このため、Attr ノードの子ノードは、Text ノードか EntityReference ノードになります (これらを使用する際は EntityReference の記述を参照して十分に審議のこと)。DOM Core は属性の型を認識せず、すべての属性値を単純な文字列として取り扱います。これは、属性が DTD やスキーマによって「トークン化型」として宣言されている場合も変わりません。
「Document Object Model (DOM) Level 2 Core Specification」を参照してください。
| フィールドの概要 |
| インタフェース org.w3c.dom.Node から継承したフィールド |
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE |
| メソッドの概要 | |
String |
getName()
この属性の名前を返します。 |
Element |
getOwnerElement()
この属性の接続先である Element ノード。 |
boolean |
getSpecified()
この属性に対して、元の文書内で明示的に値が割り当てられていれば true です。 |
String |
getValue()
取得時、属性値は文字列として返されます。 |
void |
setValue(String value)
取得時、属性値は文字列として返されます。 |
| インタフェース org.w3c.dom.Node から継承したメソッド |
appendChild, cloneNode, getAttributes, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasAttributes, hasChildNodes, insertBefore, isSupported, normalize, removeChild, replaceChild, setNodeValue, setPrefix |
| メソッドの詳細 |
public String getName()
public boolean getSpecified()
true です。それ以外の場合は false になります。この属性がユーザではなく実装に依存するという点に注意してください。ユーザが属性値を変更すると、変更後の値が最終的にデフォルト値と同じになったとしても、specified フラグは自動的に true を示します。属性を DTD のデフォルト値として指定しなおすには、いったん変更した属性値を削除しなければなりません。その後、実装によって新しい属性値が提供されます。この属性値は、デフォルト値が存在する場合はその値を備えており、その specified フラグは false を示しています。
specified は true となり、割り当てられている値が属性値になります。文書内では値が割り当てられていないが、DTD 内にデフォルト値が存在する場合、specified は false となり、そのデフォルト値が属性値になります。文書内で値が割り当てられておらず、DTD 内の値が #IMPLIED の場合、その属性は文書の構造モデル内に存在しません。ownerElement 属性が null の場合 (この属性が作成された直後は null、さまざまな削除および複製操作によって null に設定される場合もある)、specified は true になります。
public String getValue()
Element インタフェースの getAttribute メソッドを参照してください。
Text ノードを作成します。XML プロセッサによってマークアップとして認識されるすべての文字は、リテラルテキストとして取り扱われます。Element インタフェースの setAttribute メソッドを参照してください。
DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み取り専用の場合
public void setValue(String value)
throws DOMException
Element インタフェースの getAttribute メソッドを参照してください。
Text ノードを作成します。XML プロセッサによってマークアップとして認識されるすべての文字は、リテラルテキストとして取り扱われます。Element インタフェースの setAttribute メソッドを参照してください。
DOMException - NO_MODIFICATION_ALLOWED_ERR: ノードが読み取り専用の場合public Element getOwnerElement()
Element ノード。この属性が使用されていない場合は null
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||||
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.