- Main Page
- Classes
- Files

- File List
- File Members

# hello.hxx

Go to the documentation of this file.

    00001 // Copyright (C) 2005-2007 Code Synthesis Tools CC
    00002 //
    00003 // This program was generated by CodeSynthesis XSD, an XML Schema to
    00004 // C++ data binding compiler.
    00005 //
    00006 // This program is free software; you can redistribute it and/or modify
    00007 // it under the terms of the GNU General Public License version 2 as
    00008 // published by the Free Software Foundation.
    00009 //
    00010 // This program is distributed in the hope that it will be useful,
    00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    00013 // GNU General Public License for more details.
    00014 //
    00015 // You should have received a copy of the GNU General Public License
    00016 // along with this program; if not, write to the Free Software
    00017 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
    00018 //
    00019 // In addition, as a special exception, Code Synthesis Tools CC gives
    00020 // permission to link this program with the Xerces-C++ library (or with
    00021 // modified versions of Xerces-C++ that use the same license as Xerces-C++),
    00022 // and distribute linked combinations including the two. You must obey
    00023 // the GNU General Public License version 2 in all respects for all of
    00024 // the code used other than Xerces-C++. If you modify this copy of the
    00025 // program, you may extend this exception to your version of the program,
    00026 // but you are not obligated to do so. If you do not wish to do so, delete
    00027 // this exception statement from your version.
    00028 //
    00029 // Furthermore, Code Synthesis Tools CC makes a special exception for
    00030 // the Free/Libre and Open Source Software (FLOSS) which is described
    00031 // in the accompanying FLOSSE file.
    00032 //
    00033
    00039 #ifndef HELLO_HXX
    00040 #define HELLO_HXX
    00041
    00042 // Begin prologue.
    00043 //
    00044 //
    00045 // End prologue.
    00046
    00047 #include <xsd/cxx/version.hxx>
    00048
    00049 #if (XSD_INT_VERSION != 2999952L)
    00050 #error XSD runtime version mismatch
    00051 #endif
    00052
    00053 #include <xsd/cxx/pre.hxx>
    00054
    00055 #ifndef XSD_USE_CHAR
    00056 #define XSD_USE_CHAR
    00057 #endif
    00058
    00059 #ifndef XSD_CXX_TREE_USE_CHAR
    00060 #define XSD_CXX_TREE_USE_CHAR
    00061 #endif
    00062
    00063 #include <xsd/cxx/tree/exceptions.hxx>
    00064 #include <xsd/cxx/tree/elements.hxx>
    00065 #include <xsd/cxx/tree/types.hxx>
    00066
    00067 #include <xsd/cxx/xml/error-handler.hxx>
    00068
    00069 #include <xsd/cxx/tree/parsing.hxx>
    00070
    00071 #include <xsd/cxx/tree/serialization.hxx>
    00072 #include <xsd/cxx/xml/dom/serialization-header.hxx>
    00073
    00074 namespace xml_schema
    00075 {
    00076   // anyType and anySimpleType.
    00077   //
    00078   typedef ::xsd::cxx::tree::type type;
    00079   typedef ::xsd::cxx::tree::simple_type<type> simple_type;
    00080
    00081   // 8-bit
    00082   //
    00083   typedef signed char byte;
    00084   typedef unsigned char unsigned_byte;
    00085
    00086   // 16-bit
    00087   //
    00088   typedef short short_;
    00089   typedef unsigned short unsigned_short;
    00090
    00091   // 32-bit
    00092   //
    00093   typedef int int_;
    00094   typedef unsigned int unsigned_int;
    00095
    00096   // 64-bit
    00097   //
    00098   typedef long long long_;
    00099   typedef unsigned long long unsigned_long;
    00100
    00101   // Supposed to be arbitrary-length integral types.
    00102   //
    00103   typedef long long integer;
    00104   typedef integer non_positive_integer;
    00105   typedef integer non_negative_integer;
    00106   typedef integer positive_integer;
    00107   typedef integer negative_integer;
    00108
    00109   // Boolean.
    00110   //
    00111   typedef bool boolean;
    00112
    00113   // Floating-point types.
    00114   //
    00115   typedef float float_;
    00116   typedef double double_;
    00117   typedef double decimal;
    00118
    00119   // String types.
    00120   //
    00121   typedef ::xsd::cxx::tree::string< char, simple_type > string;
    00122   typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string;
    00123   typedef ::xsd::cxx::tree::token< char, normalized_string > token;
    00124   typedef ::xsd::cxx::tree::name< char, token > name;
    00125   typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken;
    00126   typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken> nmtokens;
    00127   typedef ::xsd::cxx::tree::ncname< char, name > ncname;
    00128   typedef ::xsd::cxx::tree::language< char, token > language;
    00129
    00130   // ID/IDREF.
    00131   //
    00132   typedef ::xsd::cxx::tree::id< char, ncname > id;
    00133   typedef ::xsd::cxx::tree::idref< type, char, ncname > idref;
    00134   typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs;
    00135
    00136   // URI.
    00137   //
    00138   typedef ::xsd::cxx::tree::uri< char, simple_type > uri;
    00139
    00140   // Qualified name.
    00141   //
    00142   typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname;
    00143
    00144   // Binary.
    00145   //
    00146   typedef ::xsd::cxx::tree::buffer< char > buffer;
    00147   typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary;
    00148   typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary;
    00149
    00150   // Date/time.
    00151   //
    00152   typedef ::xsd::cxx::tree::date< char, simple_type > date;
    00153   typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time;
    00154   typedef ::xsd::cxx::tree::duration< char, simple_type > duration;
    00155   typedef ::xsd::cxx::tree::day< char, simple_type > day;
    00156   typedef ::xsd::cxx::tree::month< char, simple_type > month;
    00157   typedef ::xsd::cxx::tree::month_day< char, simple_type > month_day;
    00158   typedef ::xsd::cxx::tree::year< char, simple_type > year;
    00159   typedef ::xsd::cxx::tree::year_month< char, simple_type > year_month;
    00160   typedef ::xsd::cxx::tree::time< char, simple_type > time;
    00161
    00162   // Entity.
    00163   //
    00164   typedef ::xsd::cxx::tree::entity< char, ncname > entity;
    00165   typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities;
    00166
    00167   // Namespace information. Used in serialization functions.
    00168   //
    00169   typedef ::xsd::cxx::xml::dom::namespace_info < char > namespace_info;
    00170   typedef ::xsd::cxx::xml::dom::namespace_infomap < char > namespace_infomap;
    00171
    00172   // Flags and properties.
    00173   //
    00174   typedef ::xsd::cxx::tree::flags flags;
    00175   typedef ::xsd::cxx::tree::properties< char > properties;
    00176
    00177   // DOM user data key for back pointers to tree nodes.
    00178   //
    00179 #ifndef XSD_CXX_TREE_TREE_NODE_KEY_IN___XML_SCHEMA
    00180 #define XSD_CXX_TREE_TREE_NODE_KEY_IN___XML_SCHEMA
    00181
    00182   const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node;
    00183
    00184 #endif
    00185
    00186   // Exceptions.
    00187   //
    00188   typedef ::xsd::cxx::tree::exception< char > exception;
    00189   typedef ::xsd::cxx::tree::parsing< char > parsing;
    00190   typedef ::xsd::cxx::tree::expected_element< char > expected_element;
    00191   typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element;
    00192   typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute;
    00193   typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator;
    00194   typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content;
    00195   typedef ::xsd::cxx::tree::no_type_info< char > no_type_info;
    00196   typedef ::xsd::cxx::tree::not_derived< char > not_derived;
    00197   typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id;
    00198   typedef ::xsd::cxx::tree::serialization< char > serialization;
    00199   typedef ::xsd::cxx::tree::no_namespace_mapping< char > no_namespace_mapping;
    00200   typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping;
    00201   typedef ::xsd::cxx::tree::xsi_already_in_use< char > xsi_already_in_use;
    00202   typedef ::xsd::cxx::tree::bounds< char > bounds;
    00203
    00204   // Parsing/serialization diagnostics.
    00205   //
    00206   typedef ::xsd::cxx::tree::severity severity;
    00207   typedef ::xsd::cxx::tree::error< char > error;
    00208   typedef ::xsd::cxx::tree::diagnostics< char > diagnostics;
    00209
    00210   // Error handler interface.
    00211   //
    00212   typedef ::xsd::cxx::xml::error_handler< char > error_handler;
    00213 }
    00214
    00215 // Forward declarations.
    00216 //
    00217 class hello_t;
    00218
    00219 #include <memory>    // std::auto_ptr
    00220 #include <algorithm> // std::binary_search
    00221
    00222 #include <xsd/cxx/tree/exceptions.hxx>
    00223 #include <xsd/cxx/tree/elements.hxx>
    00224 #include <xsd/cxx/tree/containers.hxx>
    00225 #include <xsd/cxx/tree/list.hxx>
    00226
    00227 #include <xsd/cxx/xml/dom/parsing-header.hxx>
    00228
    00237 class hello_t: public ::xml_schema::type
    00238 {
    00239   public:
    00250
    00254   typedef ::xml_schema::string greeting_type;
    00255
    00259   typedef ::xsd::cxx::tree::traits< greeting_type, char > greeting_traits;
    00260
    00266   const greeting_type&
    00267   greeting () const;
    00268
    00274   greeting_type&
    00275   greeting ();
    00276
    00285   void
    00286   greeting (const greeting_type& x);
    00287
    00296   void
    00297   greeting (::std::auto_ptr< greeting_type > p);
    00298
    00300
    00310
    00314   typedef ::xml_schema::string name_type;
    00315
    00319   typedef ::xsd::cxx::tree::sequence< name_type > name_sequence;
    00320
    00324   typedef name_sequence::iterator name_iterator;
    00325
    00329   typedef name_sequence::const_iterator name_const_iterator;
    00330
    00334   typedef ::xsd::cxx::tree::traits< name_type, char > name_traits;
    00335
    00342   const name_sequence&
    00343   name () const;
    00344
    00350   name_sequence&
    00351   name ();
    00352
    00362   void
    00363   name (const name_sequence& s);
    00364
    00366
    00371
    00376   hello_t (const greeting_type&);
    00377
    00386   hello_t (const ::xercesc::DOMElement& e,
    00387            ::xml_schema::flags f = 0,
    00388            ::xml_schema::type* c = 0);
    00389
    00399   hello_t (const hello_t& x,
    00400            ::xml_schema::flags f = 0,
    00401            ::xml_schema::type* c = 0);
    00402
    00414   virtual hello_t*
    00415   _clone (::xml_schema::flags f = 0,
    00416           ::xml_schema::type* c = 0) const;
    00417
    00419
    00420   // Implementation.
    00421   //
    00422   protected:
    00423   void
    00424   parse (::xsd::cxx::xml::dom::parser< char >&,
    00425          ::xml_schema::flags);
    00426
    00427   private:
    00428   ::xsd::cxx::tree::one< greeting_type > greeting_;
    00429   name_sequence name_;
    00430 };
    00431
    00432 #include <iosfwd>
    00433
    00434 #include <xercesc/dom/DOMDocument.hpp>
    00435 #include <xercesc/dom/DOMInputSource.hpp>
    00436 #include <xercesc/dom/DOMErrorHandler.hpp>
    00437
    00445
    00456 ::std::auto_ptr< ::hello_t >
    00457 hello (const ::std::string& uri,
    00458        ::xml_schema::flags f = 0,
    00459        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00460
    00472 ::std::auto_ptr< ::hello_t >
    00473 hello (const ::std::string& uri,
    00474        ::xml_schema::error_handler& eh,
    00475        ::xml_schema::flags f = 0,
    00476        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00477
    00490 ::std::auto_ptr< ::hello_t >
    00491 hello (const ::std::string& uri,
    00492        ::xercesc::DOMErrorHandler& eh,
    00493        ::xml_schema::flags f = 0,
    00494        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00495
    00506 ::std::auto_ptr< ::hello_t >
    00507 hello (::std::istream& is,
    00508        ::xml_schema::flags f = 0,
    00509        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00510
    00522 ::std::auto_ptr< ::hello_t >
    00523 hello (::std::istream& is,
    00524        ::xml_schema::error_handler& eh,
    00525        ::xml_schema::flags f = 0,
    00526        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00527
    00540 ::std::auto_ptr< ::hello_t >
    00541 hello (::std::istream& is,
    00542        ::xercesc::DOMErrorHandler& eh,
    00543        ::xml_schema::flags f = 0,
    00544        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00545
    00560 ::std::auto_ptr< ::hello_t >
    00561 hello (::std::istream& is,
    00562        const ::std::string& id,
    00563        ::xml_schema::flags f = 0,
    00564        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00565
    00582 ::std::auto_ptr< ::hello_t >
    00583 hello (::std::istream& is,
    00584        const ::std::string& id,
    00585        ::xml_schema::error_handler& eh,
    00586        ::xml_schema::flags f = 0,
    00587        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00588
    00605 ::std::auto_ptr< ::hello_t >
    00606 hello (::std::istream& is,
    00607        const ::std::string& id,
    00608        ::xercesc::DOMErrorHandler& eh,
    00609        ::xml_schema::flags f = 0,
    00610        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00611
    00622 ::std::auto_ptr< ::hello_t >
    00623 hello (const ::xercesc::DOMInputSource& is,
    00624        ::xml_schema::flags f = 0,
    00625        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00626
    00638 ::std::auto_ptr< ::hello_t >
    00639 hello (const ::xercesc::DOMInputSource& is,
    00640        ::xml_schema::error_handler& eh,
    00641        ::xml_schema::flags f = 0,
    00642        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00643
    00656 ::std::auto_ptr< ::hello_t >
    00657 hello (const ::xercesc::DOMInputSource& is,
    00658        ::xercesc::DOMErrorHandler& eh,
    00659        ::xml_schema::flags f = 0,
    00660        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00661
    00670 ::std::auto_ptr< ::hello_t >
    00671 hello (const ::xercesc::DOMDocument& d,
    00672        ::xml_schema::flags f = 0,
    00673        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00674
    00687 ::std::auto_ptr< ::hello_t >
    00688 hello (::xercesc::DOMDocument* d,
    00689        ::xml_schema::flags f = 0,
    00690        const ::xml_schema::properties& p = ::xml_schema::properties ());
    00691
    00693
    00694 #include <iosfwd>
    00695
    00696 #include <xercesc/dom/DOMDocument.hpp>
    00697 #include <xercesc/dom/DOMErrorHandler.hpp>
    00698 #include <xercesc/framework/XMLFormatter.hpp>
    00699
    00700 #include <xsd/cxx/xml/dom/auto-ptr.hxx>
    00701
    00702 void
    00703 operator<< (::xercesc::DOMElement&, const hello_t&);
    00704
    00712
    00724 void
    00725 hello (::std::ostream& os,
    00726        const ::hello_t& x,
    00727        const ::xml_schema::namespace_infomap& m,
    00728        const ::std::string& e = "UTF-8",
    00729        ::xml_schema::flags f = 0);
    00730
    00744 void
    00745 hello (::std::ostream& os,
    00746        const ::hello_t& x,
    00747        const ::xml_schema::namespace_infomap& m,
    00748        ::xml_schema::error_handler& eh,
    00749        const ::std::string& e = "UTF-8",
    00750        ::xml_schema::flags f = 0);
    00751
    00766 void
    00767 hello (::std::ostream& os,
    00768        const ::hello_t& x,
    00769        const ::xml_schema::namespace_infomap& m,
    00770        ::xercesc::DOMErrorHandler& eh,
    00771        const ::std::string& e = "UTF-8",
    00772        ::xml_schema::flags f = 0);
    00773
    00785 void
    00786 hello (::xercesc::XMLFormatTarget& ft,
    00787        const ::hello_t& x,
    00788        const ::xml_schema::namespace_infomap& m,
    00789        const ::std::string& e = "UTF-8",
    00790        ::xml_schema::flags f = 0);
    00791
    00806 void
    00807 hello (::xercesc::XMLFormatTarget& ft,
    00808        const ::hello_t& x,
    00809        const ::xml_schema::namespace_infomap& m,
    00810        ::xml_schema::error_handler& eh,
    00811        const ::std::string& e = "UTF-8",
    00812        ::xml_schema::flags f = 0);
    00813
    00828 void
    00829 hello (::xercesc::XMLFormatTarget& ft,
    00830        const ::hello_t& x,
    00831        const ::xml_schema::namespace_infomap& m,
    00832        ::xercesc::DOMErrorHandler& eh,
    00833        const ::std::string& e = "UTF-8",
    00834        ::xml_schema::flags f = 0);
    00835
    00847 void
    00848 hello (::xercesc::DOMDocument& d,
    00849        const ::hello_t& x,
    00850        ::xml_schema::flags f = 0);
    00851
    00860 ::xsd::cxx::xml::dom::auto_ptr< ::xercesc::DOMDocument >
    00861 hello (const ::hello_t& x,
    00862        const ::xml_schema::namespace_infomap& m,
    00863        ::xml_schema::flags f = 0);
    00864
    00866
    00867 #include <xsd/cxx/post.hxx>
    00868
    00869 // Begin epilogue.
    00870 //
    00871 //
    00872 // End epilogue.
    00873
    00874 #endif // HELLO_HXX