[1] CharacterData
界面は、 Node
界面を継承し、文字データの操作に関わる機能を提供します。
この界面そのものは XML の節には対応せず、 この界面を継承した節界面を通して利用します。
なお、文字位置は 0
から数えます。
[8] CharacterData
インターフェイスは、
Node
インターフェイスを継承しています。
[10] CharacterData
インターフェイスは次のインターフェイスにより継承されています。
属性 | data | 文字データ | [DOM1] |
読取専用属性 | length | 文字データ長 | [DOM1] |
method | substringData | 文字データの一部を取出す | [DOM1] |
method | appendData | 文字データに付加 | [DOM1] |
method | insertData | 文字データを挿入 | [DOM1] |
method | deleteData | 文字データを削除 | [DOM1] |
method | replaceData | 文字データを置換 | [DOM1] |
[3] >>2 特定言語の作法に強く影響されている気がしないでもありませんが(w
CharacterData
は、任意の長さの文字列を扱えなければなりません。しかしながら、束縛によっては DOMString
で扱える長さの制限があって、よって data
属性で値全体を取出すことが出来ないかもしれません (その時は DOMSTRING_SIZE_ERR
例外が発生します)。そのような場合には、 substringData
method を使うように、と仕様書は言っています。offset
パラメーターを持ってますが、これは UTF-16 で表した時のオクテット列中の文字の位置 (16ビット1単位) です。だから DOMString
を勝手に UTF-8 とかにして実装すると、面倒なことになります。だから、言語中立なはずの界面としての DOM で CharacterData
は駄目すぎます。[12] Fix Web IDL extended attribute usage for recent changes (domenic著, ) <https://github.com/whatwg/dom/commit/f9ede86ea35753b40f6070352e2f150bc1bd2482>
Attr
インターフェイスと一部性質が似ているところもありますが、 継承関係にはありません。