インタフェースText

すべてのスーパー・インタフェース:
CharacterData, Node
既知のすべてのサブインタフェース:
CDATASection

public interface Text extends CharacterData
TextインタフェースはCharacterDataを継承し、ElementまたはAttrのテキスト形式の内容(XMLでは文字データという)を表します。 要 のコンテンツ内にマークアップが存在しない 合、テキストはTextインタフェースを実装する単一のオブジェクト(要 の唯一の子オブジェクト)に 納されます。 マークアップが存在する 合、テキストは情  目(要 、コメントなど)や、その要 の子要 のリストを形成するTextノードに解析されます。

DOMによって文書がはじめて利用可能な状態になった時点では、Textノードはテキスト・ブロックごとに1個ずつしか存在しません。 ユーザーはマークアップを一切使用しないで所定の要 のコンテンツを表す隣接Textノードを作成できますが、XMLやHTMLではこれらのノードの区切りを表現できないということ、つまり、通常、作成したノードはDOM編集セッションの終了とともに失われるということを認識しておく必要があります。 Node.normalize()メソッドは、こうした隣接Textオブジェクトを各テキスト・ブロック内の単一のノードにマージします。

Textノードの内容に対する字句のチェックは実行されないため、一部の文字は、文書内の位置に応じて、直列化中に文字参照を使用してエスケープする必要があります。たとえば、テキスト・コンテンツが要 または属性の一部である 合の文字「<&」、要 の一部である 合の文字シーケンス「]]>」、属性の一部である 合の引用符文字「"」またはアポストロフィ文字「'」などがあります。

Document Object Model (DOM) Level 3 Core Specification」も参照してく さい。

導入されたバージョン:
1.4、DOMレベル2
  • メソッドの詳細

    • splitText

      このノードを、指定されたoffset位置で2つのノードに分割し、それらを兄弟ノードとしてツリー内に保存します。 分割されたあと、このノードにはoffset位置までのすべてのコンテンツが含まれます。 offset位置とそれよりあとにあるすべてのコンテンツを含む、同じ型の新しいノードが返されます。 元のノードが親ノードを持っていた 合、元のノードの隣に兄弟ノードとして新しいノードが挿入されます。 offsetがこのノードの長さに等しい 合、新しいノードはデータを持ちません。
      パラメータ:
      offset - 分割する位置を示す(0から始まる) 16ビット単位のオフセット。
      戻り値:
      このノードと同じ型の新しいノード。
      スロー:
      DOMException - INDEX_SIZE_ERR: 指定されたoffsetが であるか、またはdata内の16ビット単位の数より大きい 合に発生します。
      NO_MODIFICATION_ALLOWED_ERR: このノードが読取り専用の 合に発生します。
    • isElementContentWhitespace

      boolean isElementContentWhitespace()
      このテキスト・ノードが要 コンテンツ空白文字 (多くの 合、「無視できる空白文字」と呼ばれる)を含むかどうかを返します。 文書をロード中に、あるいはDocument.normalizeDocument()を使用中に検証が行われた 合に、テキスト・ノードは要 コンテンツに空白文字を含むかどうかを判定されます。
      導入されたバージョン:
      1.5、DOMレベル3
    • getWholeText

      String getWholeText()
      このノードに論理的に隣接するテキスト・ノードであるTextノードのすべてのテキストを文書の に連結して返します。
      たとえば、次の例では、wholeTextは「bar」を含むTextノード上で「barfoo」を返すのに対して、「foo」を含むTextノード上では「barfoo」を返します。
                           +-----+
                           | <p> |
                           +-----+
                             /\
                            /  \
                     /-----\    +-------+
                     | bar |    | &ent; |
                     \-----/    +-------+
                                    |
                                    |
                                 /-----\
                                 | foo |
                                 \-----/
       
      図: barTextNode.wholeText値が「barfoo」
      導入されたバージョン:
      1.5、DOMレベル3
    • replaceWholeText

      現在のノードと論理的に隣接するすべてのテキスト・ノードのテキストを、指定されたテキストに置き換えます。 置換テキストの受け側でないかぎり、現在のノードを含めて、論理的に隣接するすべてのテキスト・ノードは削除されます。

      このメソッドは、置換テキストを受け取ったノードを返します。 返されるノードは次のとおりです。

      • 置換テキストが空の文字列である 合はnull
      • 現在のノードが読取り専用である 合を除く、現在のノード
      • 置換位置に挿入された現在のノードと同じ型(TextまたはCDATASection)の新しいTextノード。

      たとえば、上の例で、「bar」を含むTextノード上で引数に「yo」を指定してreplaceWholeTextを呼び出すと、次のようになります。

                           +-----+
                           | <p> |
                           +-----+
                              |
                              |
                           /-----\
                           | yo  |
                           \-----/
       
      図: barTextNode.replaceWholeText("yo")がbarTextNodeのテキスト・コンテンツを「yo」で変更

      削除されるノードがEntityReferenceの読取り専用の子孫である 合は、読取り専用ノードの代わりにEntityReferenceが削除されます。 削除されるいずれかのEntityReferenceEntityReferenceText、またはCDATASectionノードではない子孫を持つ 合、replaceWholeTextメソッドは文書の何らかの変更を実行する前に失敗し、コードNO_MODIFICATION_ALLOWED_ERRDOMExceptionを発生させます。

      たとえば、次の例では、「bar」を含むTextノード上でreplaceWholeTextを呼び出すと、EntityReferenceノード「ent」に削除できないElementノードが含まれているために失敗します。

      パラメータ:
      content - 置き換えているTextノードのコンテンツ。
      戻り値:
      指定されたコンテンツで作成されたTextノード。
      スロー:
      DOMException - NO_MODIFICATION_ALLOWED_ERR: 置換しているTextノードの中の1つが読取り専用の 合に発生します。
      導入されたバージョン:
      1.5、DOMレベル3