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

Generated on Sun Jul 29 12:51:54 2007 by  doxygen 1.5.2