00001 #ifndef IDCDATASectionImpl_HEADER_GUARD_ 00002 #define IDCDATASectionImpl_HEADER_GUARD_ 00003 /* 00004 * The Apache Software License, Version 1.1 00005 * 00006 * Copyright (c) 2001 The Apache Software Foundation. All rights 00007 * reserved. 00008 * 00009 * Redistribution and use in source and binary forms, with or without 00010 * modification, are permitted provided that the following conditions 00011 * are met: 00012 * 00013 * 1. Redistributions of source code must retain the above copyright 00014 * notice, this list of conditions and the following disclaimer. 00015 * 00016 * 2. Redistributions in binary form must reproduce the above copyright 00017 * notice, this list of conditions and the following disclaimer in 00018 * the documentation and/or other materials provided with the 00019 * distribution. 00020 * 00021 * 3. The end-user documentation included with the redistribution, 00022 * if any, must include the following acknowledgment: 00023 * "This product includes software developed by the 00024 * Apache Software Foundation (http://www.apache.org/)." 00025 * Alternately, this acknowledgment may appear in the software itself, 00026 * if and wherever such third-party acknowledgments normally appear. 00027 * 00028 * 4. The names "Xerces" and "Apache Software Foundation" must 00029 * not be used to endorse or promote products derived from this 00030 * software without prior written permission. For written 00031 * permission, please contact apache\@apache.org. 00032 * 00033 * 5. Products derived from this software may not be called "Apache", 00034 * nor may "Apache" appear in their name, without prior written 00035 * permission of the Apache Software Foundation. 00036 * 00037 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 00038 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00039 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00040 * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR 00041 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00042 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00043 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 00044 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00045 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00046 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 00047 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00048 * SUCH DAMAGE. 00049 * ==================================================================== 00050 * 00051 * This software consists of voluntary contributions made by many 00052 * individuals on behalf of the Apache Software Foundation, and was 00053 * originally based on software copyright (c) 2001, International 00054 * Business Machines, Inc., http://www.ibm.com . For more information 00055 * on the Apache Software Foundation, please see 00056 * <http://www.apache.org/>. 00057 */ 00058 00059 /* 00060 * $Id: IDCDATASectionImpl.hpp,v 1.1 2002/05/11 20:05:49 bhavani Exp $ 00061 */ 00062 00063 // 00064 // This file is part of the internal implementation of the C++ XML DOM. 00065 // It should NOT be included or used directly by application programs. 00066 // 00067 // Applications should include the file <dom/DOM.hpp> for the entire 00068 // DOM API, or DOM_*.hpp for individual DOM classes, where the class 00069 // name is substituded for the *. 00070 // 00071 00072 00073 #include <xercesc/util/XercesDefs.hpp> 00074 #include "IDOM_CDATASection.hpp" 00075 #include "IDNodeImpl.hpp" 00076 #include "IDChildNode.hpp" 00077 #include "IDParentNode.hpp" 00078 #include "IDCharacterDataImpl.hpp" 00079 00080 00081 class CDOM_EXPORT IDCDATASectionImpl: public IDOM_CDATASection { 00082 private: 00083 IDNodeImpl fNode; 00084 IDParentNode fParent; 00085 IDChildNode fChild; 00086 IDCharacterDataImpl fCharacterData; 00087 00088 00089 public: 00090 IDCDATASectionImpl(IDOM_Document *ownerDoc, const XMLCh * data); 00091 IDCDATASectionImpl(const IDCDATASectionImpl &other, bool deep = false); 00092 00093 virtual ~IDCDATASectionImpl(); 00094 00095 // Functions inherited from TEXT 00096 virtual IDOM_Text *splitText(unsigned int offset); 00097 virtual bool isIgnorableWhitespace() const; 00098 00099 00100 00101 // Declare all of the functions from IDOM_Node. 00102 IDOM_NODE_FUNCTIONS; 00103 00104 00105 // Functions introduced by IDOM_CharacterData 00106 virtual const XMLCh * getData() const; 00107 virtual unsigned int getLength() const; 00108 virtual const XMLCh * substringData(unsigned int offset, 00109 unsigned int count) const; 00110 virtual void appendData(const XMLCh *arg); 00111 virtual void insertData(unsigned int offset, const XMLCh *arg); 00112 virtual void deleteData(unsigned int offset, 00113 unsigned int count); 00114 virtual void replaceData(unsigned int offset, 00115 unsigned int count, 00116 const XMLCh *arg); 00117 virtual void setData(const XMLCh *data); 00118 00119 00120 }; 00121 00122 #endif 00123