00001 // 00002 // The Fontaine Font Analysis Project 00003 // 00004 // Copyright (c) 2009 by Edward H. Trager 00005 // All Rights Reserved 00006 // 00007 // Released under the GNU GPL version 2.0 or later. 00008 // 00009 00010 // 00011 // XHTMLR.h -- Basic XHTML Report 00012 // 00013 00014 #ifndef XHTMLR_INCLUDED 00015 #define XHTMLR_INCLUDED 00016 00017 #include "MLR.h" 00018 00019 class XHTMLR : public MLR { 00020 00021 protected: 00022 00023 std::string _startTag; 00024 std::string _keyValuePairTag; 00025 std::string _startListTag; 00026 std::string _listItemTag; 00027 00028 public: 00029 00030 XHTMLR(); 00031 00032 void startRoot(void); 00033 void endRoot(void); 00034 00035 void startList(const std::string &key); 00036 void addKeyValuePairToList(const std::string &key,const std::string &value); 00037 void endList(const std::string &key); 00038 00039 void start(const std::string &key); 00040 void addKeyValuePair(const std::string &key,const std::string &value); 00041 void end(const std::string &key); 00042 00043 void startList(const char *key); 00044 void addKeyValuePairToList(const char *key,const char *value); 00045 void endList(const char *key); 00046 00047 void start(const char *key); 00048 void addKeyValuePair(const char *key,const char *value); 00049 void end(const char *key); 00050 00051 void setStartTag(const std::string &s); 00052 void setKeyValuePairTag(const std::string &s); 00053 void setStartListTag(const std::string &s); 00054 void setListItemTag(const std::string &s); 00055 // const char * versions: 00056 void setStartTag(const char *s); 00057 void setKeyValuePairTag(const char *s); 00058 void setStartListTag(const char *s); 00059 void setListItemTag(const char *s); 00060 00061 }; 00062 00063 #endif 00064