// Copyright (c) 2005-2014 Code Synthesis Tools CC
//
// This program was generated by CodeSynthesis XSD, an XML Schema to
// C++ data binding compiler.
//
// This program 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.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
// In addition, as a special exception, Code Synthesis Tools CC gives
// permission to link this program with the Xerces-C++ library (or with
// modified versions of Xerces-C++ that use the same license as Xerces-C++),
// and distribute linked combinations including the two. You must obey
// the GNU General Public License version 2 in all respects for all of
// the code used other than Xerces-C++. If you modify this copy of the
// program, you may extend this exception to your version of the program,
// but you are not obligated to do so. If you do not wish to do so, delete
// this exception statement from your version.
//
// Furthermore, Code Synthesis Tools CC makes a special exception for
// the Free/Libre and Open Source Software (FLOSS) which is described
// in the accompanying FLOSSE file.
//

#ifndef CXX_WORK_XSD_4_0_0_XSD_TESTS_CXX_PARSER_BUILT_IN_TEST_PSKEL_HXX
#define CXX_WORK_XSD_4_0_0_XSD_TESTS_CXX_PARSER_BUILT_IN_TEST_PSKEL_HXX

// Begin prologue.
//
//
// End prologue.

#include <xsd/cxx/config.hxx>

#if (XSD_INT_VERSION != 4000000L)
#error XSD runtime version mismatch
#endif

#include <xsd/cxx/pre.hxx>

// Forward declarations
//
namespace test
{
  class type_pskel;
}


#ifndef XSD_USE_CHAR
#define XSD_USE_CHAR
#endif

#ifndef XSD_CXX_PARSER_USE_CHAR
#define XSD_CXX_PARSER_USE_CHAR
#endif

#include <xsd/cxx/xml/char-utf8.hxx>
#include <xsd/cxx/xml/error-handler.hxx>
#include <xsd/cxx/parser/exceptions.hxx>
#include <xsd/cxx/parser/elements.hxx>
#include <xsd/cxx/parser/xml-schema.hxx>
#include <xsd/cxx/parser/non-validating/parser.hxx>
#include <xsd/cxx/parser/non-validating/xml-schema-pskel.hxx>
#include <xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx>
#include <xsd/cxx/parser/xerces/elements.hxx>

namespace xml_schema
{
  // Built-in XML Schema types mapping.
  //
  typedef ::xsd::cxx::parser::string_sequence< char > string_sequence;
  typedef ::xsd::cxx::parser::qname< char > qname;
  typedef ::xsd::cxx::parser::buffer buffer;
  typedef ::xsd::cxx::parser::time_zone time_zone;
  typedef ::xsd::cxx::parser::gday gday;
  typedef ::xsd::cxx::parser::gmonth gmonth;
  typedef ::xsd::cxx::parser::gyear gyear;
  typedef ::xsd::cxx::parser::gmonth_day gmonth_day;
  typedef ::xsd::cxx::parser::gyear_month gyear_month;
  typedef ::xsd::cxx::parser::date date;
  typedef ::xsd::cxx::parser::time time;
  typedef ::xsd::cxx::parser::date_time date_time;
  typedef ::xsd::cxx::parser::duration duration;

  // Base parser skeletons.
  //
  typedef ::xsd::cxx::parser::parser_base< char > parser_base;
  typedef ::xsd::cxx::parser::non_validating::empty_content< char > empty_content;
  typedef ::xsd::cxx::parser::non_validating::simple_content< char > simple_content;
  typedef ::xsd::cxx::parser::non_validating::complex_content< char > complex_content;
  typedef ::xsd::cxx::parser::non_validating::list_base< char > list_base;

  // Parser skeletons and implementations for the XML Schema
  // built-in types.
  //
  typedef ::xsd::cxx::parser::non_validating::any_type_pskel< char > any_type_pskel;
  typedef ::xsd::cxx::parser::non_validating::any_type_pimpl< char > any_type_pimpl;

  typedef ::xsd::cxx::parser::non_validating::any_simple_type_pskel< char > any_simple_type_pskel;
  typedef ::xsd::cxx::parser::non_validating::any_simple_type_pimpl< char > any_simple_type_pimpl;

  typedef ::xsd::cxx::parser::non_validating::byte_pskel< char > byte_pskel;
  typedef ::xsd::cxx::parser::non_validating::byte_pimpl< char > byte_pimpl;

  typedef ::xsd::cxx::parser::non_validating::unsigned_byte_pskel< char > unsigned_byte_pskel;
  typedef ::xsd::cxx::parser::non_validating::unsigned_byte_pimpl< char > unsigned_byte_pimpl;

  typedef ::xsd::cxx::parser::non_validating::short_pskel< char > short_pskel;
  typedef ::xsd::cxx::parser::non_validating::short_pimpl< char > short_pimpl;

  typedef ::xsd::cxx::parser::non_validating::unsigned_short_pskel< char > unsigned_short_pskel;
  typedef ::xsd::cxx::parser::non_validating::unsigned_short_pimpl< char > unsigned_short_pimpl;

  typedef ::xsd::cxx::parser::non_validating::int_pskel< char > int_pskel;
  typedef ::xsd::cxx::parser::non_validating::int_pimpl< char > int_pimpl;

  typedef ::xsd::cxx::parser::non_validating::unsigned_int_pskel< char > unsigned_int_pskel;
  typedef ::xsd::cxx::parser::non_validating::unsigned_int_pimpl< char > unsigned_int_pimpl;

  typedef ::xsd::cxx::parser::non_validating::long_pskel< char > long_pskel;
  typedef ::xsd::cxx::parser::non_validating::long_pimpl< char > long_pimpl;

  typedef ::xsd::cxx::parser::non_validating::unsigned_long_pskel< char > unsigned_long_pskel;
  typedef ::xsd::cxx::parser::non_validating::unsigned_long_pimpl< char > unsigned_long_pimpl;

  typedef ::xsd::cxx::parser::non_validating::integer_pskel< char > integer_pskel;
  typedef ::xsd::cxx::parser::non_validating::integer_pimpl< char > integer_pimpl;

  typedef ::xsd::cxx::parser::non_validating::non_positive_integer_pskel< char > non_positive_integer_pskel;
  typedef ::xsd::cxx::parser::non_validating::non_positive_integer_pimpl< char > non_positive_integer_pimpl;

  typedef ::xsd::cxx::parser::non_validating::non_negative_integer_pskel< char > non_negative_integer_pskel;
  typedef ::xsd::cxx::parser::non_validating::non_negative_integer_pimpl< char > non_negative_integer_pimpl;

  typedef ::xsd::cxx::parser::non_validating::positive_integer_pskel< char > positive_integer_pskel;
  typedef ::xsd::cxx::parser::non_validating::positive_integer_pimpl< char > positive_integer_pimpl;

  typedef ::xsd::cxx::parser::non_validating::negative_integer_pskel< char > negative_integer_pskel;
  typedef ::xsd::cxx::parser::non_validating::negative_integer_pimpl< char > negative_integer_pimpl;

  typedef ::xsd::cxx::parser::non_validating::boolean_pskel< char > boolean_pskel;
  typedef ::xsd::cxx::parser::non_validating::boolean_pimpl< char > boolean_pimpl;

  typedef ::xsd::cxx::parser::non_validating::float_pskel< char > float_pskel;
  typedef ::xsd::cxx::parser::non_validating::float_pimpl< char > float_pimpl;

  typedef ::xsd::cxx::parser::non_validating::double_pskel< char > double_pskel;
  typedef ::xsd::cxx::parser::non_validating::double_pimpl< char > double_pimpl;

  typedef ::xsd::cxx::parser::non_validating::decimal_pskel< char > decimal_pskel;
  typedef ::xsd::cxx::parser::non_validating::decimal_pimpl< char > decimal_pimpl;

  typedef ::xsd::cxx::parser::non_validating::string_pskel< char > string_pskel;
  typedef ::xsd::cxx::parser::non_validating::string_pimpl< char > string_pimpl;

  typedef ::xsd::cxx::parser::non_validating::normalized_string_pskel< char > normalized_string_pskel;
  typedef ::xsd::cxx::parser::non_validating::normalized_string_pimpl< char > normalized_string_pimpl;

  typedef ::xsd::cxx::parser::non_validating::token_pskel< char > token_pskel;
  typedef ::xsd::cxx::parser::non_validating::token_pimpl< char > token_pimpl;

  typedef ::xsd::cxx::parser::non_validating::name_pskel< char > name_pskel;
  typedef ::xsd::cxx::parser::non_validating::name_pimpl< char > name_pimpl;

  typedef ::xsd::cxx::parser::non_validating::nmtoken_pskel< char > nmtoken_pskel;
  typedef ::xsd::cxx::parser::non_validating::nmtoken_pimpl< char > nmtoken_pimpl;

  typedef ::xsd::cxx::parser::non_validating::nmtokens_pskel< char > nmtokens_pskel;
  typedef ::xsd::cxx::parser::non_validating::nmtokens_pimpl< char > nmtokens_pimpl;

  typedef ::xsd::cxx::parser::non_validating::ncname_pskel< char > ncname_pskel;
  typedef ::xsd::cxx::parser::non_validating::ncname_pimpl< char > ncname_pimpl;

  typedef ::xsd::cxx::parser::non_validating::language_pskel< char > language_pskel;
  typedef ::xsd::cxx::parser::non_validating::language_pimpl< char > language_pimpl;

  typedef ::xsd::cxx::parser::non_validating::id_pskel< char > id_pskel;
  typedef ::xsd::cxx::parser::non_validating::id_pimpl< char > id_pimpl;

  typedef ::xsd::cxx::parser::non_validating::idref_pskel< char > idref_pskel;
  typedef ::xsd::cxx::parser::non_validating::idref_pimpl< char > idref_pimpl;

  typedef ::xsd::cxx::parser::non_validating::idrefs_pskel< char > idrefs_pskel;
  typedef ::xsd::cxx::parser::non_validating::idrefs_pimpl< char > idrefs_pimpl;

  typedef ::xsd::cxx::parser::non_validating::uri_pskel< char > uri_pskel;
  typedef ::xsd::cxx::parser::non_validating::uri_pimpl< char > uri_pimpl;

  typedef ::xsd::cxx::parser::non_validating::qname_pskel< char > qname_pskel;
  typedef ::xsd::cxx::parser::non_validating::qname_pimpl< char > qname_pimpl;

  typedef ::xsd::cxx::parser::non_validating::base64_binary_pskel< char > base64_binary_pskel;
  typedef ::xsd::cxx::parser::non_validating::base64_binary_pimpl< char > base64_binary_pimpl;

  typedef ::xsd::cxx::parser::non_validating::hex_binary_pskel< char > hex_binary_pskel;
  typedef ::xsd::cxx::parser::non_validating::hex_binary_pimpl< char > hex_binary_pimpl;

  typedef ::xsd::cxx::parser::non_validating::date_pskel< char > date_pskel;
  typedef ::xsd::cxx::parser::non_validating::date_pimpl< char > date_pimpl;

  typedef ::xsd::cxx::parser::non_validating::date_time_pskel< char > date_time_pskel;
  typedef ::xsd::cxx::parser::non_validating::date_time_pimpl< char > date_time_pimpl;

  typedef ::xsd::cxx::parser::non_validating::duration_pskel< char > duration_pskel;
  typedef ::xsd::cxx::parser::non_validating::duration_pimpl< char > duration_pimpl;

  typedef ::xsd::cxx::parser::non_validating::gday_pskel< char > gday_pskel;
  typedef ::xsd::cxx::parser::non_validating::gday_pimpl< char > gday_pimpl;

  typedef ::xsd::cxx::parser::non_validating::gmonth_pskel< char > gmonth_pskel;
  typedef ::xsd::cxx::parser::non_validating::gmonth_pimpl< char > gmonth_pimpl;

  typedef ::xsd::cxx::parser::non_validating::gmonth_day_pskel< char > gmonth_day_pskel;
  typedef ::xsd::cxx::parser::non_validating::gmonth_day_pimpl< char > gmonth_day_pimpl;

  typedef ::xsd::cxx::parser::non_validating::gyear_pskel< char > gyear_pskel;
  typedef ::xsd::cxx::parser::non_validating::gyear_pimpl< char > gyear_pimpl;

  typedef ::xsd::cxx::parser::non_validating::gyear_month_pskel< char > gyear_month_pskel;
  typedef ::xsd::cxx::parser::non_validating::gyear_month_pimpl< char > gyear_month_pimpl;

  typedef ::xsd::cxx::parser::non_validating::time_pskel< char > time_pskel;
  typedef ::xsd::cxx::parser::non_validating::time_pimpl< char > time_pimpl;

  // Exceptions. See libxsd/xsd/cxx/parser/exceptions.hxx for details.
  //
  typedef ::xsd::cxx::parser::exception< char > exception;

  // Parsing diagnostics.
  //
  typedef ::xsd::cxx::parser::severity severity;
  typedef ::xsd::cxx::parser::error< char > error;
  typedef ::xsd::cxx::parser::diagnostics< char > diagnostics;
  typedef ::xsd::cxx::parser::parsing< char > parsing;

  // Error handler. See libxsd/xsd/cxx/xml/error-handler.hxx for details.
  //
  typedef ::xsd::cxx::xml::error_handler< char > error_handler;

  // Read-only string.
  //
  typedef ::xsd::cxx::ro_string< char > ro_string;

  // Parsing flags. See libxsd/xsd/cxx/parser/xerces/elements.hxx
  // for details.
  //
  typedef ::xsd::cxx::parser::xerces::flags flags;

  // Parsing properties. See libxsd/xsd/cxx/parser/xerces/elements.hxx
  // for details.
  //
  typedef ::xsd::cxx::parser::xerces::properties< char > properties;

  // Document type. See libxsd/xsd/cxx/parser/xerces/elements.hxx
  // for details.
  //
  typedef ::xsd::cxx::parser::xerces::document< char > document;
}

namespace test
{
  class type_pskel: public ::xml_schema::complex_content
  {
    public:
    // Parser callbacks. Override them in your implementation.
    //
    // virtual void
    // pre ();

    virtual void
    any_type ();

    virtual void
    any_simple_type ();

    virtual void
    boolean (bool);

    virtual void
    byte (signed char);

    virtual void
    unsigned_byte (unsigned char);

    virtual void
    short_ (short);

    virtual void
    unsigned_short (unsigned short);

    virtual void
    int_ (int);

    virtual void
    unsigned_int (unsigned int);

    virtual void
    long_ (long long);

    virtual void
    unsigned_long (unsigned long long);

    virtual void
    integer (long long);

    virtual void
    negative_integer (long long);

    virtual void
    non_positive_integer (long long);

    virtual void
    positive_integer (unsigned long long);

    virtual void
    non_negative_integer (unsigned long long);

    virtual void
    float_ (float);

    virtual void
    double_ (double);

    virtual void
    decimal (double);

    virtual void
    string (const ::std::string&);

    virtual void
    normalized_string (const ::std::string&);

    virtual void
    token (const ::std::string&);

    virtual void
    name (const ::std::string&);

    virtual void
    nmtoken (const ::std::string&);

    virtual void
    nmtokens (const ::xml_schema::string_sequence&);

    virtual void
    ncname (const ::std::string&);

    virtual void
    id (const ::std::string&);

    virtual void
    idref (const ::std::string&);

    virtual void
    idrefs (const ::xml_schema::string_sequence&);

    virtual void
    language (const ::std::string&);

    virtual void
    uri (const ::std::string&);

    virtual void
    qname (const ::xml_schema::qname&);

    virtual void
    base64_binary (::std::auto_ptr< ::xml_schema::buffer >);

    virtual void
    hex_binary (::std::auto_ptr< ::xml_schema::buffer >);

    virtual void
    gday (const ::xml_schema::gday&);

    virtual void
    gmonth (const ::xml_schema::gmonth&);

    virtual void
    gyear (const ::xml_schema::gyear&);

    virtual void
    gmonth_day (const ::xml_schema::gmonth_day&);

    virtual void
    gyear_month (const ::xml_schema::gyear_month&);

    virtual void
    date (const ::xml_schema::date&);

    virtual void
    time (const ::xml_schema::time&);

    virtual void
    date_time (const ::xml_schema::date_time&);

    virtual void
    duration (const ::xml_schema::duration&);

    virtual void
    post_type ();

    // Parser construction API.
    //
    void
    any_type_parser (::xml_schema::any_type_pskel&);

    void
    any_simple_type_parser (::xml_schema::any_simple_type_pskel&);

    void
    boolean_parser (::xml_schema::boolean_pskel&);

    void
    byte_parser (::xml_schema::byte_pskel&);

    void
    unsigned_byte_parser (::xml_schema::unsigned_byte_pskel&);

    void
    short_parser (::xml_schema::short_pskel&);

    void
    unsigned_short_parser (::xml_schema::unsigned_short_pskel&);

    void
    int_parser (::xml_schema::int_pskel&);

    void
    unsigned_int_parser (::xml_schema::unsigned_int_pskel&);

    void
    long_parser (::xml_schema::long_pskel&);

    void
    unsigned_long_parser (::xml_schema::unsigned_long_pskel&);

    void
    integer_parser (::xml_schema::integer_pskel&);

    void
    negative_integer_parser (::xml_schema::negative_integer_pskel&);

    void
    non_positive_integer_parser (::xml_schema::non_positive_integer_pskel&);

    void
    positive_integer_parser (::xml_schema::positive_integer_pskel&);

    void
    non_negative_integer_parser (::xml_schema::non_negative_integer_pskel&);

    void
    float_parser (::xml_schema::float_pskel&);

    void
    double_parser (::xml_schema::double_pskel&);

    void
    decimal_parser (::xml_schema::decimal_pskel&);

    void
    string_parser (::xml_schema::string_pskel&);

    void
    normalized_string_parser (::xml_schema::normalized_string_pskel&);

    void
    token_parser (::xml_schema::token_pskel&);

    void
    name_parser (::xml_schema::name_pskel&);

    void
    nmtoken_parser (::xml_schema::nmtoken_pskel&);

    void
    nmtokens_parser (::xml_schema::nmtokens_pskel&);

    void
    ncname_parser (::xml_schema::ncname_pskel&);

    void
    id_parser (::xml_schema::id_pskel&);

    void
    idref_parser (::xml_schema::idref_pskel&);

    void
    idrefs_parser (::xml_schema::idrefs_pskel&);

    void
    language_parser (::xml_schema::language_pskel&);

    void
    uri_parser (::xml_schema::uri_pskel&);

    void
    qname_parser (::xml_schema::qname_pskel&);

    void
    base64_binary_parser (::xml_schema::base64_binary_pskel&);

    void
    hex_binary_parser (::xml_schema::hex_binary_pskel&);

    void
    gday_parser (::xml_schema::gday_pskel&);

    void
    gmonth_parser (::xml_schema::gmonth_pskel&);

    void
    gyear_parser (::xml_schema::gyear_pskel&);

    void
    gmonth_day_parser (::xml_schema::gmonth_day_pskel&);

    void
    gyear_month_parser (::xml_schema::gyear_month_pskel&);

    void
    date_parser (::xml_schema::date_pskel&);

    void
    time_parser (::xml_schema::time_pskel&);

    void
    date_time_parser (::xml_schema::date_time_pskel&);

    void
    duration_parser (::xml_schema::duration_pskel&);

    void
    parsers (::xml_schema::any_type_pskel& /* any-type */,
             ::xml_schema::any_simple_type_pskel& /* any-simple-type */,
             ::xml_schema::boolean_pskel& /* boolean */,
             ::xml_schema::byte_pskel& /* byte */,
             ::xml_schema::unsigned_byte_pskel& /* unsigned-byte */,
             ::xml_schema::short_pskel& /* short */,
             ::xml_schema::unsigned_short_pskel& /* unsigned-short */,
             ::xml_schema::int_pskel& /* int */,
             ::xml_schema::unsigned_int_pskel& /* unsigned-int */,
             ::xml_schema::long_pskel& /* long */,
             ::xml_schema::unsigned_long_pskel& /* unsigned-long */,
             ::xml_schema::integer_pskel& /* integer */,
             ::xml_schema::negative_integer_pskel& /* negative-integer */,
             ::xml_schema::non_positive_integer_pskel& /* non-positive-integer */,
             ::xml_schema::positive_integer_pskel& /* positive-integer */,
             ::xml_schema::non_negative_integer_pskel& /* non-negative-integer */,
             ::xml_schema::float_pskel& /* float */,
             ::xml_schema::double_pskel& /* double */,
             ::xml_schema::decimal_pskel& /* decimal */,
             ::xml_schema::string_pskel& /* string */,
             ::xml_schema::normalized_string_pskel& /* normalized-string */,
             ::xml_schema::token_pskel& /* token */,
             ::xml_schema::name_pskel& /* name */,
             ::xml_schema::nmtoken_pskel& /* nmtoken */,
             ::xml_schema::nmtokens_pskel& /* nmtokens */,
             ::xml_schema::ncname_pskel& /* ncname */,
             ::xml_schema::id_pskel& /* id */,
             ::xml_schema::idref_pskel& /* idref */,
             ::xml_schema::idrefs_pskel& /* idrefs */,
             ::xml_schema::language_pskel& /* language */,
             ::xml_schema::uri_pskel& /* uri */,
             ::xml_schema::qname_pskel& /* qname */,
             ::xml_schema::base64_binary_pskel& /* base64_binary */,
             ::xml_schema::hex_binary_pskel& /* hex_binary */,
             ::xml_schema::gday_pskel& /* gday */,
             ::xml_schema::gmonth_pskel& /* gmonth */,
             ::xml_schema::gyear_pskel& /* gyear */,
             ::xml_schema::gmonth_day_pskel& /* gmonth_day */,
             ::xml_schema::gyear_month_pskel& /* gyear_month */,
             ::xml_schema::date_pskel& /* date */,
             ::xml_schema::time_pskel& /* time */,
             ::xml_schema::date_time_pskel& /* date_time */,
             ::xml_schema::duration_pskel& /* duration */);

    // Constructor.
    //
    type_pskel ();

    // Implementation.
    //
    protected:
    virtual bool
    _start_element_impl (const ::xml_schema::ro_string&,
                         const ::xml_schema::ro_string&,
                         const ::xml_schema::ro_string*);

    virtual bool
    _end_element_impl (const ::xml_schema::ro_string&,
                       const ::xml_schema::ro_string&);

    protected:
    ::xml_schema::any_type_pskel* any_type_parser_;
    ::xml_schema::any_simple_type_pskel* any_simple_type_parser_;
    ::xml_schema::boolean_pskel* boolean_parser_;
    ::xml_schema::byte_pskel* byte_parser_;
    ::xml_schema::unsigned_byte_pskel* unsigned_byte_parser_;
    ::xml_schema::short_pskel* short__parser_;
    ::xml_schema::unsigned_short_pskel* unsigned_short_parser_;
    ::xml_schema::int_pskel* int__parser_;
    ::xml_schema::unsigned_int_pskel* unsigned_int_parser_;
    ::xml_schema::long_pskel* long__parser_;
    ::xml_schema::unsigned_long_pskel* unsigned_long_parser_;
    ::xml_schema::integer_pskel* integer_parser_;
    ::xml_schema::negative_integer_pskel* negative_integer_parser_;
    ::xml_schema::non_positive_integer_pskel* non_positive_integer_parser_;
    ::xml_schema::positive_integer_pskel* positive_integer_parser_;
    ::xml_schema::non_negative_integer_pskel* non_negative_integer_parser_;
    ::xml_schema::float_pskel* float__parser_;
    ::xml_schema::double_pskel* double__parser_;
    ::xml_schema::decimal_pskel* decimal_parser_;
    ::xml_schema::string_pskel* string_parser_;
    ::xml_schema::normalized_string_pskel* normalized_string_parser_;
    ::xml_schema::token_pskel* token_parser_;
    ::xml_schema::name_pskel* name_parser_;
    ::xml_schema::nmtoken_pskel* nmtoken_parser_;
    ::xml_schema::nmtokens_pskel* nmtokens_parser_;
    ::xml_schema::ncname_pskel* ncname_parser_;
    ::xml_schema::id_pskel* id_parser_;
    ::xml_schema::idref_pskel* idref_parser_;
    ::xml_schema::idrefs_pskel* idrefs_parser_;
    ::xml_schema::language_pskel* language_parser_;
    ::xml_schema::uri_pskel* uri_parser_;
    ::xml_schema::qname_pskel* qname_parser_;
    ::xml_schema::base64_binary_pskel* base64_binary_parser_;
    ::xml_schema::hex_binary_pskel* hex_binary_parser_;
    ::xml_schema::gday_pskel* gday_parser_;
    ::xml_schema::gmonth_pskel* gmonth_parser_;
    ::xml_schema::gyear_pskel* gyear_parser_;
    ::xml_schema::gmonth_day_pskel* gmonth_day_parser_;
    ::xml_schema::gyear_month_pskel* gyear_month_parser_;
    ::xml_schema::date_pskel* date_parser_;
    ::xml_schema::time_pskel* time_parser_;
    ::xml_schema::date_time_pskel* date_time_parser_;
    ::xml_schema::duration_pskel* duration_parser_;
  };
}

#include "test-pskel.ixx"
#include <xsd/cxx/post.hxx>

// Begin epilogue.
//
//
// End epilogue.

#endif // CXX_WORK_XSD_4_0_0_XSD_TESTS_CXX_PARSER_BUILT_IN_TEST_PSKEL_HXX
