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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。