
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_xml_validation_xmlschema_ValidationException__
#define __gnu_xml_validation_xmlschema_ValidationException__

#pragma interface

#include <org/xml/sax/SAXParseException.h>
extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace validation
      {
        namespace xmlschema
        {
            class ValidationException;
        }
      }
    }
  }
  namespace org
  {
    namespace xml
    {
      namespace sax
      {
          class Locator;
      }
    }
  }
}

class gnu::xml::validation::xmlschema::ValidationException : public ::org::xml::sax::SAXParseException
{

public: // actually package-private
  ValidationException(::java::lang::String *, ::org::xml::sax::Locator *);
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_validation_xmlschema_ValidationException__
