#include "plattform_guard.h" #include "transformation_facade.h" #include "boost/program_options.hpp" #include #include #include int main(int ac, char** av) { boost::program_options::options_description optionDescription( "Supported options" ); optionDescription.add_options() ("transformation", boost::program_options::value()->required(), "transformation file") ("target", boost::program_options::value(), "target file") ("include", boost::program_options::value>(), "include paths") ; boost::program_options::variables_map variables; boost::program_options::store( boost::program_options::parse_command_line( ac, av, optionDescription ), variables ); try { boost::program_options::notify(variables); } catch ( std::exception& exception ) { std::cerr << exception.what() << std::endl; } if ( variables.count("transformation") ) { std::vector includePath; if ( variables.count("include") ) { includePath = variables["include"].as>(); }; InputXSLT::PlattformGuard plattform(includePath); InputXSLT::TransformationFacade transformation( variables["transformation"].as(), plattform.getEntityResolver() ); if ( variables.count("target") ) { return transformation.generate( variables["target"].as() ); } else { return transformation.generate(std::cout); } } else { std::cout << optionDescription << std::endl; return 1; } }