LOTUS DOMINO の XML
Attr オブジェクトは Node インターフェースを継承しますが、オブジェクトは表現する要素の実際の子ノードではないため、DOM によって文書ツリーの一部とみなされません。このため Node 属性、parentNode、previousSibling、nextSibling は Attr オブジェクトに対して Null 値を持ちます。
DOM は、属性を要素のプロパティであるとみなします。関連している要素からの別々の ID を有しているとはみなしません。このため特定の型の要素すべてに関連するデフォルトの属性の仕様を実装することでより効率的になります。
さらに Attr ノードは DocumentFragment の直属の子ノードではない可能性があります。しかし DocumentFragment に含まれる Element ノードと関連を持つことができます。DOM のユーザーや実装を行うユーザーは、Attr ノードには Node インターフェースを継承しているほかのオブジェクトと共通点があっても、それらは別々のものであると認識する必要があります。
属性の有効値は次のように決定されます。ある属性が明示的に値を割り当てられていると、その値が属性の有効値になります。または、属性についての宣言があり、宣言にはデフォルト値が含まれている場合、デフォルト値が属性の有効値になります。これらのケース以外は、属性が明示的に追加されるまでは、属性は構造モデル内の要素にはないことになります。Attr インスタンスの nodeValue 属性は、属性値を文字列にしたものを取得するためにも使用できることに注意してください。
XML では、属性の値にエンティティ参照を含められます。Attr ノードの子ノードによって、エンティティ参照が展開されていない表現が利用できます。これらの子ノードは Text か EntityReference ノードです。属性のタイプは不明のためトークン化された属性値はありません。
メソッド
getName
getSpecified
getValue
setValue
この属性の名前を返します。
構文:
public java.lang.String getName()
この属性に元の文書で明示的に値が与えられた場合、true になります。それ以外は false になります。このメソッドを実装するかどうかはユーザーではなく属性に依ります。ユーザーが属性値を変更すると (デフォルト値と同じ値だったとしても) 指定されたフラグは自動的に true に変更されます。属性を DTD からのデフォルト値として指定し直すには、ユーザーは属性を削除しなければなりません。false に設定され、(デフォルト値があれば) デフォルト値のある新しい属性が、実装によって使用可能になります。
つまり、文書内で属性に割り当てられた値がある場合、getSpecified は true になり、値は割り当てられた値になります。文書内で属性に割り当てられた値がなく、DTD にデフォルト値がある場合、getSpecified は false になります。値は DTD のデフォルト値になります。文書内で属性に割り当てられた値がなく、DTD に #IMPLIED の値が定義されていると、属性は文書の構造モデルには表れません。
public boolean getSpecified()
取得時に、属性の値が文字列として返されます。文字と一般的なエンティティ参照は、それらの値で置き換えられます。設定では getValue は文字列の未解析の内容と共に Text ノードを生成します。
public java.lang.String getValue()
public void setValue(java.lang.String value)