JavaTM Platform
Standard Ed. 6

org.w3c.dom
インタフェース Text

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

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」を参照してください。


フィールドの概要
 
インタフェース org.w3c.dom.Node から継承されたフィールド
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
メソッドの概要
 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
 
インタフェース org.w3c.dom.Node から継承されたメソッド
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

メソッドの詳細

splitText

Text splitText(int offset)
               throws DOMException
このノードを指定された offset 位置で 2 つのノードに分割し、兄弟ノードとしてツリー内に保存します。分割後、このノードは offset 位置までのすべてのコンテンツを持つことになります。offset 位置より後ろのすべてのコンテンツを含む同じ型の新しいノードが返されます。元のノードが親ノードを持っていた場合、元のノードの隣に兄弟ノードとして新しいノードが挿入されます。offset の値がこのノードの長さと等しい場合、新しいノードはデータを持ちません。

パラメータ:
offset - 分割位置を示す 16 ビット単位のオフセット。 0 から始まる
戻り値:
このノードと同じ型の新しいノード
例外:
DOMException - INDEX_SIZE_ERR:指定された offset の値が負の値であるか、 data 内の 16 ビット単位の数より大きい場合
NO_MODIFICATION_ALLOWED_ERR:このノードが読み取り専用の場合

isElementContentWhitespace

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

導入されたバージョン:
DOM Level 3

getWholeText

String getWholeText()
指定したノードに論理的に隣接するテキストノードである Text ノードのすべてのテキストを文書順に連結して返します。
以下の例では、「bar」を含む Text ノードの wholeText は「barfoo」を返し、一方、「foo」を含む Text ノードの wholeText は、「barfoo」が返されます。
                     +-----+
                     | <p> |
                     +-----+
                       /\
                      /  \
               /-----\    +-------+
               | bar |    | &ent; |
               \-----/    +-------+
                              |
                              |
                           /-----\
                           | foo |
                           \-----/
 
図: barTextNode.wholeText 値が「barfoo」

導入されたバージョン:
DOM Level 3

replaceWholeText

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

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

たとえば、前述の例で「bar」を含み、引数に「yo」を持つ TextreplaceWholeText を呼び出すと、次の結果を生じます。

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

削除されるノードが EntityReference ノードの読み取り専用の子孫である場合、読み取り専用のノードではなく、EntityReference ノードが削除されます。削除される EntityReferenceEntityReferenceText、あるいは CDATASection ノードではない子孫を持つ場合、replaceWholeText メソッドは、文書の変更を行う前に失敗し、NO_MODIFICATION_ALLOWED_ERR コードを含む DOMException をスローします。

たとえば、「bar」を含む Text ノードの replaceWholeText の呼び出しは失敗します。 これは、EntityReference ノード「ent」が、削除できない Element ノードを含むからです。

パラメータ:
content - 置換している Text ノードのコンテンツ
戻り値:
指定されたコンテンツで作成された Text ノード
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR:置換している Text ノードの中の 1 つが読み取り専用の場合
導入されたバージョン:
DOM Level 3

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。