ROOT logo
/* 
Author : Harsh Arora (harsh.arora@cern.ch)

   
AliXMLParser
---------

AliXMLParser is a tool to parse XML file and store it in trees

*/

#ifndef ALIXMLPARSER_H
#define ALIXMLPARSER_H

#ifndef ROOT_TList
#include <TList.h>
#endif

#ifndef ROOT_TSAXParser
#include <TSAXParser.h>
#endif

#ifndef ROOT_TXMLAttr
#include <TXMLAttr.h>
#endif

#ifndef ROOT_TString
#include <TString.h>
#endif

class AliXMLParser {
public:
   AliXMLParser();
   AliXMLParser(const AliXMLParser& obj);
   virtual ~AliXMLParser();
   TList*   GetTreesFromXML(TString file);
   TList*   GetTreesFromURL(TString host);

//   -------------- Slot Functions -----------
   void     OnStartDocument();
   void     OnEndDocument();
   void     OnStartElement(const char*, const TList*);
   void     OnEndElement(const char*);
   void     OnCharacters(const char*);
   void     OnComment(const char*);
   void     OnWarning(const char*);
   void     OnError(const char*);
   void     OnFatalError(const char*);
   void     OnCdataBlock(const char*, Int_t);
//   -----------------------------------------

private:
 
   int      GetEntryIndex(TString entry_name); //Reverse search for index of entry by name
   TList*   fTreeList; //List of Trees made from tables
   TString  fTableTag; //Identifier for new table
   Bool_t   fInsideTree; //True if table_tag is identified
   Int_t    fNumTokens; //Number of Attributes
   TList*   fEntries; //List of Entries in a table
   TList*   fVal; //Corresponding values of Entries in a Table
   Int_t    fNumTrees; //Number of Trees
   Bool_t   fError; //True if error in XML is encountered

   ClassDef(AliXMLParser,0);

   AliXMLParser& operator=(const AliXMLParser& other);
};

#endif
 AliXMLParser.h:1
 AliXMLParser.h:2
 AliXMLParser.h:3
 AliXMLParser.h:4
 AliXMLParser.h:5
 AliXMLParser.h:6
 AliXMLParser.h:7
 AliXMLParser.h:8
 AliXMLParser.h:9
 AliXMLParser.h:10
 AliXMLParser.h:11
 AliXMLParser.h:12
 AliXMLParser.h:13
 AliXMLParser.h:14
 AliXMLParser.h:15
 AliXMLParser.h:16
 AliXMLParser.h:17
 AliXMLParser.h:18
 AliXMLParser.h:19
 AliXMLParser.h:20
 AliXMLParser.h:21
 AliXMLParser.h:22
 AliXMLParser.h:23
 AliXMLParser.h:24
 AliXMLParser.h:25
 AliXMLParser.h:26
 AliXMLParser.h:27
 AliXMLParser.h:28
 AliXMLParser.h:29
 AliXMLParser.h:30
 AliXMLParser.h:31
 AliXMLParser.h:32
 AliXMLParser.h:33
 AliXMLParser.h:34
 AliXMLParser.h:35
 AliXMLParser.h:36
 AliXMLParser.h:37
 AliXMLParser.h:38
 AliXMLParser.h:39
 AliXMLParser.h:40
 AliXMLParser.h:41
 AliXMLParser.h:42
 AliXMLParser.h:43
 AliXMLParser.h:44
 AliXMLParser.h:45
 AliXMLParser.h:46
 AliXMLParser.h:47
 AliXMLParser.h:48
 AliXMLParser.h:49
 AliXMLParser.h:50
 AliXMLParser.h:51
 AliXMLParser.h:52
 AliXMLParser.h:53
 AliXMLParser.h:54
 AliXMLParser.h:55
 AliXMLParser.h:56
 AliXMLParser.h:57
 AliXMLParser.h:58
 AliXMLParser.h:59
 AliXMLParser.h:60
 AliXMLParser.h:61
 AliXMLParser.h:62
 AliXMLParser.h:63
 AliXMLParser.h:64
 AliXMLParser.h:65
 AliXMLParser.h:66
 AliXMLParser.h:67
 AliXMLParser.h:68
 AliXMLParser.h:69