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」も参照してください。
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 つのノードに分割し、それらを兄弟ノードとしてツリー内に保存します。 | 
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringDataappendChild, 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, setUserDataText splitText(int offset) throws DOMException
offset 位置で 2 つのノードに分割し、それらを兄弟ノードとしてツリー内に保存します。分割されたあと、このノードには offset 位置までのすべてのコンテンツが含まれます。offset 位置とそれよりあとにあるすべてのコンテンツを含む、同じ型の新しいノードが返されます。元のノードが親ノードを持っていた場合、元のノードの隣に兄弟ノードとして新しいノードが挿入されます。offset がこのノードの長さに等しい場合、新しいノードはデータを持ちません。offset - 分割する位置を示す (0 から始まる) 16 ビット単位のオフセット。DOMException - INDEX_SIZE_ERR: 指定された offset が負であるか、または data 内の 16 ビット単位の数より大きい場合に発生します。boolean isElementContentWhitespace()
Document.normalizeDocument() を使用中に検証が行われた場合に、テキストノードは要素コンテンツに空白文字を含むかどうかを判定されます。String getWholeText()
Text ノードのすべてのテキストを文書の順に連結して返します。wholeText は「bar」を含む Text ノード上で「barfoo」を返すのに対して、「foo」を含む Text ノード上では「barfoo」を返します。
 
                     +-----+
                     | <p> |
                     +-----+
                       /\
                      /  \
               /-----\    +-------+
               | bar |    | &ent; |
               \-----/    +-------+
                              |
                              |
                           /-----\
                           | foo |
                           \-----/
 
図: barTextNode.wholeText 値が「barfoo」Text replaceWholeText(String content) throws DOMException
このメソッドは、置換テキストを受け取ったノードを返します。返されるノードは次のとおりです。
null。
 Text または CDATASection) の新しい Text ノード。
 たとえば、上の例で、「bar」を含む Text ノード上で引数に「yo」を指定して replaceWholeText を呼び出すと、次のようになります。
                     +-----+
                     | <p> |
                     +-----+
                        |
                        |
                     /-----\
                     | yo  |
                     \-----/
 
図: barTextNode.replaceWholeText("yo") が barTextNode のテキストコンテンツを「yo」で変更
削除されるノードが EntityReference の読み取り専用の子孫である場合は、読み取り専用ノードの代わりに EntityReference が削除されます。削除されるいずれかの EntityReference が EntityReference、Text、または CDATASection ノードではない子孫を持つ場合、replaceWholeText メソッドは文書の何らかの変更を実行する前に失敗し、コード NO_MODIFICATION_ALLOWED_ERR の DOMException を発生させます。
たとえば、次の例では、「bar」を含む Text ノード上で replaceWholeText を呼び出すと、EntityReference ノード「ent」に削除できない Element ノードが含まれているために失敗します。
content - 置き換えている Text ノードのコンテンツ。Text ノード。DOMException - NO_MODIFICATION_ALLOWED_ERR: 置換している Text ノードの中の 1 つが読み取り専用の場合に発生します。 バグまたは機能を送信 
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.