共通 DOM API

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

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

public interface Text
extends CharacterData

Text インタフェースは CharacterData を継承して、Element または Attr のテキストによる内容 (XML では文字データと呼ばれる) を表します。要素の内容の中にマークアップがない場合は、テキストは要素の唯一の子である Text インタフェースを実装する単一のオブジェクトに含まれます。マークアップがある場合は、テキストは情報項目 (要素、コメントなど) として構文解析され、要素の子リストを形成する Text ノードとなります。

ドキュメントが DOM を介して最初に使用できるようになったときは、各テキストブロックに対してただ一つの Text ノードが存在します。ユーザは、特定の要素の内容を表す隣接 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: 指定されたオフセットが負の数であるか 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」を返します。

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

replaceWholeText

Text replaceWholeText(String content)
                      throws DOMException
現在のノードおよびこのノードに論理的に隣接するすべてのテキストノードのテキストを指定されたテキストに置換します。すべての論理的に隣接するテキストノードは、置換テキストの受け側でないかぎり、現在のノードを含め、削除されます。
このメソッドは置換テキストを受け取ったノードを返します。返されるノードは次のとおりです。
たとえば、上記の例で、「bar」を含む Text ノードで引数に「yo」を使って replaceWholeText を呼び出すと結果は次のようになります。
削除されるノードが EntityReference の読み取り専用の子孫の場合、読み取り専用のノードではなく EntityReference が削除される。削除される EntityReferenceEntityReferenceText、または CDATASection ノードではない子孫を持つ場合、replaceWholeText はドキュメントの変更を行う前に失敗し、NO_MODIFICATION_ALLOWED_ERR コードを含む DOMException を発生する
たとえば、下の例では、「bar」を含む TextreplaceWholeText を呼び出すと失敗する。その理由は EntityReference ノード「ent」が削除できない Element ノードを含むからである

パラメータ:
content - 置換している Text ノードの内容
戻り値:
指定した内容を使って作成された Text ノード
例外:
DOMException - NO_MODIFICATION_ALLOWED_ERR: 置換される Text ノードの 1 つが読み取り専用の場合に発生する
導入されたバージョン:
DOM Level 3

共通 DOM API

バグや機能要求の報告
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 2004 Sun Microsystems, Inc. 4150 Network Circle
Santa Clara, California, 95054, U.S.A. All Rights Reserved.