| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #include <iostream> |
| #include <fstream> |
| #include <vector> |
| #include <expat.h> |
| #include "xmlfile.hpp" |
|
|
|
|
| |
| |
| |
| |
| |
| |
| void XmlFile::openElement(const char* name) { |
| *stream<<"<"<<name<<">\n"; |
| } |
| |
| |
| |
| |
| |
| |
| void XmlFile::openElement(const char* name, int ind) |
| { |
| while (ind--){ |
| *stream << "\t"; |
| } |
| *stream << "<" << name << ">\n"; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| void XmlFile::openElement(const char* name, vector<string> atts) |
| { |
|
|
| *stream<<"<"<<name; |
| for (unsigned int i = 0; i < atts.size(); i += 2) { |
| *stream << ' ' << atts[i].c_str()<< "=\"" << atts[i + 1].c_str() << "\"" ; |
| } |
| *stream << ">\n" ; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| void XmlFile::openElement(const char* name, vector<string> atts, int ind) |
| { |
|
|
| while (ind--){ |
| *stream << "\t"; |
| } |
| *stream << "<" << name; |
| for (unsigned int i = 0; i < atts.size(); i += 2) { |
| *stream << ' ' << atts[i].c_str() << "=\"" << atts[i + 1].c_str() << "\"" ; |
| } |
| *stream << ">\n" ; |
| } |
| |
| |
| |
| |
| |
| |
| void XmlFile::closeElement(const char* name) |
| { |
| *stream << "</" << name << ">\n"; |
| } |
| |
| |
| |
| |
| |
| |
| void XmlFile::closeElement(const char* name, int ind) { |
| while (ind--){ |
| *stream << "\t"; |
| } |
| *stream << "</" << name << ">\n"; |
| } |
| |
| |
| |
| |
| |
| |
| void XmlFile::closeElement(const char* name, int ind, const char *cad) { |
| while (ind--){ |
| *stream << "\t"; |
| } |
| *stream << "<" << name << ">" << cad << "</" << name << ">\n"; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| void XmlFile::closeElement(const char* name, vector<string> atts) |
| { |
| *stream << "<" << name; |
| for (unsigned int i = 0; i < atts.size(); i += 2) { |
| *stream << ' ' << atts[i].c_str() << "=\"" << atts[i + 1].c_str() << "\"" ; |
| } |
| *stream << "/>\n"; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| |
| void XmlFile::closeElement(const char* name, vector<string> atts, int ind) |
| { |
| while (ind--){ |
| *stream << "\t"; |
| } |
| *stream << "<" << name; |
| for (unsigned int i = 0; i < atts.size(); i += 2) { |
| *stream << ' ' << atts[i].c_str() << "=\"" << atts[i + 1].c_str() << "\"" ; |
| } |
| *stream << "/>\n"; |
| } |
|
|
| void XmlFile::write(const char* cad) |
| { |
| *stream << cad << '\n'; |
| } |
|
|
| void XmlFile::write(const char* cad, int ind) |
| { |
| while (ind--){ |
| *stream << "\t"; |
| } |
| *stream << cad << '\n'; |
| } |
|
|
| XmlFile::XmlFile() |
| { |
| stream=&cout; |
| this->write("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"); |
| this->write("<!DOCTYPE tts PUBLIC \"ECESS\" \"ecess.dtd\">"); |
| this->openElement("tts xml:lang=\"gl\""); |
| } |
|
|
| XmlFile::XmlFile(const char * name) |
| { |
| file.open(name); |
| stream = &file; |
| this->write("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"); |
| this->write("<!DOCTYPE tts PUBLIC \"ECESS\" \"ecess.dtd\">"); |
| this->openElement("tts xml:lang=\"gl\""); |
| } |
|
|
| XmlFile::~XmlFile() |
| { |
| this->closeElement("tts"); |
| file.close(); |
| } |
|
|
|
|