void ClientXMLDocument::phraseToXML(const Phrase & phrase) { int pint(0); string pmode(""); if (cl("-inv").optionflag) { outs << " <SENTENCE Type=\"" << phrase.back().second << "\" Inv=\"" << cl("-inv").optionarg << "\">" << endl; } else { outs << " <SENTENCE Type=\"" << phrase.back().second << "\">" << endl; } for(unsigned i=0; i<phrase.size()-1; i++) { if(phrase[i+1].first == TOKEN_PHRASE_DELIMITER) { pint = 2; switch (phrase[i+1].second[0]) { case ':' : pmode="."; break; default : pmode="?"; break; } } if(phrase[i+1].first == TOKEN_SENTENCE_DELIMITER) { pint = 5; switch (phrase[i+1].second[0]) { case '?' : pmode="?"; break; default : pmode="."; break; } } outs << " <WORD Orth=\"" << phrase[i].second << "\" PInt=\"" <<pint << "\" PMode=\"" << pmode << "\"></WORD>" << endl; if(pint) { pint = 0; pmode=""; i++; } } outs << " </SENTENCE>" << endl; }