|
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.