- すべてのスーパー・インタフェース:
CharacterData
,Node
- 既知のすべてのサブインタフェース:
CDATASection
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
-
メソッドのサマリー
修飾子と型メソッド説明このノードに論理的に隣接するテキスト・ノードであるText
ノードのすべてのテキストを文書の順に連結して返します。boolean
このテキスト・ノードが要素コンテンツ空白文字 (多くの場合、「無視できる空白文字」と呼ばれる)を含むかどうかを返します。replaceWholeText
(String content) 現在のノードと論理的に隣接するすべてのテキスト・ノードのテキストを、指定されたテキストに置き換えます。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
このノードを、指定されたoffset
位置で2つのノードに分割し、それらを兄弟ノードとしてツリー内に保存します。 分割されたあと、このノードにはoffset
位置までのすべてのコンテンツが含まれます。offset
位置とそれよりあとにあるすべてのコンテンツを含む、同じ型の新しいノードが返されます。 元のノードが親ノードを持っていた場合、元のノードの隣に兄弟ノードとして新しいノードが挿入されます。offset
がこのノードの長さに等しい場合、新しいノードはデータを持ちません。- パラメータ:
offset
- 分割する位置を示す(0
から始まる) 16ビット単位のオフセット。- 戻り値:
- このノードと同じ型の新しいノード。
- 例外:
DOMException
- INDEX_SIZE_ERR: 指定されたoffsetが負であるか、またはdata
内の16ビット単位の数より大きい場合に発生します。
NO_MODIFICATION_ALLOWED_ERR: このノードが読取り専用の場合に発生します。
-
isElementContentWhitespace
boolean isElementContentWhitespace()このテキスト・ノードが要素コンテンツ空白文字 (多くの場合、「無視できる空白文字」と呼ばれる)を含むかどうかを返します。 文書をロード中に、あるいはDocument.normalizeDocument()
を使用中に検証が行われた場合に、テキスト・ノードは要素コンテンツに空白文字を含むかどうかを判定されます。- 導入されたバージョン:
- 1.5、DOMレベル3
-
getWholeText
String getWholeText()このノードに論理的に隣接するテキスト・ノードであるText
ノードのすべてのテキストを文書の順に連結して返します。
たとえば、次の例では、wholeText
は「bar」を含むText
ノード上で「barfoo」を返すのに対して、「foo」を含むText
ノード上では「barfoo」を返します。+-----+ | <p> | +-----+ /\ / \ /-----\ +-------+ | bar | | &ent; | \-----/ +-------+ | | /-----\ | foo | \-----/
図: barTextNode.wholeText値が「barfoo」- 導入されたバージョン:
- 1.5、DOMレベル3
-
replaceWholeText
現在のノードと論理的に隣接するすべてのテキスト・ノードのテキストを、指定されたテキストに置き換えます。 置換テキストの受け側でないかぎり、現在のノードを含めて、論理的に隣接するすべてのテキスト・ノードは削除されます。このメソッドは、置換テキストを受け取ったノードを返します。 返されるノードは次のとおりです。
- 置換テキストが空の文字列である場合は
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つが読取り専用の場合に発生します。- 導入されたバージョン:
- 1.5、DOMレベル3
- 置換テキストが空の文字列である場合は
-