001/* 002 * Copyright (c) 2000 World Wide Web Consortium, 003 * (Massachusetts Institute of Technology, Institut National de 004 * Recherche en Informatique et en Automatique, Keio University). All 005 * Rights Reserved. This program is distributed under the W3C's Software 006 * Intellectual Property License. This program is distributed in the 007 * hope that it will be useful, but WITHOUT ANY WARRANTY; without even 008 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 009 * PURPOSE. 010 * See W3C License http://www.w3.org/Consortium/Legal/ for more details. 011 */ 012 013package org.w3c.dom; 014 015/** 016 * The <code>Text</code> interface inherits from <code>CharacterData</code> 017 * and represents the textual content (termed character data in XML) of an 018 * <code>Element</code> or <code>Attr</code>. If there is no markup inside 019 * an element's content, the text is contained in a single object 020 * implementing the <code>Text</code> interface that is the only child of 021 * the element. If there is markup, it is parsed into the information items 022 * (elements, comments, etc.) and <code>Text</code> nodes that form the list 023 * of children of the element. 024 * <p>When a document is first made available via the DOM, there is only one 025 * <code>Text</code> node for each block of text. Users may create adjacent 026 * <code>Text</code> nodes that represent the contents of a given element 027 * without any intervening markup, but should be aware that there is no way 028 * to represent the separations between these nodes in XML or HTML, so they 029 * will not (in general) persist between DOM editing sessions. The 030 * <code>normalize()</code> method on <code>Node</code> merges any such 031 * adjacent <code>Text</code> objects into a single node for each block of 032 * text. 033 * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>. 034 */ 035public interface Text extends CharacterData { 036 /** 037 * Breaks this node into two nodes at the specified <code>offset</code>, 038 * keeping both in the tree as siblings. After being split, this node 039 * will contain all the content up to the <code>offset</code> point. A 040 * new node of the same type, which contains all the content at and 041 * after the <code>offset</code> point, is returned. If the original 042 * node had a parent node, the new node is inserted as the next sibling 043 * of the original node. When the <code>offset</code> is equal to the 044 * length of this node, the new node has no data. 045 * @param offsetThe 16-bit unit offset at which to split, starting from 046 * <code>0</code>. 047 * @return The new node, of the same type as this node. 048 * @exception DOMException 049 * INDEX_SIZE_ERR: Raised if the specified offset is negative or greater 050 * than the number of 16-bit units in <code>data</code>. 051 * <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. 052 */ 053 public Text splitText(int offset) 054 throws DOMException; 055 056}