00001 // Copyright (C) 2005-2010 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 00034 // Begin prologue. 00035 // 00036 // 00037 // End prologue. 00038 00039 #include "bound-pskel.hxx" 00040 00041 // bound_pskel 00042 // 00043 00044 void bound_pskel:: 00045 box_parser (::xml_schema::string_pskel& p) 00046 { 00047 this->box_parser_ = &p; 00048 } 00049 00050 void bound_pskel:: 00051 origin_parser (::xml_schema::uri_pskel& p) 00052 { 00053 this->origin_parser_ = &p; 00054 } 00055 00056 void bound_pskel:: 00057 parsers (::xml_schema::string_pskel& box, 00058 ::xml_schema::uri_pskel& origin) 00059 { 00060 this->box_parser_ = &box; 00061 this->origin_parser_ = &origin; 00062 } 00063 00064 bound_pskel:: 00065 bound_pskel () 00066 : box_parser_ (0), 00067 origin_parser_ (0) 00068 { 00069 } 00070 00071 // bound_pskel 00072 // 00073 00074 void bound_pskel:: 00075 box (const ::std::string&) 00076 { 00077 } 00078 00079 void bound_pskel:: 00080 origin (const ::std::string&) 00081 { 00082 } 00083 00084 void bound_pskel:: 00085 post_bound () 00086 { 00087 } 00088 00089 #include <cassert> 00090 00091 // Attribute validation and dispatch functions for bound_pskel. 00092 // 00093 bool bound_pskel:: 00094 _attribute_impl_phase_one (const ::xml_schema::ro_string& ns, 00095 const ::xml_schema::ro_string& n, 00096 const ::xml_schema::ro_string& s) 00097 { 00098 if (n == "box" && ns.empty ()) 00099 { 00100 if (this->box_parser_) 00101 { 00102 this->box_parser_->pre (); 00103 this->box_parser_->_pre_impl (); 00104 this->box_parser_->_characters (s); 00105 this->box_parser_->_post_impl (); 00106 const ::std::string& tmp (this->box_parser_->post_string ()); 00107 this->box (tmp); 00108 } 00109 00110 return true; 00111 } 00112 00113 if (n == "origin" && ns.empty ()) 00114 { 00115 if (this->origin_parser_) 00116 { 00117 this->origin_parser_->pre (); 00118 this->origin_parser_->_pre_impl (); 00119 this->origin_parser_->_characters (s); 00120 this->origin_parser_->_post_impl (); 00121 const ::std::string& tmp (this->origin_parser_->post_uri ()); 00122 this->origin (tmp); 00123 } 00124 00125 return true; 00126 } 00127 00128 return false; 00129 } 00130 00131 // Begin epilogue. 00132 // 00133 // 00134 // End epilogue. 00135