|
||||
File indexing completed on 2025-01-30 10:27:01
0001 /* 0002 * Licensed to the Apache Software Foundation (ASF) under one or more 0003 * contributor license agreements. See the NOTICE file distributed with 0004 * this work for additional information regarding copyright ownership. 0005 * The ASF licenses this file to You under the Apache License, Version 2.0 0006 * (the "License"); you may not use this file except in compliance with 0007 * the License. You may obtain a copy of the License at 0008 * 0009 * http://www.apache.org/licenses/LICENSE-2.0 0010 * 0011 * Unless required by applicable law or agreed to in writing, software 0012 * distributed under the License is distributed on an "AS IS" BASIS, 0013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 0014 * See the License for the specific language governing permissions and 0015 * limitations under the License. 0016 */ 0017 0018 /* 0019 * $Id$ 0020 */ 0021 0022 #if !defined(XERCESC_INCLUDE_GUARD_DOMDEEPNODELISTIMPL_HPP) 0023 #define XERCESC_INCLUDE_GUARD_DOMDEEPNODELISTIMPL_HPP 0024 0025 // 0026 // This file is part of the internal implementation of the C++ XML DOM. 0027 // It should NOT be included or used directly by application programs. 0028 // 0029 // Applications should include the file <xercesc/dom/DOM.hpp> for the entire 0030 // DOM API, or xercesc/dom/DOM*.hpp for individual DOM classes, where the class 0031 // name is substituded for the *. 0032 // 0033 0034 #include <xercesc/util/XercesDefs.hpp> 0035 #include <xercesc/dom/DOMNodeList.hpp> 0036 0037 XERCES_CPP_NAMESPACE_BEGIN 0038 0039 0040 class DOMNode; 0041 0042 0043 class CDOM_EXPORT DOMDeepNodeListImpl: public DOMNodeList { 0044 protected: 0045 const DOMNode* fRootNode; 0046 const XMLCh* fTagName; 0047 bool fMatchAll; 0048 int fChanges; 0049 DOMNode* fCurrentNode; 0050 XMLSize_t fCurrentIndexPlus1; 0051 0052 //DOM Level 2 0053 const XMLCh* fNamespaceURI; 0054 bool fMatchAllURI; 0055 bool fMatchURIandTagname; //match both namespaceURI and tagName 0056 0057 public: 0058 DOMDeepNodeListImpl(const DOMNode *rootNode, const XMLCh *tagName); 0059 DOMDeepNodeListImpl(const DOMNode *rootNode, //DOM Level 2 0060 const XMLCh *namespaceURI, 0061 const XMLCh *localName); 0062 virtual ~DOMDeepNodeListImpl(); 0063 virtual XMLSize_t getLength() const; 0064 virtual DOMNode* item(XMLSize_t index) const; 0065 DOMNode* cacheItem(XMLSize_t index); 0066 0067 protected: 0068 DOMNode* nextMatchingElementAfter(DOMNode *current); 0069 0070 private: 0071 // ----------------------------------------------------------------------- 0072 // Unimplemented constructors and operators 0073 // ----------------------------------------------------------------------- 0074 DOMDeepNodeListImpl(const DOMDeepNodeListImpl &); 0075 DOMDeepNodeListImpl & operator = (const DOMDeepNodeListImpl &); 0076 }; 0077 0078 XERCES_CPP_NAMESPACE_END 0079 0080 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |