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