summaryrefslogtreecommitdiff
path: root/cpp/src/slice2xsd/Validate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2xsd/Validate.cpp')
-rw-r--r--cpp/src/slice2xsd/Validate.cpp200
1 files changed, 0 insertions, 200 deletions
diff --git a/cpp/src/slice2xsd/Validate.cpp b/cpp/src/slice2xsd/Validate.cpp
deleted file mode 100644
index 49ac7202e2a..00000000000
--- a/cpp/src/slice2xsd/Validate.cpp
+++ /dev/null
@@ -1,200 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003
-// ZeroC, Inc.
-// Billerica, MA, USA
-//
-// All Rights Reserved.
-//
-// Ice is free software; you can redistribute it and/or modify it under
-// the terms of the GNU General Public License version 2 as published by
-// the Free Software Foundation.
-//
-// **********************************************************************
-
-#include <IceUtil/Config.h>
-
-#include <Ice/Xerces.h>
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/util/XMLString.hpp>
-#include <xercesc/dom/DOMException.hpp>
-#include <xercesc/parsers/XercesDOMParser.hpp>
-#include <xercesc/sax/ErrorHandler.hpp>
-#include <xercesc/sax/SAXParseException.hpp>
-
-#include <iostream>
-
-using namespace std;
-
-//
-// Utility to make the usage of xerces easier.
-//
-static string
-toString(const XMLCh* s)
-{
- char* t = ICE_XERCES_NS XMLString::transcode(s);
- string r(t);
- delete[] t;
- return r;
-}
-
-class DOMTreeErrorReporter : public ICE_XERCES_NS ErrorHandler
-{
-public:
- DOMTreeErrorReporter() :
- _sawErrors(false)
- {
- }
-
- void
- warning(const ICE_XERCES_NS SAXParseException& toCatch)
- {
- cerr << "Warning at file \"" << toString(toCatch.getSystemId())
- << "\", line " << toCatch.getLineNumber()
- << ", column " << toCatch.getColumnNumber()
- << "\n Message: " << toString(toCatch.getMessage()) << endl;
- }
-
- void
- error(const ICE_XERCES_NS SAXParseException& toCatch)
- {
- _sawErrors = true;
- cerr << "Error at file \"" << toString(toCatch.getSystemId())
- << "\", line " << toCatch.getLineNumber()
- << ", column " << toCatch.getColumnNumber()
- << "\n Message: " << toString(toCatch.getMessage()) << endl;
- }
-
- void
- fatalError(const ICE_XERCES_NS SAXParseException& toCatch)
- {
- _sawErrors = true;
- cerr << "Fatal at file \"" << toString(toCatch.getSystemId())
- << "\", line " << toCatch.getLineNumber()
- << ", column " << toCatch.getColumnNumber()
- << "\n Message: " << toString(toCatch.getMessage()) << endl;
- }
-
- void resetErrors()
- {
- }
-
- bool getSawErrors() const { return _sawErrors; }
-
- bool _sawErrors;
-};
-
-void
-usage(const char* n)
-{
- cerr << "Usage: " << n << " xml-files...\n";
- cerr <<
- "Options:\n"
- "-h, --help Show this message.\n"
- "-v, --version Display the Ice version.\n"
- ;
-}
-
-int
-main(int argc, char** argv)
-{
- //
- // Initialize the XML4C2 system
- //
- try
- {
- ICE_XERCES_NS XMLPlatformUtils::Initialize();
- }
- catch(const ICE_XERCES_NS XMLException& toCatch)
- {
- cerr << "Error during Xerces-c Initialization.\n"
- << " Exception message:"
- << toString(toCatch.getMessage()) << endl;
- return 1;
- }
-
- int idx = 1;
- while(idx < argc)
- {
- if(strcmp(argv[idx], "-h") == 0 || strcmp(argv[idx], "--help") == 0)
- {
- usage(argv[0]);
- return EXIT_SUCCESS;
- }
- else if(strcmp(argv[idx], "-v") == 0 || strcmp(argv[idx], "--version") == 0)
- {
- cout << ICE_STRING_VERSION << endl;
- return EXIT_SUCCESS;
- }
- else if(argv[idx][0] == '-')
- {
- cerr << argv[0] << ": unknown option `" << argv[idx] << "'" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
- }
- else
- {
- ++idx;
- }
- }
-
- if(argc < 2)
- {
- cerr << argv[0] << ": no input file" << endl;
- usage(argv[0]);
- return EXIT_FAILURE;
- }
-
- bool errorsOccured = false;
- for(idx = 1 ; idx < argc ; ++idx)
- {
- //
- // Create our parser, then attach an error handler to the parser.
- // The parser will call back to methods of the ErrorHandler if it
- // discovers errors during the course of parsing the XML document.
- //
- ICE_XERCES_NS XercesDOMParser* parser = new ICE_XERCES_NS XercesDOMParser;
- parser->setValidationScheme(ICE_XERCES_NS XercesDOMParser::Val_Auto);
- parser->setDoNamespaces(true);
- parser->setDoSchema(true);
- parser->setValidationSchemaFullChecking(true);
-
- DOMTreeErrorReporter errReporter;
- parser->setErrorHandler(&errReporter);
- parser->setCreateEntityReferenceNodes(false);
-
- //
- // Parse the XML file, catching any XML exceptions that might propogate
- // out of it.
- //
- try
- {
- parser->parse(argv[idx]);
- if(parser->getErrorCount() > 0)
- {
- errorsOccured = true;
- }
- }
- catch(const ICE_XERCES_NS XMLException& e)
- {
- cerr << "An error occured during parsing\n Message: " << toString(e.getMessage()) << endl;
- errorsOccured = true;
- }
- catch(const ICE_XERCES_NS DOMException& e)
- {
- cerr << "A DOM error occured during parsing\n DOMException code: " << e.code << endl;
- errorsOccured = true;
- }
- catch(...)
- {
- cerr << "An error occured during parsing\n " << endl;
- errorsOccured = true;
- }
-
- delete parser;
- }
-
- ICE_XERCES_NS XMLPlatformUtils::Terminate();
-
- return (errorsOccured) ? EXIT_FAILURE : EXIT_SUCCESS;
-}