|
Go to the documentation of this file.
30 : mMode(File), pSStream(0), mHasOutBuffer(false), mFileName(rFilename), mColumns(80/ FD_NAMELEN), mColCount(0) {
32 mFStream.exceptions(std::ios::badbit|std::ios::failbit);
34 mFStream.open(rFilename.c_str(), openmode);
36 catch (std::ios::failure&) {
37 std::stringstream errstr;
38 errstr << "Exception opening/writing file \""<< rFilename << "\"";
39 throw Exception( "TokenWriter::TokenWriter", errstr.str(), 2);
48 : mMode(XmlFile), pSStream(0), mHasOutBuffer(false), mFileName(rFilename), mColumns(80/ FD_NAMELEN), mColCount(0) {
50 mFStream.exceptions(std::ios::badbit|std::ios::failbit);
52 mFStream.open(rFilename.c_str(), std::ios::out|std::ios::trunc);
53 mFStream << "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>" << std::endl;
56 std::string dtdfile=ftype;
57 std::transform(dtdfile.begin(), dtdfile.end(), dtdfile.begin(), tolower);
58 dtdfile= "http://www.faudes.org/dtd/1.0/"+dtdfile+ ".dtd";
59 mFStream << "<!DOCTYPE " << ftype << " SYSTEM \"" << dtdfile << "\">" << std::endl;
62 catch (std::ios::failure&) {
63 std::stringstream errstr;
64 errstr << "Exception opening/writing xml file \""<< rFilename << "\"";
65 throw Exception( "TokenWriter::TokenWriter", errstr.str(), 2);
74 : mMode(mode), pSStream(0), mHasOutBuffer(false), mFileName( ""), mColumns(80/ FD_NAMELEN), mColCount(0) {
110 std::stringstream errstr;
111 errstr << "Invalid Mode / Not Implemented";
112 throw Exception( "TokenWriter::TokenWriter", errstr.str(), 2);
119 : mMode(Stream), pSStream(&stream), mHasOutBuffer(false), mFileName( "stream"), mColumns(0), mColCount(0) {
124 std::string dtdfile=ftype;
125 std::transform(dtdfile.begin(), dtdfile.end(), dtdfile.begin(), tolower);
126 dtdfile= "http://www.faudes.org/dtd/1.0/"+dtdfile+ ".dtd";
127 * pSStream << "<!DOCTYPE " << ftype << " SYSTEM \"" << dtdfile << "\">" << std::endl;
130 } catch (std::ios::failure&) {
131 std::stringstream errstr;
132 errstr << "Exception opening/writing xml stream";
133 throw Exception( "TokenWriter::TokenWriter", errstr.str(), 2);
162 std::stringstream errstr;
163 errstr << "Not in String Mode";
164 throw Exception( "TokenWriter::Str()", errstr.str(), 2);
195 catch (std::ios::failure&) {
196 std::stringstream errstr;
197 errstr << "Exception opening/writing file \"" << mFileName << "\"";
198 throw Exception( "Generator::write", errstr.str(), 2);
211 FD_DV( "TokenWriter::DoFlush()");
222 if(c== '\r') continue;
237 catch (std::ios::failure&) {
238 std::stringstream errstr;
239 errstr << "Exception opening/writing file \"" << mFileName << "\"";
240 throw Exception( "TokenWriter::Write(token)", errstr.str(), 2);
247 FD_DV( "TokenWriter::Write(token)");
301 if((rName == "\n") || (rName == "\r\n")) {
318 catch (std::ios::failure&) {
319 std::stringstream errstr;
320 errstr << "Exception opening/writing file \"" << mFileName << "\"";
321 throw Exception( "TokenWriter::WriteText(text)", errstr.str(), 2);
328 std::stringstream errstr;
329 errstr << "Invalid begin token while writing file \"" << mFileName << "\"";
330 throw Exception( "TokenWriter::WriteText(label,text)", errstr.str(), 2);
339 catch (std::ios::failure&) {
340 std::stringstream errstr;
341 errstr << "Exception writing file \"" << mFileName << "\"";
342 throw Exception( "TokenWriter::WriteText(label,text)", errstr.str(), 2);
357 FD_DV( "TokenWriter::Write(token)");
359 std::stringstream errstr;
360 errstr << "Invalid begin token while writing file \"" << mFileName << "\"";
361 throw Exception( "TokenWriter::WriteVerbatim(tag,text)", errstr.str(), 2);
371 catch (std::ios::failure&) {
372 std::stringstream errstr;
373 errstr << "Exception opening/writing file \"" << mFileName << "\"";
374 throw Exception( "TokenWriter::WriteVerbatim()", errstr.str(), 2);
390 if(rCharacterData.size()==0) return;
396 catch (std::ios::failure&) {
397 std::stringstream errstr;
398 errstr << "Exception opening/writing file \"" << mFileName << "\"";
399 throw Exception( "TokenWriter::WriteCharacterData(text)", errstr.str(), 2);
403 if(rCharacterData.size()>=1)
404 if(rCharacterData.at(rCharacterData.size()-1)== '\n')
469 if(comment.length()==0)
471 if(comment.length()>0)
472 if(comment.at(0)!= '%')
475 std::string::const_iterator cit=comment.begin();
476 for(;cit!=comment.end(); cit++) {
493 catch (std::ios::failure&) {
494 std::stringstream errstr;
495 errstr << "Exception opening/writing file \"" << mFileName << "\"";
496 throw Exception( "TokenWriter::Comment", errstr.str(), 2);
509 static const std::string newline= "\n\r";
510 if(comment.find_first_of(newline)!=std::string::npos)
513 std::string::const_iterator cit=comment.begin();
514 for(;cit!=comment.end(); cit++) {
525 catch (std::ios::failure&) {
526 std::stringstream errstr;
527 errstr << "Exception opening/writing file \"" << mFileName << "\"";
528 throw Exception( "TokenWriter::Comment", errstr.str(), 2);
libFAUDES 2.28a
--- 2016.09.13
--- c++ api documentaion by doxygen
|