NCBI C++ ToolKit
xpath_object_type.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

00001 /*  $Id: xpath_object_type.hpp 55934 2012-10-10 15:55:27Z satskyse $
00002  * ===========================================================================
00003  *
00004  *                            PUBLIC DOMAIN NOTICE
00005  *               National Center for Biotechnology Information
00006  *
00007  *  This software/database is a "United States Government Work" under the
00008  *  terms of the United States Copyright Act.  It was written as part of
00009  *  the author's official duties as a United States Government employee and
00010  *  thus cannot be copyrighted.  This software/database is freely available
00011  *  to the public for use. The National Library of Medicine and the U.S.
00012  *  Government have not placed any restriction on its use or reproduction.
00013  *
00014  *  Although all reasonable efforts have been taken to ensure the accuracy
00015  *  and reliability of the software and data, the NLM and the U.S.
00016  *  Government do not and cannot warrant the performance or results that
00017  *  may be obtained by using this software or data. The NLM and the U.S.
00018  *  Government disclaim all warranties, express or implied, including
00019  *  warranties of performance, merchantability or fitness for any particular
00020  *  purpose.
00021  *
00022  *  Please cite the author in any work or product based on this material.
00023  *
00024  * ===========================================================================
00025  *
00026  * Author:  Sergey Satskiy, NCBI
00027  * Credits: Denis Vakatov, NCBI (API design)
00028  *
00029  */
00030 
00031 
00032 /** @file
00033  * Type for the xpath_object
00034 **/
00035 
00036 #ifndef _xmlwrapp_xpath_object_type_hpp_
00037 #define _xmlwrapp_xpath_object_type_hpp_
00038 
00039 
00040 namespace xslt {
00041 
00042     /// Identifies what is stored in an xpath_object instance.
00043     /// The only limited support is provided for the libxml2 types.
00044     /// In particular the following libxml2 types are not supported:
00045     /// - point
00046     /// - range
00047     /// - locationset
00048     /// - users
00049     /// - xslt tree
00050     enum xpath_object_type {
00051         type_undefined,
00052         type_nodeset,
00053         type_boolean,
00054         type_number,
00055         type_string,
00056 
00057         type_not_implemented
00058 
00059         /* The types below exist in libxml2 however they are
00060            not implemented in XmlWrapp.
00061         type_point,
00062         type_range,
00063         type_locationset,
00064         type_users,
00065         type_xslt_tree
00066         */
00067     };
00068 
00069     /*
00070      * Note: xslt_tree type is very similar to node_set however it was
00071      * non-trivial to support it. The problem comes from the fact that libxml2
00072      * internally uses the node _private field in some cases. XmlWrapp uses it
00073      * too when it needs to dereference a node_set iterator and this leads to a
00074      * conflict with memory corruption. So, at least for now, the xslt_tree
00075      * support is not provided.
00076      */
00077 
00078 } // xslt namespace
00079 
00080 #endif
00081 
Modified on Fri May 22 11:58:00 2015 by modify_doxy.py rev. 426318