#include <XMLOutput.hpp>
Inheritance diagram for XMLOutput::

Public Methods | |
| void OUTPUT_STATIC | Init (unsigned char myintentation, unsigned char myvaluespacing=0, unsigned char mycoldelta=1) |
| XMLOutput () | |
| void OUTPUT_STATIC | startElement (char *str, int len) |
| void OUTPUT_STATIC | endElement (char *str, int len) |
| void OUTPUT_STATIC | endEmptyElement () |
| void OUTPUT_STATIC | startAttribute (char *str, int len) |
| void OUTPUT_STATIC | endAttribute (char *str=NULL, int len=0) |
| void OUTPUT_STATIC | characters (char *str, int len) |
| void OUTPUT_STATIC | whitespaces (char *str, int len) |
| void OUTPUT_STATIC | attribWhitespaces (char *str, int len) |
|
|
Definition at line 96 of file XMLOutput.hpp. 00097 {
00098 Init(XMLINTENT_NONE);
00099 }
|
|
||||||||||||||||
|
Definition at line 84 of file XMLOutput.hpp. Referenced by InterpretOptionString(), and XMLOutput().
00085 {
00086 curcol=0;
00087 coldelta=mycoldelta;
00088 x.intentation=myintentation;
00089
00090 x.status=XMLOUTPUT_INIT;
00091 x.isinattrib=0;
00092
00093 x.valuespacing=myvaluespacing;
00094 }
|
|
||||||||||||
|
Definition at line 260 of file XMLOutput.hpp. 00261 {
00262 char *ptr=GetDataPtr(len);
00263 mymemcpy(ptr,str,len);
00264 x.attribwhitespace=1;
00265 }
|
|
||||||||||||
|
Definition at line 236 of file XMLOutput.hpp. Referenced by whitespaces().
00237 {
00238 switch(x.status)
00239 {
00240 case XMLOUTPUT_OPENATTRIB:
00241 StoreData(str,len);
00242 return;
00243
00244 case XMLOUTPUT_OPENLABEL:
00245 StoreChar('>');
00246
00247 case XMLOUTPUT_AFTERDATA:
00248 case XMLOUTPUT_AFTERENDLABEL:
00249 case XMLOUTPUT_INIT:
00250 StoreData(str,len);
00251 }
00252 x.status=XMLOUTPUT_AFTERDATA;
00253 }
|
|
||||||||||||
|
Definition at line 225 of file XMLOutput.hpp. 00226 {
00227 if(x.status!=XMLOUTPUT_OPENATTRIB)
00228 {
00229 Error("Could not finish attribute outside of start element!");
00230 Exit();
00231 }
00232 StoreChar('"');
00233 x.status=XMLOUTPUT_OPENLABEL;
00234 }
|
|
||||||||||||
|
Definition at line 135 of file XMLOutput.hpp. 00136 {
00137 char *ptr;
00138 switch(x.status)
00139 {
00140 case XMLOUTPUT_OPENLABEL:
00141 ptr=GetDataPtr(len+4);
00142 *(ptr++)='>';
00143 *(ptr++)='<';
00144 *(ptr++)='/';
00145 mymemcpy(ptr,str,len);
00146 ptr+=len;
00147 *(ptr++)='>';
00148 curcol-=coldelta;
00149 x.status=XMLOUTPUT_AFTERENDLABEL;
00150 return;
00151
00152 case XMLOUTPUT_AFTERENDLABEL:
00153 GotoNextLine(0);
00154 break;
00155
00156 case XMLOUTPUT_AFTERDATA:
00157 curcol-=coldelta;
00158 break;
00159
00160 default:
00161 Error("Invalid end tag");
00162 Exit();
00163 }
00164
00165 ptr=GetDataPtr(len+3);
00166
00167 *(ptr++)='<';
00168 *(ptr++)='/';
00169 mymemcpy(ptr,str,len);
00170 ptr+=len;
00171 *(ptr++)='>';
00172
00173 x.status=XMLOUTPUT_AFTERENDLABEL;
00174 }
|
|
|
Definition at line 176 of file XMLOutput.hpp. 00177 {
00178 char *ptr;
00179 if(x.status!=XMLOUTPUT_OPENLABEL)
00180 // Something is wrong !!
00181 return;
00182
00183 ptr=GetDataPtr(2);
00184 *(ptr++)='/';
00185 *(ptr++)='>';
00186
00187 x.status=XMLOUTPUT_AFTERENDLABEL;
00188 curcol-=coldelta;
00189 }
|
|
||||||||||||
|
Definition at line 193 of file XMLOutput.hpp. 00194 {
00195 register char *ptr;
00196
00197 if(x.status==XMLOUTPUT_OPENATTRIB)
00198 {
00199 ptr=GetDataPtr(len+(x.attribwhitespace ? 3 : 4));
00200 *(ptr++)='"';
00201 }
00202 else
00203 {
00204 if(x.status!=XMLOUTPUT_OPENLABEL)
00205 {
00206 Error("Cannot print attribute outside of start element!");
00207 Exit();
00208 }
00209 ptr=GetDataPtr(len+(x.attribwhitespace ? 2 : 3));
00210 }
00211 if(x.attribwhitespace==0)
00212 {
00213 *(ptr++)=' ';
00214 x.attribwhitespace=0;
00215 }
00216
00217 mymemcpy(ptr,str,len);
00218 ptr+=len;
00219 *(ptr++)='=';
00220 *(ptr++)='"';
00221
00222 x.status=XMLOUTPUT_OPENATTRIB;
00223 }
|
|
||||||||||||
|
Definition at line 105 of file XMLOutput.hpp. 00106 {
00107 switch(x.status)
00108 {
00109 case XMLOUTPUT_OPENLABEL:
00110 StoreChar('>');
00111 GotoNextLine(1);
00112 break;
00113
00114 case XMLOUTPUT_OPENATTRIB:
00115 Error("Cannot start element within attribute!");
00116 Exit();
00117
00118 case XMLOUTPUT_AFTERENDLABEL:
00119 case XMLOUTPUT_AFTERDATA:
00120 GotoNextLine(1);
00121 break;
00122
00123 case XMLOUTPUT_INIT:
00124 curcol+=coldelta;
00125 break;
00126 }
00127 StoreChar('<');
00128
00129 x.status=XMLOUTPUT_OPENLABEL;
00130 StoreData(str,len);
00131
00132 x.attribwhitespace=0;
00133 }
|
|
||||||||||||
|
Definition at line 255 of file XMLOutput.hpp. 00256 {
00257 characters(str,len);
00258 }
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001