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, substringData
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
Text 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.