Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

C++ XDB - A Class Library for Processing XML-Structured Files

Version 1.0

C++ xdb is a C++ class library that provides hierarchical database style access to XML structured data files. To use this library, one declares a single xdb::Database object to access data in an XML file. A database consists of a set of nodes. A node may have any or all of the following: an associated data value, a set of named attributes each having an associated data value, and a set of child nodes. Each node is represented in an XML file as a begin-end tag pair, with child nodes represented inside the parent tag pair. Named attributes are stored in the begin tag.

All data in an XML file is considered string data. For programmer convenience, all node and attribute data in xdb is represented by the xdb::var data type (i.e. the xdb::var class). This type is a "variant" type, providing simple and automatic conversion between integer, floating point, Boolean, and string data. Although this approach makes xdb data very loosely typed, it is recognized that the programmer often wishes to express a variety of data types within data files. By storing all data as a variant type, this relieves the programmer from tedious conversions between data types.

XML 1.0 Compatibility

xdb includes a non-validating XML 1.0 subset parser. Files generated by xdb are fully XML 1.0 compliant. However, xdb does not recognize all possible XML 1.0 files. The intent of xdb (at least in this initial version) is to provide the programmer with easy access to structured hierarchical data, freeing the programmer from the details of file organization. As such, one should expect that files read by xdb be limited to files created by xdb.

Compiler Compatibility

xdb has been successfully compiled and tested under the following platforms:

Usage Documentation

See also:

Copyright and License

Copyright © 2003, Norman Lippincott, Jr., Saylorsburg PA USA, All Rights Reserved

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

The author may be contacted via e-mail at nl@acm.org.


Generated on Tue Aug 12 21:43:12 2003 for C++ XDB by doxygen1.2.15