/usr/include/xercesc/dom/DOMText.hpp is in libxerces-c2-dev 2.8.0+deb1-2build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | #ifndef DOMText_HEADER_GUARD_
#define DOMText_HEADER_GUARD_
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* $Id: DOMText.hpp 568078 2007-08-21 11:43:25Z amassari $
*/
#include <xercesc/util/XercesDefs.hpp>
#include <xercesc/dom/DOMCharacterData.hpp>
XERCES_CPP_NAMESPACE_BEGIN
/**
* The <code>DOMText</code> interface inherits from <code>DOMCharacterData</code>
* and represents the textual content (termed character data in XML) of an
* <code>DOMElement</code> or <code>DOMAttr</code>. If there is no markup inside
* an element's content, the text is contained in a single object
* implementing the <code>DOMText</code> interface that is the only child of
* the element. If there is markup, it is parsed into the information items
* (elements, comments, etc.) and <code>DOMText</code> nodes that form the list
* of children of the element.
* <p>When a document is first made available via the DOM, there is only one
* <code>DOMText</code> node for each block of text. Users may create adjacent
* <code>DOMText</code> 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
* <code>normalize()</code> method on <code>DOMNode</code> merges any such
* adjacent <code>DOMText</code> objects into a single node for each block of
* text.
* <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>.
*/
class CDOM_EXPORT DOMText: public DOMCharacterData {
protected:
// -----------------------------------------------------------------------
// Hidden constructors
// -----------------------------------------------------------------------
/** @name Hidden constructors */
//@{
DOMText() {}
DOMText(const DOMText &other) : DOMCharacterData(other) {}
//@}
private:
// -----------------------------------------------------------------------
// Unimplemented constructors and operators
// -----------------------------------------------------------------------
/** @name Unimplemented operators */
//@{
DOMText & operator = (const DOMText &);
//@}
public:
// -----------------------------------------------------------------------
// All constructors are hidden, just the destructor is available
// -----------------------------------------------------------------------
/** @name Destructor */
//@{
/**
* Destructor
*
*/
virtual ~DOMText() {};
//@}
// -----------------------------------------------------------------------
// Virtual DOMText interface
// -----------------------------------------------------------------------
/** @name Functions introduced in DOM Level 1 */
//@{
/**
* Breaks this node into two nodes at the specified <code>offset</code>,
* keeping both in the tree as siblings. After being split, this node
* will contain all the content up to the <code>offset</code> point. A
* new node of the same type, which contains all the content at and
* after the <code>offset</code> 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 <code>offset</code> 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
* <code>0</code>.
* @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 <code>data</code>.
* <br>NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
* @since DOM Level 1
*/
virtual DOMText *splitText(XMLSize_t offset) = 0;
//@}
/** @name Functions introduced in DOM Level 3 */
//@{
/**
* Returns whether this text node contains whitespace in element content,
* often abusively called "ignorable whitespace". An implementation can
* only return <code>true</code> if, one way or another, it has access
* to the relevant information (e.g., the DTD or schema).
*
* <p><b>"Experimental - subject to change"</b></p>
*
* <br> This attribute represents the property [element content
* whitespace] defined in .
* @since DOM Level 3
*/
virtual bool getIsWhitespaceInElementContent() const = 0;
/**
* Returns all text of <code>DOMText</code> nodes logically-adjacent text
* nodes to this node, concatenated in document order.
*
* <p><b>"Experimental - subject to change"</b></p>
*
* @since DOM Level 3
*/
virtual const XMLCh* getWholeText() = 0;
/**
* Substitutes the a specified text for the text of the current node and
* all logically-adjacent text nodes.
*
* <p><b>"Experimental - subject to change"</b></p>
*
* <br>This method returns the node in the hierarchy which received the
* replacement text, which is null if the text was empty or is the
* current node if the current node is not read-only or otherwise is a
* new node of the same type as the current node inserted at the site of
* the replacement. All logically-adjacent text nodes are removed
* including the current node unless it was the recipient of the
* replacement text.
* <br>Where the nodes to be removed are read-only descendants of an
* <code>DOMEntityReference</code>, the <code>DOMEntityReference</code> must
* be removed instead of the read-only nodes. If any
* <code>DOMEntityReference</code> to be removed has descendants that are
* not <code>DOMEntityReference</code>, <code>DOMText</code>, or
* <code>DOMCDATASection</code> nodes, the <code>replaceWholeText</code>
* method must fail before performing any modification of the document,
* raising a <code>DOMException</code> with the code
* <code>NO_MODIFICATION_ALLOWED_ERR</code>.
* @param content The content of the replacing <code>DOMText</code> node.
* @return The <code>DOMText</code> node created with the specified content.
* @exception DOMException
* NO_MODIFICATION_ALLOWED_ERR: Raised if one of the <code>DOMText</code>
* nodes being replaced is readonly.
* @since DOM Level 3
*/
virtual DOMText* replaceWholeText(const XMLCh* content) = 0;
//@}
// -----------------------------------------------------------------------
// Non-standard extension
// -----------------------------------------------------------------------
/** @name Non-standard extension */
//@{
/**
* Non-standard extension
*
* Return true if this node contains ignorable whitespaces only.
* @return True if this node contains ignorable whitespaces only.
*/
virtual bool isIgnorableWhitespace() const = 0;
//@}
};
XERCES_CPP_NAMESPACE_END
#endif
|