00001 #ifndef IDOM_NamedNodeMap_HEADER_GUARD_
00002 #define IDOM_NamedNodeMap_HEADER_GUARD_
00003
00004
00005 /*
00006 * The Apache Software License, Version 1.1
00007 *
00008 * Copyright (c) 2001-2002 The Apache Software Foundation. All rights
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 * $Log: IDOM_NamedNodeMap.hpp,v $
00063 * Revision 1.2 2002/02/04 21:11:55 tng
00064 * Remove the phrase "Experimental".
00065 *
00066 * Revision 1.1.1.1 2002/02/01 22:21:56 peiyongz
00067 * sane_include
00068 *
00069 * Revision 1.2 2001/05/11 13:25:53 tng
00070 * Copyright update.
00071 *
00072 * Revision 1.1.1.1 2001/04/03 00:14:30 andyh
00073 * IDOM
00074 *
00075 */
00076
00077 #include <xercesc/util/XercesDefs.hpp>
00078
00079 class IDOM_Node;
00080
00092 class IDOM_NamedNodeMap {
00093 protected:
00094IDOM_NamedNodeMap() {};
00095IDOM_NamedNodeMap(const IDOM_NamedNodeMap &other) {};
00096IDOM_NamedNodeMap & operator = (const IDOM_NamedNodeMap &other) {return *this;};
00097
00098
00099
00100 public:
00103 virtual ~IDOM_NamedNodeMap() {};
00104
00106
00109
00135 virtual IDOM_Node *setNamedItem(IDOM_Node *arg) = 0;
00136
00138
00140
00152 virtual IDOM_Node *item(unsigned int index) const = 0;
00153
00162 virtual IDOM_Node *getNamedItem(const XMLCh *name) const = 0;
00163
00170 virtual unsigned int getLength() const = 0;
00171
00173
00175
00191 virtual IDOM_Node *removeNamedItem(const XMLCh *name) = 0;
00192
00194
00196
00207 virtual IDOM_Node *getNamedItemNS(const XMLCh *namespaceURI,
00208 const XMLCh *localName) const = 0;
00209
00232 virtual IDOM_Node *setNamedItemNS(IDOM_Node *arg) = 0;
00233
00255 virtual IDOM_Node *removeNamedItemNS(const XMLCh *namespaceURI,
00256 const XMLCh *localName) = 0;
00257
00259
00260 };
00261
00262 #endif
00263