// file : xsd/cxx/parser/validating/xml-schema-pskel.hxx // copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX #define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX #include #include // std::auto_ptr/unique_ptr #include // XSD_AUTO_PTR #include #include namespace xsd { namespace cxx { namespace parser { namespace validating { // anyType and anySimpleType. All events are routed to the // _any_* callbacks. // template struct any_type_pskel: complex_content { virtual bool _start_element_impl (const ro_string&, const ro_string&, const ro_string*); virtual bool _end_element_impl (const ro_string&, const ro_string&); virtual bool _attribute_impl_phase_two (const ro_string&, const ro_string&, const ro_string&); virtual bool _characters_impl (const ro_string&); virtual void post_any_type () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct any_simple_type_pskel: simple_content { virtual bool _characters_impl (const ro_string&); virtual void post_any_simple_type () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // Boolean. // template struct boolean_pskel: simple_content { virtual bool post_boolean () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // 8-bit // template struct byte_pskel: simple_content { virtual signed char post_byte () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct unsigned_byte_pskel: simple_content { virtual unsigned char post_unsigned_byte () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // 16-bit // template struct short_pskel: simple_content { virtual short post_short () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct unsigned_short_pskel: simple_content { virtual unsigned short post_unsigned_short () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // 32-bit // template struct int_pskel: simple_content { virtual int post_int () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct unsigned_int_pskel: simple_content { virtual unsigned int post_unsigned_int () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // 64-bit // template struct long_pskel: simple_content { virtual long long post_long () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct unsigned_long_pskel: simple_content { virtual unsigned long long post_unsigned_long () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // Arbitrary-length integers. // template struct integer_pskel: simple_content { virtual long long post_integer () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct negative_integer_pskel: simple_content { virtual long long post_negative_integer () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct non_positive_integer_pskel: simple_content { virtual long long post_non_positive_integer () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct positive_integer_pskel: simple_content { virtual unsigned long long post_positive_integer () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct non_negative_integer_pskel: simple_content { virtual unsigned long long post_non_negative_integer () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // Floats. // template struct float_pskel: simple_content { virtual float post_float () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct double_pskel: simple_content { virtual double post_double () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct decimal_pskel: simple_content { virtual double post_decimal () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // Strings. // template struct string_pskel: simple_content { virtual std::basic_string post_string () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct normalized_string_pskel: simple_content { virtual std::basic_string post_normalized_string () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct token_pskel: simple_content { virtual std::basic_string post_token () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct name_pskel: simple_content { virtual std::basic_string post_name () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct nmtoken_pskel: simple_content { virtual std::basic_string post_nmtoken () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct nmtokens_pskel: list_base { virtual string_sequence post_nmtokens () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct ncname_pskel: simple_content { virtual std::basic_string post_ncname () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct id_pskel: simple_content { virtual std::basic_string post_id () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct idref_pskel: simple_content { virtual std::basic_string post_idref () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct idrefs_pskel: list_base { virtual string_sequence post_idrefs () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // Language. // template struct language_pskel: simple_content { virtual std::basic_string post_language () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // URI. // template struct uri_pskel: simple_content { virtual std::basic_string post_uri () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // QName. // template struct qname_pskel: simple_content { virtual qname post_qname () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // Base64 and hex binaries. // template struct base64_binary_pskel: simple_content { virtual XSD_AUTO_PTR post_base64_binary () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct hex_binary_pskel: simple_content { virtual XSD_AUTO_PTR post_hex_binary () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; // Time and date types. // template struct gday_pskel: simple_content { virtual gday post_gday () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct gmonth_pskel: simple_content { virtual gmonth post_gmonth () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct gyear_pskel: simple_content { virtual gyear post_gyear () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct gmonth_day_pskel: simple_content { virtual gmonth_day post_gmonth_day () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct gyear_month_pskel: simple_content { virtual gyear_month post_gyear_month () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct date_pskel: simple_content { virtual date post_date () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct time_pskel: simple_content { virtual time post_time () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct date_time_pskel: simple_content { virtual date_time post_date_time () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; template struct duration_pskel: simple_content { virtual duration post_duration () = 0; static const C* _static_type (); virtual const C* _dynamic_type () const; }; } } } } #include #endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX #include