|
共通 DOM API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface Text
Text インタフェースは CharacterData を継承して、Element または Attr のテキストによる内容 (XML では文字データと呼ばれる) を表します。要素の内容の中にマークアップがない場合は、テキストは要素の唯一の子である Text インタフェースを実装する単一のオブジェクトに含まれます。マークアップがある場合は、テキストは情報項目 (要素、コメントなど) として構文解析され、要素の子リストを形成する Text ノードとなります。
ドキュメントが DOM を介して最初に使用できるようになったときは、各テキストブロックに対してただ一つの Text ノードが存在します。ユーザは、特定の要素の内容を表す隣接 Text ノードを、マークアップを介在させずに作成できます。ただし、これらのノード間の区別を XML または HTML で表す方法がないので、一般的には DOM 編集セッション間では持続しないことに注意する必要があります。Node.normalize() メソッドは、このような隣接 Text オブジェクトを各テキストブロックの単一のノードにマージします。
Text ノードの内容では字句チェックは行われません。このノードのドキュメントでの位置に応じて、直列化中に文字参照を使って一部の文字をエスケープする必要があります。エスケープする必要がある文字には、テキストの内容が要素または属性の一部である場合は「<&」文字。要素の一部の場合は文字シーケンス「]]>」。属性の一部の場合は引用符文字「"」またはアポストロフィ記号「'」などが挙げられます。
「Document Object Model (DOM) Level 3 Core Specification」も参照してください。
| フィールドの概要 |
|---|
| メソッドの概要 | |
|---|---|
String |
getWholeText()
Text ノードおよびこのノードに論理的に隣接するテキストノードのすべてのテキストをドキュメント順に連結して返します。 |
boolean |
isElementContentWhitespace()
このテキストノードに、要素内容の空白 (「無視できる空白」と誤って呼ばれる場合がある) があるかどうかを返します。 |
Text |
replaceWholeText(String content)
現在のノードおよびこのノードに論理的に隣接するすべてのテキストノードのテキストを指定されたテキストに置換します。 |
Text |
splitText(int offset)
指定した offset でこのノードを 2 つのノードに分割して、両方を兄弟としてツリー内に保持します。 |
| インタフェース org.w3c.dom.CharacterData から継承されたメソッド |
|---|
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData |
| メソッドの詳細 |
|---|
Text splitText(int offset)
throws DOMException
offset でこのノードを 2 つのノードに分割して、両方を兄弟としてツリー内に保持します。分割後、このノードは offset ポイントまでのすべての内容を保持します。offset とその後のすべての内容を含む同じ型の新しいノードが返されます。元のノードが親ノードを持っていた場合は、新しいノードが元ノードの次の兄弟として挿入されます。offset がこのノードと同じ長さの場合、新しいノードには何のデータもありません。
offset - 分割位置を示す 16 ビット単位のオフセット(ただし、0 から数える)
DOMException - INDEX_SIZE_ERR: 指定されたオフセットが負の数であるか data に格納されている16 ビット単位の個数よりも大きい場合に発生するboolean isElementContentWhitespace()
Document.normalizeDocument() を使用中に検証が発生した場合、テキストノードは要素内容に空白があるかどうかを判定されます。
String getWholeText()
Text ノードおよびこのノードに論理的に隣接するテキストノードのすべてのテキストをドキュメント順に連結して返します。Text ノードの wholeText は「barfoo」を返し、「foo」を含む Text ノードの wholeText は「barfoo」を返します。
Text replaceWholeText(String content)
throws DOMException
null。置換テキストが空の文字列の場合 Text または CDATASection) の新しい Text ノードText ノードで引数に「yo」を使って replaceWholeText を呼び出すと結果は次のようになります。EntityReference の読み取り専用の子孫の場合、読み取り専用のノードではなく EntityReference が削除される。削除される EntityReference が EntityReference、Text、または CDATASection ノードではない子孫を持つ場合、replaceWholeText はドキュメントの変更を行う前に失敗し、NO_MODIFICATION_ALLOWED_ERR コードを含む DOMException を発生する Text で replaceWholeText を呼び出すと失敗する。その理由は EntityReference ノード「ent」が削除できない Element ノードを含むからである
content - 置換している Text ノードの内容
Text ノード
DOMException - NO_MODIFICATION_ALLOWED_ERR: 置換される Text ノードの 1 つが読み取り専用の場合に発生する
|
共通 DOM API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||