Text
Text (요소·속성의 텍스트 콘텐츠)
Text 인터페이스는 CharacterData를 상속하며, Element나 Attr의 텍스트 콘텐츠(XML에서 character data라고 부름)를 나타내요.
본문
요소의 콘텐츠에 마크업이 없으면 텍스트는 Text 인터페이스를 구현하는 단일 객체에 담기고, 그 객체가 요소의 유일한 자식이 돼요. 마크업이 있다면 요소, 주석 등의 정보 항목과 Text 노드로 파싱되어 요소의 자식 목록을 이뤄요.
문서가 DOM을 통해 처음 제공될 때 텍스트 블록마다 Text 노드가 하나씩만 있어요. 사용자는 중간 마크업 없이 인접한 Text 노드를 만들 수 있지만, 이런 노드들 사이의 구분은 XML이나 HTML에서 표현할 방법이 없어서 일반적으로 DOM 편집 세션 사이에 유지되지 않아요. Node.normalize() 메서드는 인접한 Text 객체를 텍스트 블록마다 단일 노드로 병합해요.
Text 노드의 내용에는 어휘 검사가 수행되지 않으며, 문서 내 위치에 따라 일부 문자는 직렬화 중에 문자 참조로 이스케이프해야 해요.
splitText(int offset)는 지정된 오프셋에서 텍스트를 두 노드로 분리하고, getWholeText()는 노드에 논리적으로 인접한 모든 텍스트를 반환하며, replaceWholeText(String content)는 인접한 텍스트 노드를 교체해요. isElementContentWhitespace()는 요소 콘텐츠의 공백인지 확인해요.