/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #if !defined(XALANNAMEDNODEMAP_HEADER_GUARD_1357924680) #define XALANNAMEDNODEMAP_HEADER_GUARD_1357924680 #include namespace XALAN_CPP_NAMESPACE { class XalanDOMString; class XalanNode; class XALAN_DOM_EXPORT XalanNamedNodeMap { public: XalanNamedNodeMap(); virtual ~XalanNamedNodeMap(); /** * Returns the indexth item in the map. * * If index * is greater than or equal to the number of nodes in the map, this returns * null. * @param index Index into the map. * @return The node at the indexth position in the * NamedNodeMap, or null if that is not a valid * index. */ virtual XalanNode* item(XalanSize_t index) const = 0; /** * Retrieves a node specified by name. * * @param name The nodeName of a node to retrieve. * @return A Node (of any type) with the specified nodeName, or * null if it does not identify any node in * the map. */ virtual XalanNode* getNamedItem(const XalanDOMString& name) const = 0; /** * The number of nodes in the map. * * The range of valid child node indices is * 0 to length-1 inclusive. */ virtual XalanSize_t getLength() const = 0; /** * Retrieves a node specified by local name and namespace URI. * * @param namespaceURI The namespace URI of * the node to retrieve. * @param localName The local name of the node to retrieve. * @return A Node (of any type) with the specified * local name and namespace URI, or null if they do not * identify any node in the map. */ virtual XalanNode* getNamedItemNS( const XalanDOMString& namespaceURI, const XalanDOMString& localName) const = 0; protected: XalanNamedNodeMap(const XalanNamedNodeMap& theSource); XalanNamedNodeMap& operator=(const XalanNamedNodeMap& theSource); bool operator==(const XalanNamedNodeMap& theRHS) const; private: }; } #endif // !defined(XALANNAMEDNODEMAP_HEADER_GUARD_1357924680)