⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 domxpathresult.hpp

📁 基于属性证书的访问控制源代码,由c++编写,包括openssl,xercesc等
💻 HPP
字号:
#ifndef DOMXPathResult_HEADER_GUARD_#define DOMXPathResult_HEADER_GUARD_/* * The Apache Software License, Version 1.1 * * Copyright (c) 2001-2003 The Apache Software Foundation.  All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in *    the documentation and/or other materials provided with the *    distribution. * * 3. The end-user documentation included with the redistribution, *    if any, must include the following acknowledgment: *       "This product includes software developed by the *        Apache Software Foundation (http://www.apache.org/)." *    Alternately, this acknowledgment may appear in the software itself, *    if and wherever such third-party acknowledgments normally appear. * * 4. The names "Xerces" and "Apache Software Foundation" must *    not be used to endorse or promote products derived from this *    software without prior written permission. For written *    permission, please contact apache\@apache.org. * * 5. Products derived from this software may not be called "Apache", *    nor may "Apache" appear in their name, without prior written *    permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation, and was * originally based on software copyright (c) 2001, International * Business Machines, Inc., http://www.ibm.com .  For more information * on the Apache Software Foundation, please see * <http://www.apache.org/>. */#include <xercesc/util/XercesDefs.hpp>XERCES_CPP_NAMESPACE_BEGINclass DOMXPathNSResolver;class DOMXPathExpression;class DOMNode;/** * The <code>DOMXPathResult</code> interface represents the result of the * evaluation of an XPath 1.0 expression within the context of a particular * node. Since evaluation of an XPath expression can result in various result * types, this object makes it possible to discover and manipulate the type * and value of the result. * @since DOM Level 3 */class CDOM_EXPORT DOMXPathResult{protected:    // -----------------------------------------------------------------------    //  Hidden constructors    // -----------------------------------------------------------------------    /** @name Hidden constructors */    //@{        DOMXPathResult() {};    //@}private:    // -----------------------------------------------------------------------    // Unimplemented constructors and operators    // -----------------------------------------------------------------------    /** @name Unimplemented constructors and operators */    //@{    DOMXPathResult(const DOMXPathResult &);    DOMXPathResult& operator = (const  DOMXPathResult&);    //@}public:    // -----------------------------------------------------------------------    //  All constructors are hidden, just the destructor is available    // -----------------------------------------------------------------------    /** @name Destructor */    //@{    /**     * Destructor     *     */    virtual ~DOMXPathResult() {};    //@}    // -----------------------------------------------------------------------    //  Class Types    // -----------------------------------------------------------------------    /** @name Public Contants */    //@{    /**    ANY_TYPE     * This code does not represent a specific type. An evaluation of an XPath      * expression will never produce this type. If this type is requested, then      * the evaluation returns whatever type naturally results from evaluation      * of the expression.     * If the natural result is a node set when ANY_TYPE was requested, then      * UNORDERED_NODE_ITERATOR_TYPE is always the resulting type. Any other      * representation of a node set must be explicitly requested.     * ANY_UNORDERED_NODE_TYPE     * The result is a node set as defined by [XPath 1.0] and will be accessed     * as a single node, which may be nullif the node set is empty. Document     * modification does not invalidate the node, but may mean that the result      * node no longer corresponds to the current document. This is a convenience     * that permits optimization since the implementation can stop once any node      * in the resulting set has been found.     * If there is more than one node in the actual result, the single node      * returned might not be the first in document order.     * BOOLEAN_TYPE     * The result is a boolean as defined by [XPath 1.0]. Document modification      * does not invalidate the boolean, but may mean that reevaluation would not      * yield the same boolean.     * FIRST_ORDERED_NODE_TYPE     * The result is a node set as defined by [XPath 1.0] and will be accessed     * as a single node, which may be null if the node set is empty. Document      * modification does not invalidate the node, but may mean that the result      * node no longer corresponds to the current document. This is a convenience     * that permits optimization since the implementation can stop once the first     * node in document order of the resulting set has been found.     * If there are more than one node in the actual result, the single node      * returned will be the first in document order.     * NUMBER_TYPE     * The result is a number as defined by [XPath 1.0]. Document modification does     * not invalidate the number, but may mean that reevaluation would not yield the      * same number.     * ORDERED_NODE_ITERATOR_TYPE     * The result is a node set as defined by [XPath 1.0] that will be accessed      * iteratively, which will produce document-ordered nodes. Document modification      * invalidates the iteration.     * ORDERED_NODE_SNAPSHOT_TYPE     * The result is a node set as defined by [XPath 1.0] that will be accessed as a     * snapshot list of nodes that will be in original document order. Document      * modification does not invalidate the snapshot but may mean that reevaluation would     * not yield the same snapshot and nodes in the snapshot may have been altered, moved,      * or removed from the document.     * STRING_TYPE     * The result is a string as defined by [XPath 1.0]. Document modification does not     * invalidate the string, but may mean that the string no longer corresponds to the      * current document.     * UNORDERED_NODE_ITERATOR_TYPE     * The result is a node set as defined by [XPath 1.0] that will be accessed iteratively,      * which may not produce nodes in a particular order. Document modification invalidates the iteration.     * This is the default type returned if the result is a node set and ANY_TYPE is requested.     * UNORDERED_NODE_SNAPSHOT_TYPE     * The result is a node set as defined by [XPath 1.0] that will be accessed as a     * snapshot list of nodes that may not be in a particular order. Document modification     * does not invalidate the snapshot but may mean that reevaluation would not yield the same     * snapshot and nodes in the snapshot may have been altered, moved, or removed from the document.     */	enum resultType {                ANY_TYPE = 0,                NUMBER_TYPE = 1,                STRING_TYPE = 2,                BOOLEAN_TYPE = 3,                UNORDERED_NODE_ITERATOR_TYPE = 4,                ORDERED_NODE_ITERATOR_TYPE = 5,                UNORDERED_NODE_SNAPSHOT_TYPE = 6,                ORDERED_NODE_SNAPSHOT_TYPE = 7,                ANY_UNORDERED_NODE_TYPE = 8,                FIRST_ORDERED_NODE_TYPE = 9    };    //@}    // -----------------------------------------------------------------------    // Virtual DOMDocument interface    // -----------------------------------------------------------------------    /** @name Functions introduced in DOM Level 3 */    //@{    /**      * Returns the boolean value of this result     * @return booleanValue of type boolean, readonly     * The value of this boolean result.     * @exception XPathException     * TYPE_ERR: raised if resultType is not BOOLEAN_TYPE.     */	virtual bool getBooleanValue() const = 0;    /**      * Returns the state of the iterator     * @return invalidIteratorState      * Signifies that the iterator has become invalid. True if resultType is      * UNORDERED_NODE_ITERATOR_TYPE or ORDERED_NODE_ITERATOR_TYPE and the      * document has been modified since this result was returned.     * @exception XPathException      * TYPE_ERR: raised if resultType is not NUMBER_TYPE.     */	virtual bool getInvalidIteratorState() const = 0;    /**     * Returns the number value of this result     * @return numberValue      * The value of this number result. If the native double type of the DOM      * binding does not directly support the exact IEEE 754 result of the XPath      * expression, then it is up to the definition of the binding to specify how      * the XPath number is converted to the native binding number.     * @exception XPathException     * TYPE_ERR: raised if resultType is not NUMBER_TYPE.     */	virtual double getNumberValue() const = 0;    /**     * Returns the result type of this result     * @return resultType      * A code representing the type of this result, as defined by the type constants.            * @exception XPathException     * TYPE_ERR: raised if resultType is not ANY_UNORDERED_NODE_TYPE or FIRST_ORDERED_NODE_TYPE.     */	virtual short getResultType() const = 0;    	    /**     * Returns the single node value of this result     * @return singleNodeValue      * The value of this single node result, which may be null.     * @exception XPathException     * TYPE_ERR: raised if resultType is not ANY_UNORDERED_NODE_TYPE or FIRST_ORDERED_NODE_TYPE.     */	virtual DOMNode *getSingleNodeValue() const = 0;    /**     * Returns the snapshot length     * @return snapshotLength      * The number of nodes in the result snapshot. Valid values for snapshotItem indices      * are 0 to snapshotLength-1 inclusive.     * @exception XPathException     * TYPE_ERR: raised if resultType is not UNORDERED_NODE_SNAPSHOT_TYPE or      * ORDERED_NODE_SNAPSHOT_TYPE.             */	virtual unsigned long getSnapshotLength() const = 0;            /**     * Returns the string value of this result     * @return stringValue      * The value of this string result.     * @exception XPathException     * TYPE_ERR: raised if resultType is not STRING_TYPE.     */	virtual const XMLCh* getStringValue() const = 0;        /**     * Iterates and returns the next node from the node set or nullif there are no more nodes.     * @return the next node.     * @exception XPathException     * TYPE_ERR: raised if resultType is not UNORDERED_NODE_ITERATOR_TYPE or ORDERED_NODE_ITERATOR_TYPE.     * @exception DOMException     * INVALID_STATE_ERR: The document has been mutated since the result was returned.	     */	virtual DOMNode* iterateNext() const = 0;    /**     * Returns the indexth item in the snapshot collection. If index is greater than or     * equal to the number of nodes in the list, this method returns null. Unlike the     * iterator result, the snapshot does not become invalid, but may not correspond      * to the current document if it is mutated.     * @param index of type unsigned long - Index into the snapshot collection.     * @return The node at the indexth position in the NodeList, or null if that is not a valid index.     * @exception XPathException     * TYPE_ERR: raised if resultType is not UNORDERED_NODE_SNAPSHOT_TYPE or ORDERED_NODE_SNAPSHOT_TYPE.	     */	virtual DOMNode* snapshotItem(unsigned long index) const = 0;    //@}};XERCES_CPP_NAMESPACE_END#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -