All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.w3c.dom.Text Maven / Gradle / Ivy

/*
 * Copyright (C) 2005 by Quentin Anciaux
 *
 * This library is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Library General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or (at your
 * option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
 * for more details.
 *
 * You should have received a copy of the GNU Library General Public License
 * along with this library; if not, write to the Free Software Foundation,
 * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 *	@author Quentin Anciaux
 */

package org.w3c.dom;

/**
 * The Text interface inherits from CharacterData and
 * represents the textual content (termed character data
 *  in XML) of an Element or Attr. If there is
 * no markup inside an element's content, the text is contained in a single
 * object implementing the Text interface that is the only child
 * of the element. If there is markup, it is parsed into the information items
 * (elements, comments, etc.) and Text nodes that form the list
 * of children of the element.
 * 
 * 

* When a document is first made available via the DOM, there is only one * Text node for each block of text. Users may create adjacent * Text nodes that represent the contents of a given element * without any intervening markup, but should be aware that there is no way to * represent the separations between these nodes in XML or HTML, so they will * not (in general) persist between DOM editing sessions. The * Node.normalize() method merges any such adjacent * Text objects into a single node for each block of text. *

* *

* No lexical check is done on the content of a Text node and, * depending on its position in the document, some characters must be escaped * during serialization using character references; e.g. the characters * "<&" if the textual content is part of an element or of an * attribute, the character sequence "]]>" when part of an element, the * quotation mark character " or the apostrophe character ' when part of an * attribute. *

* *

* See also the Document * Object Model (DOM) Level 3 Core Specification . *

*/ public interface Text extends CharacterData { /** * Breaks this node into two nodes at the specified offset, * keeping both in the tree as siblings. After being split, this node will * contain all the content up to the offset point. A new node * of the same type, which contains all the content at and after the * offset point, is returned. If the original node had a * parent node, the new node is inserted as the next sibling of the * original node. When the offset is equal to the length of * this node, the new node has no data. * * @param offset The 16-bit unit offset at which to split, starting from * 0. * * @return The new node, of the same type as this node. * * @exception DOMException INDEX_SIZE_ERR: Raised if the specified offset * is negative or greater than the number of 16-bit units in data.
* NO_MODIFICATION_ALLOWED_ERR: Raised if this node is * readonly. */ public Text splitText(int offset) throws DOMException; /** * Returns whether this text node contains * element content whitespace , often abusively called "ignorable * whitespace". The text node is determined to contain whitespace in * element content during the load of the document or if validation occurs * while using Document.normalizeDocument(). * * @return DOCUMENT ME! * * @since DOM Level 3 */ public boolean isElementContentWhitespace(); /** * Returns all text of Text nodes logically-adjacent text * nodes to this node, concatenated in document order.
* For instance, in the example below wholeText on the * Text node that contains "bar" returns "barfoo", while on * the Text node that contains "foo" it returns "barfoo". * * @return DOCUMENT ME! * * @since DOM Level 3 */ public String getWholeText(); /** * Replaces the text of the current node and all logically-adjacent text * nodes with the specified text. All logically-adjacent text nodes are * removed including the current node unless it was the recipient of the * replacement text.
* This method returns the node which received the replacement text. The * returned node is: * *
    *
  • * null, when the replacement text is the empty string; *
  • *
  • * the current node, except when the current node is read-only; *
  • *
  • * a new Text node of the same type (Text or * CDATASection) as the current node inserted at the location * of the replacement. *
  • *
* *
For instance, in the above example calling * replaceWholeText on the Text node that * contains "bar" with "yo" in argument results in the following:
* Where the nodes to be removed are read-only descendants of an * EntityReference, the EntityReference must be * removed instead of the read-only nodes. If any * EntityReference to be removed has descendants that are not * EntityReference,Text, or * CDATASection nodes, the replaceWholeText * method must fail before performing any modification of the document, * raising a DOMException with the code NO_MODIFICATION_ALLOWED_ERR.
* For instance, in the example below calling * replaceWholeText on the Text node that * contains "bar" fails, because the EntityReference node * "ent" contains an Element node which cannot be removed. * * @param content The content of the replacing Text node. * * @return The Text node created with the specified content. * * @exception DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if one of * the Text nodes being replaced is readonly. * * @since DOM Level 3 */ public Text replaceWholeText(String content) throws DOMException; }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy