インタフェースText
- すべてのスーパー・インタフェース:
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」も参照してください。
- 導入されたバージョン:
- 1.4、DOMレベル2
-
フィールドのサマリー
インタフェース 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修飾子と型フィールド説明static final shortノードはAttrです。static final shortノードはCDATASectionです。static final shortノードはCommentです。static final shortノードはDocumentFragmentです。static final shortノードはDocumentです。static final shortノードは参照ノードに含まれています。static final shortノードは参照ノードを含みます。static final short2つのノードは切断されます。static final shortノードは参照ノードのあとに続きます。static final short先行するかあとにくるかは実装に固有です。static final short2番目のノードは参照ノードの前にあります。static final shortノードはDocumentTypeです。static final shortノードはElementです。static final shortノードはEntityです。static final shortノードはEntityReferenceです。static final shortノードはNotationです。static final shortノードはProcessingInstructionです。static final shortノードはTextノードです。 -
メソッドのサマリー
修飾子と型メソッド説明このノードに論理的に隣接するテキスト・ノードであるTextノードのすべてのテキストを文書の順に連結して返します。booleanこのテキスト・ノードが要素コンテンツ空白文字 (多くの場合、「無視できる空白文字」と呼ばれる)を含むかどうかを返します。replaceWholeText(String content) 現在のノードと論理的に隣接するすべてのテキスト・ノードのテキストを、指定されたテキストに置き換えます。splitText(int offset) このノードを、指定されたoffset位置で2つのノードに分割し、それらを兄弟ノードとしてツリー内に保存します。インタフェースで宣言されたメソッド CharacterData
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData修飾子と型メソッド説明voidappendData(String arg) ノードの文字データの末尾に文字列を追加します。voiddeleteData(int offset, int count) ノードから指定範囲の16ビット単位を削除します。getData()このインタフェースを実装するノードの文字データです。int次のdataメソッドおよびsubstringDataメソッドを介して利用可能な16ビット単位の数。voidinsertData(int offset, String arg) 指定された16ビット単位のオフセットに文字列を挿入します。voidreplaceData(int offset, int count, String arg) 指定された文字列で、指定された16ビット単位のオフセット以降の文字を置き換えます。voidこのインタフェースを実装するノードの文字データです。substringData(int offset, int count) ノードから所定のデータ範囲を抽出します。インタフェース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修飾子と型メソッド説明appendChild(Node newChild) ノードnewChildをこのノードの子のリストの末尾に追加します。cloneNode(boolean deep) ノードのジェネリック・コピー・コンストラクタとして、このノードの複製を返します。shortcompareDocumentPosition(Node other) このメソッドが呼び出されている参照ノードを、パラメータとして渡されるノードと、文書内の位置に関して文書順に比較します。このノードがElementの場合、このノードの属性を含むNamedNodeMap。それ以外の場合はnull。このノードの絶対ベースURI。実装が絶対URIを取得できなかった場合はnull。このノードの子をすべて含むNodeList。getFeature(String feature, String version) このメソッドは、指定した機能とバージョンを持つ特殊な形式のAPIを指定されたとおりに実装する特殊な形式のオブジェクトを返します。このノードの最初の子ノードです。このノードの最後の子ノードです。このノードの修飾名のローカル部分を返します。このノードの名前空間URI。未指定の場合はnull。このノードの直後のノードです。このノードの名前です。この名前は型によって異なります。上記の表を参照してください。shortオブジェクトの型を表すコードです。上記の定義を参照してください。このノードの値です。この値は型によって異なります。前述の表を参照してください。このノードに関連付けられたDocumentオブジェクト。このノードの親ノードです。このノードの名前空間接頭辞です。未指定の場合はnullになります。このノードの直前のノードです。この属性は、指定されたノードとノードの子孫のテキスト・コンテンツを返します。getUserData(String key) このノードのキーに関連付けられたオブジェクトを取得します。booleanこのノードが要素である場合、属性を持っているかどうかを判断します。booleanこのノードが子ノードを持っているかどうかを判断します。insertBefore(Node newChild, Node refChild) 既存のrefChild子ノードの前にnewChildノードを挿入します。booleanisDefaultNamespace(String namespaceURI) このメソッドは、指定されたnamespaceURIがデフォルトの名前空間であるかどうかをチェックします。booleanisEqualNode(Node arg) 2つのノードが等しいかどうかをテストします。booleanisSameNode(Node other) このノードが指定されたノードと同じノードであるかどうかを返します。booleanisSupported(String feature, String version) DOM実装が特定の機能を実装しており、このノードがその機能を指定されたとおりにサポートしているかどうかを判定します。lookupNamespaceURI(String prefix) 指定したノードから開始して、所定の接頭辞に関連する名前空間URIを検索します。lookupPrefix(String namespaceURI) 指定されたノードから開始して、所定の名前空間URIに関連する接頭辞を検索します。voidこのNodeのサブツリーの最深部までに存在するすべてのTextノード(属性ノードを含む)を、Textノードが構造(要素、コメント、処理命令、CDATAセクション、エンティティ参照など)のみによって分離される、「正規」形式にします。その結果、隣接するTextノードも空のTextノードも存在しない状態になります。removeChild(Node oldChild) 子リストからoldChildで示される子ノードを削除し、この子ノードを返します。replaceChild(Node newChild, Node oldChild) 子リストの中の子ノードoldChildをnewChildで置き換え、oldChildノードを返します。voidsetNodeValue(String nodeValue) このノードの値です。この値は型によって異なります。前述の表を参照してください。voidこのノードの名前空間接頭辞です。未指定の場合はnullになります。voidsetTextContent(String textContent) この属性は、指定されたノードとノードの子孫のテキスト・コンテンツを返します。setUserData(String key, Object data, UserDataHandler handler) このノードのキーにオブジェクトを関連付けます。
-
メソッドの詳細
-
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
- 置換テキストが空の文字列である場合は
-