00001 #ifndef DOMDocumentTraversal_HEADER_GUARD_
00002 #define DOMDocumentTraversal_HEADER_GUARD_
00003
00004 /*
00005 * Copyright 2002,2004 The Apache Software Foundation.
00006 *
00007 * Licensed under the Apache License, Version 2.0 (the "License");
00008 * you may not use this file except in compliance with the License.
00009 * You may obtain a copy of the License at
00010 *
00011 * http://www.apache.org/licenses/LICENSE-2.0
00012 *
00013 * Unless required by applicable law or agreed to in writing, software
00014 * distributed under the License is distributed on an "AS IS" BASIS,
00015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00016 * See the License for the specific language governing permissions and
00017 * limitations under the License.
00018 */
00019
00020 /*
00021 * $Id: DOMDocumentTraversal.hpp,v 1.7 2004/09/08 13:55:39 peiyongz Exp $
00022 */
00023
00024 #include <xercesc/util/XercesDefs.hpp>
00025
00026 XERCES_CPP_NAMESPACE_BEGIN
00027
00028
00029 class DOMNode;
00030 class DOMNodeFilter;
00031 class DOMNodeIterator;
00032 class DOMTreeWalker;
00033
00034
00046 class DOMDocumentTraversal {
00047
00048 protected:
00049 // -----------------------------------------------------------------------
00050 // Hidden constructors
00051 // -----------------------------------------------------------------------
00054DOMDocumentTraversal() {};
00056
00057 private:
00058 // -----------------------------------------------------------------------
00059 // Unimplemented constructors and operators
00060 // -----------------------------------------------------------------------
00063 DOMDocumentTraversal(const DOMDocumentTraversal &);
00064 DOMDocumentTraversal & operator = (const DOMDocumentTraversal &);
00066
00067 public:
00068 // -----------------------------------------------------------------------
00069 // All constructors are hidden, just the destructor is available
00070 // -----------------------------------------------------------------------
00077 virtual ~DOMDocumentTraversal() {};
00079
00080 // -----------------------------------------------------------------------
00081 // Virtual DOMDocumentRange interface
00082 // -----------------------------------------------------------------------
00109 virtual DOMNodeIterator *createNodeIterator(DOMNode *root,
00110 unsigned long whatToShow,
00111 DOMNodeFilter* filter,
00112 bool entityReferenceExpansion) = 0;
00143 virtual DOMTreeWalker *createTreeWalker(DOMNode *root,
00144 unsigned long whatToShow,
00145 DOMNodeFilter *filter,
00146 bool entityReferenceExpansion) = 0;
00147
00149 };
00150
00151
00152 XERCES_CPP_NAMESPACE_END
00153
00154 #endif