/* * StringToXMLComposer.cpp * * Created on: Nov 23, 2013 * Author: Jan Travnicek */ #include "StringToXMLComposer.h" namespace string { void StringToXMLComposer::Visit(std::list<sax::Token>& out, const alphabet::Symbol& symbol) { out.push_back(sax::Token("symbol", sax::Token::START_ELEMENT)); out.push_back(sax::Token(symbol.getSymbol(), sax::Token::CHARACTER)); out.push_back(sax::Token("symbol", sax::Token::END_ELEMENT)); } void StringToXMLComposer::Visit(std::list<sax::Token>& out, const String& string) { out.push_back(sax::Token("string", sax::Token::START_ELEMENT)); for(const auto& symbol : string.getContent()) { Visit(out, symbol); } out.push_back(sax::Token("string", sax::Token::END_ELEMENT)); } std::list<sax::Token> StringToXMLComposer::compose(const String& string) { std::list<sax::Token> out; Visit(out, string); return out; } } /* namespace string */