arabica/examples/SAX/writer.cpp
2003-08-28 12:59:07 +00:00

60 lines
1.2 KiB
C++

#ifdef _MSC_VER
# pragma warning(disable:4786)
#endif
#include <SAX/XMLReader.h>
#include <SAX/helpers/FeatureNames.h>
#include <SAX/InputSource.h>
#include <iostream>
#include <SAX/filter/Writer.h>
////////////////////////////////////////////////
int main(int argc, char* argv[])
{
if(argc < 2)
{
std::cout << "Usage : " << argv[0] << " xmlfile ... " << std::endl;
return 0;
} // if(argc < 2)
{ // narrow
SAX::FeatureNames<std::string> fNames;
SAX::XMLReader<std::string> parser;
SAX::Writer writer(std::cout);
writer.setParent(parser);
for(int i = 1; i < argc; ++i)
{
std::string file(argv[i]);
SAX::InputSource is;
is.setSystemId(file);
if(file != "-")
writer.parse(is);
else
{
is.setSystemId("stdin");
is.setByteStream(std::cin);
writer.parse(is);
} // if(file != "-")
} // for ...
}
/*
{ // wide
SAX::XMLReader<std::wstring> parser;
SAX::wWriter writer(std::wcout);
writer.setParent(parser);
SAX::wInputSource is;
is.setSystemId(L"stdin");
is.setByteStream(std::cin);
writer.parse(is);
}
*/
return 0;
} // main
// end of file