Text インターフェイスは CharacterData を継承し、 Element または Attr の内容原文 (XML における 文字データ を言う)を表す。要素の内容の中にマークアップが存在しないならば、その要素の唯一の子である Text インターフェイスを実装する1個のオブジェクトの中に原文は含まれる。マークアップが存在するならば、それは要素の子のリストを形成する 情報項目 (要素・注釈・その他) 及び Text ノードに解析される。
文書がDOM経由で最初に利用可能になるとき、テキストの塊それぞれに一つずつ Text ノードが存在する。使用者は、間にマークアップを持たない隣接した Text ノードを生成して与えられた要素の内容を表現してもよいが、XMLやHTMLにこれらのノード間の分離を表現する方法がないということを知っておくべきである。したがって、DOM編集のセッション同士の間でそれが持続することは(一般には)ないだろう。 Node の normalize() メソッドは、テキストの塊それぞれについて、そのような任意の隣接する Text オブジェクトを1個のノードに併合する。
splitText( offset )指定した offset でこのノードを壊して2個のノードにし、 兄弟 としてツリー内にともに保持する。分割した後、このノードは offset 位置より前の内容全てを含む。新しいノードは同じ型で、 offset 位置とそれ以降の内容全てを含み、このノードが返される。元のノードが親を持つ場合、新しいノードは元のノードの次の 兄弟 として挿入される。 offset がこのノードの長さと等しい場合、新しいノードはデータを持たない。
0 から始まる。Text 型。このノードと同じ型の、新しいノード。
data 中の16ビット単位の数よりも大きい場合に発生。
interface Text : CharacterData {
Text splitText(in unsigned long offset)
raises(DOMException);
};