00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef XMLPI_H
00025 #define XMLPI_H
00026
00032 #include <string>
00033
00034 #include <cgicc/CgiDefs.h>
00035 #include <cgicc/MStreamable.h>
00036 #include <cgicc/HTMLAttributeList.h>
00037
00038 namespace cgicc {
00044 class XMLPI : public MStreamable {
00045 public:
00046
00047
00050
00057 XMLPI(std::string name);
00058
00064 virtual ~XMLPI();
00066
00067
00068 XMLPI& operator= (const XMLPI& element);
00069 inline std::string getName() const { return fName; }
00070 inline const HTMLAttributeList* getAttributes() const { return fAttributes; }
00071 void setAttributes(const HTMLAttributeList& attributes);
00072 XMLPI& set(const std::string& name);
00073 XMLPI& set(const std::string& name, const std::string& value);
00074 virtual void render(std::ostream& out) const;
00075
00076 private:
00077 HTMLAttributeList* fAttributes;
00078 std::string fName;
00079 };
00080 }
00081
00082 #endif