37 #define xml_assert(bed) arb_assert(bed)
58 virtual ~XML_Attribute();
60 XML_Attribute *append_to(XML_Attribute *queue);
62 void print(FILE *out)
const;
84 virtual void open(FILE *out) = 0;
85 virtual void close(FILE *out) = 0;
96 XML_Attribute *attribute;
111 void add_attribute(const
std::
string& name_, const
std::
string& content_);
112 void add_attribute(const
std::
string& name_,
int value);
114 void remove_son(
XML_Node *son_) OVERRIDE;
115 void open(FILE *out) OVERRIDE;
116 void close(FILE *out) OVERRIDE;
118 void set_on_extra_line(
bool oel) { onExtraLine = oel; }
136 void close(FILE *out) OVERRIDE;
145 void add_son(XML_Node *son_,
bool son_is_tag) OVERRIDE __ATTR__NORETURN;
146 void remove_son(XML_Node *son_) OVERRIDE __ATTR__NORETURN;
147 void open(FILE *) OVERRIDE;
148 void close(FILE *out) OVERRIDE;
156 XML_Node *latest_son;
166 virtual ~XML_Document() ;
180 getRoot().add_attribute(name_, content_);
183 FILE *
Out() {
return out; }
187 #error xml.hxx included twice
void add_attribute(const std::string &name_, const std::string &content_)
virtual void close(FILE *out)=0
void remove_son(XML_Node *son_) OVERRIDE __ATTR__NORETURN
void set_LatestSon(XML_Node *latest_son_)
return string(buffer, length)
XML_Text(const std::string &content_)
bool skip_empty_tags
true -> tags w/o content or attributes are skipped (default = false)
void add_son(XML_Node *son_, bool son_is_tag) OVERRIDE __ATTR__NORETURN
virtual void add_son(XML_Node *son_, bool son_is_tag)=0
size_t indentation_per_level
how many columns are used per indentation level (defaults to 1)
XML_Document * the_XML_Document
void open(FILE *) OVERRIDE
virtual void remove_son(XML_Node *son_)=0
void close(FILE *out) OVERRIDE
virtual void open(FILE *out)=0