00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00031
00032 #ifndef header_xml_token
00033 #define header_xml_token
00034
00035 #if _MSC_VER > 1000
00036 #pragma once
00037 #endif
00038
00039 #include <string>
00040
00041
00042
00043
00044 class CL_XMLToken
00045 {
00047 public:
00048 virtual ~CL_XMLToken() { return; }
00049
00051 public:
00052 enum TokenType
00053 {
00054 NULL_TOKEN = 0,
00055 ELEMENT_TOKEN = 1,
00056 TEXT_TOKEN = 3,
00057 CDATA_SECTION_TOKEN = 4,
00058 ENTITY_REFERENCE_TOKEN = 5,
00059 ENTITY_TOKEN = 6,
00060 PROCESSING_INSTRUCTION_TOKEN = 7,
00061 COMMENT_TOKEN = 8,
00062 DOCUMENT_TYPE_TOKEN = 10,
00063 NOTATION_TOKEN = 12
00064 };
00065
00066 enum TokenVariant
00067 {
00068 BEGIN = 1,
00069 END = 2,
00070 SINGLE = 3
00071 };
00072
00073
00074 virtual TokenType get_type() const = 0;
00075
00076
00077 virtual TokenVariant get_variant() const = 0;
00078
00079
00080 virtual std::string get_name() const = 0;
00081
00082
00083 virtual std::string get_value() const = 0;
00084
00085 virtual int get_attributes_number() const = 0;
00086
00087
00088 virtual std::pair<std::string, std::string> get_attribute(int attribute_num) const = 0;
00089
00091 public:
00092
00094 private:
00095 };
00096
00097 #endif