[1] DOM水準3 のメソッド setIdAttributeNS
などによって識別子であるとされた属性節点を利用者決定 ID 属性と言います。
[2] 仕様書:
[3] 利用者決定 ID 属性に指定・解除:
ある要素の識別子としてその要素のある属性を使うことを指示するためには、
その要素に対して setIdAttribute
系の3つのメソッドのいずれかにその属性の名前またはその属性節点を渡します。
各メソッドの isId
引数に true
を指定すれば利用者決定 ID 属性に指定され、 false
を指定すれば指定が解除されます。
[4] 利用者決定 ID 属性か否か判定:
ある属性がその所属する要素の識別子として使われるか否かは、
その属性の isId
属性により判断できます。
但し、利用者決定ID 属性であるのか DTD決定ID
属性等であるのかの区別はできません。
setIdAttribute
系メソッドで一旦指定を解除して
isId
でなくなるかを見れば利用者決定 ID 属性以外であるかどうかは分かりますが、
利用者決定 ID 属性かどうかはわかりません。
schemaTypeInfo
属性を辿って調べれば (面倒)、
DTD決定ID や schema決定ID かどうかは分かりますが、
利用者決定 ID 属性か外部決定 ID 属性かはわかりません。
2つの方法を組み合わせれば、一応利用者決定 ID 属性かどうか判断することはできなくはありません。
[5] DOM の利用者決定 ID 属性は、外部決定ID 属性と共に XPointer 的には外部決定ID として扱われます。
[6] DOM水準3では getElementById
は isId
属性を使います。従って、
利用者決定 ID 属性も getElementById
の判断材料になります。