JavaTM Platform
Standard Ed. 6

org.w3c.dom
인터페이스 Text

모든 슈퍼 인터페이스:
CharacterData , Node
기존의 서브 인터페이스의 일람:
CDATASection , Text


public interface Text
extends CharacterData

Text 인터페이스는 CharacterData 를 상속해,Element 또는 Attr 의 텍스트 형식의 내용 (XML 에서는문자 데이터라고 한다)을 나타냅니다. 요소의 컨텐츠내에 마크 업이 존재하지 않는 경우, 텍스트는 Text 인터페이스를 구현하는 단일의 객체 (요소의 유일한 아이 객체)에 포함됩니다. 마크 업이 존재하는 경우, 텍스트는 정보 항목 (요소, 코멘트등)이나, 그 요소의 아이 요소의 리스트를 형성하는 Text 노드에 해석됩니다.

DOM 에 의해 문서가 처음 이용 가능한 상태가 된 시점에서는,Text 노드는 텍스트 블록 마다 1 개씩 밖에 존재하지 않습니다. 사용자는 마크 업을 일절 사용하지 않고 주어진(given) 요소의 컨텐츠를 나타내는 인접 Text 노드를 작성할 수 있습니다만, XML 나 HTML 에서는 이러한 노드의 단락을 표현할 수 없다고 하는 것, 즉, 일반적으로, 작성한 노드는 DOM 편집 세션의 종료와 함께 없어진다고 하는 것을 인식해 둘 필요가 있습니다. Node.normalize() 메소드는, 이러한 인접 Text 객체를 각 텍스트 블록내의 단일의 노드에 머지 합니다.

Text 노드의 내용에 대해, 자구 구문 체크는 행해지지 않습니다. 문서내의 위치에 응해, 직렬화중에 일부의 문자를 문자 참조를 사용해 이스케이프 할 필요가 있습니다. 예: 텍스트 컨텐츠가 요소의 일부 또는 속성의 일부인 경우의 문자 「<&」, 텍스트 컨텐츠가 요소의 일부인 경우의 캐릭터 라인 「]]>」, 텍스트 컨텐츠가 속성의 일부인 경우의 인용부호 문자 「"」또는 apostrophe 문자 「'」

「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 비트 단위의 오프셋(offset). 0 으로부터 시작된다
반환값:
이 노드와 같은 형태의 새로운 노드
예외:
DOMException - INDEX_SIZE_ERR:지정된 offset 의 값이 0 보다 작은 값인지, 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」가 돌려주어집니다.
                     +-----+
                     | <p> |
                     +-----+
                       /\
                      /  \
               /-----\    +-------+
               | bar |    | &ent; |
               \-----/    +-------+
                              |
                              |
                           /-----\
                           | foo |
                           \-----/
 
그림: barTextNode.wholeText 치가 「barfoo」

도입된 버젼:
DOM Level 3

replaceWholeText

Text  replaceWholeText(String  content)
                      throws DOMException 
현재의 노드와 논리적으로 인접하는 모든 텍스트 노드의 텍스트를, 지정된 텍스트에 옮겨놓습니다. 치환 텍스트의 접수측이 아닌 한, 현재의 노드를 포함해, 논리적으로 인접하는 모든 텍스트 노드는 삭제됩니다.

이 메소드는, 치환 텍스트를 받은 노드를 돌려줍니다. 반환되는 노드는 다음과 같습니다.

예를 들어, 전술의 예로 「bar」를 포함해, 인수에 「yo」를 가지는 TextreplaceWholeText 를 호출하면(자), 다음의 결과를 일으킵니다.

                     +-----+
                     | <p> |
                     +-----+
                        |
                        |
                     /-----\
                     | yo  |
                     \-----/
 
그림: barTextNode.replaceWholeText("yo")가 barTextNode 의 텍스트 컨텐츠를 「yo」로 변경

삭제되는 노드가 EntityReference 노드의 읽기 전용의 자손인 경우, 읽기 전용의 노드는 아니고,EntityReference 노드가 삭제됩니다. 삭제되는 EntityReferenceEntityReference,Text, 혹은 CDATASection 노드가 아닌 자손을 가지는 경우,replaceWholeText 메소드는, 문서의 변경을 실시하기 전에 실패해,NO_MODIFICATION_ALLOWED_ERR 코드를 포함한 DOMException 를 throw 합니다.

예를 들어, 「bar」를 포함한 Text 노드의 replaceWholeText 의 호출은 실패합니다. 이것은,EntityReference 노드 「ent」가, 삭제할 수 없는 Element 노드를 포함하기 때문입니다.

파라미터:
content - 치환하고 있는 Text 노드의 컨텐츠
반환값:
지정된 컨텐츠로 작성된 Text 노드
예외:
DOMException - NO_MODIFICATION_ALLOWED_ERR:치환하고 있는 Text 노드안의 1 개(살)이 읽어내 전용의 경우
도입된 버젼:
DOM Level 3

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.