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

dsXMLParser.h

Go to the documentation of this file.
00001 /*
00002  * $Id: dsXMLParser.h,v 1.5 2003/08/27 15:40:41 dsamersoff Exp $
00003  */
00004 
00005 #ifndef dsXMLParser_h
00006 #define dsXMLParser_h 
00007 
00008 #include <dsHashTable.h>
00009 #include <dsDocument.h>
00010 
00011 class dsDocument;
00012 
00021 class dsXMLParser
00022 {
00023 protected:
00024   dsDocument  * _owner;
00025   dsHashTable * _nameSpace;  // hold namespaces
00026 
00027   int   _max_ocnt;
00028   int   _ocnt;
00029   char *_os;
00030 
00031   int      _lineno;
00032 
00033   void read(std::istream& is, dsNode *root);
00034   void write(std::ostream& os, dsNode *root);
00035   void cleanup(dsNode *root);
00036  
00037   dsNode *findChild(const DOMString tag, dsNode *root, dsNode::dsNodeTypes type);
00038   dsNode *textChild(dsNode *root);
00039 
00040 
00041   dsXMLParser(dsDocument *owner);
00042   ~dsXMLParser();
00043 
00044 private:
00045     /* internals */
00046     void getElementsByTagName(DOMString tagName, dsNode *root, dsNodeList * l);
00047     void ReadEntity(std::istream& is, dsNode * cp);
00048     
00049     void Os(char ch);
00050     char * Os();
00051 
00052 
00053 
00054   friend class dsDocument;
00055   friend class dsAttr;
00056 
00057 };
00058 
00059 #endif

Generated on Mon May 16 18:26:58 2005 for libdms4 by doxygen1.3-rc2