Hermes2D  2.0
solution_h2d_xml.cpp
1 // Copyright (C) 2005-2010 Code Synthesis Tools CC
2 //
3 // This program was generated by CodeSynthesis XSD, an XML Schema to
4 // C++ data binding compiler.
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License version 2 as
8 // published by the Free Software Foundation.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 //
19 // In addition, as a special exception, Code Synthesis Tools CC gives
20 // permission to link this program with the Xerces-C++ library (or with
21 // modified versions of Xerces-C++ that use the same license as Xerces-C++),
22 // and distribute linked combinations including the two. You must obey
23 // the GNU General Public License version 2 in all respects for all of
24 // the code used other than Xerces-C++. If you modify this copy of the
25 // program, you may extend this exception to your version of the program,
26 // but you are not obligated to do so. If you do not wish to do so, delete
27 // this exception statement from your version.
28 //
29 // Furthermore, Code Synthesis Tools CC makes a special exception for
30 // the Free/Libre and Open Source Software (FLOSS) which is described
31 // in the accompanying FLOSSE file.
32 //
33 
34 // Begin prologue.
35 //
36 //
37 // End prologue.
38 
39 #include <xsd/cxx/pre.hxx>
40 
41 #include "solution_h2d_xml.h"
42 
43 namespace XMLSolution
44 {
45  // solution
46  //
47 
49  mono_coeffs () const
50  {
51  return this->mono_coeffs_;
52  }
53 
56  {
57  return this->mono_coeffs_;
58  }
59 
60  void solution::
62  {
63  this->mono_coeffs_ = s;
64  }
65 
67  elem_orders () const
68  {
69  return this->elem_orders_;
70  }
71 
74  {
75  return this->elem_orders_;
76  }
77 
78  void solution::
80  {
81  this->elem_orders_ = s;
82  }
83 
85  component () const
86  {
87  return this->component_;
88  }
89 
92  {
93  return this->component_;
94  }
95 
96  void solution::
98  {
99  this->component_ = s;
100  }
101 
103  ncmp () const
104  {
105  return this->ncmp_.get ();
106  }
107 
110  {
111  return this->ncmp_.get ();
112  }
113 
114  void solution::
115  ncmp (const ncmp_type& x)
116  {
117  this->ncmp_.set (x);
118  }
119 
121  nel () const
122  {
123  return this->nel_.get ();
124  }
125 
128  {
129  return this->nel_.get ();
130  }
131 
132  void solution::
133  nel (const nel_type& x)
134  {
135  this->nel_.set (x);
136  }
137 
139  nc () const
140  {
141  return this->nc_.get ();
142  }
143 
145  nc ()
146  {
147  return this->nc_.get ();
148  }
149 
150  void solution::
151  nc (const nc_type& x)
152  {
153  this->nc_.set (x);
154  }
155 
157  exact () const
158  {
159  return this->exact_.get ();
160  }
161 
164  {
165  return this->exact_.get ();
166  }
167 
168  void solution::
169  exact (const exact_type& x)
170  {
171  this->exact_.set (x);
172  }
173 
175  exactC () const
176  {
177  return this->exactC_.get ();
178  }
179 
182  {
183  return this->exactC_.get ();
184  }
185 
186  void solution::
188  {
189  this->exactC_.set (x);
190  }
191 
193  exactCXR () const
194  {
195  return this->exactCXR_;
196  }
197 
200  {
201  return this->exactCXR_;
202  }
203 
204  void solution::
206  {
207  this->exactCXR_.set (x);
208  }
209 
210  void solution::
212  {
213  this->exactCXR_ = x;
214  }
215 
217  exactCYR () const
218  {
219  return this->exactCYR_;
220  }
221 
224  {
225  return this->exactCYR_;
226  }
227 
228  void solution::
230  {
231  this->exactCYR_.set (x);
232  }
233 
234  void solution::
236  {
237  this->exactCYR_ = x;
238  }
239 
241  exactCXC () const
242  {
243  return this->exactCXC_;
244  }
245 
248  {
249  return this->exactCXC_;
250  }
251 
252  void solution::
254  {
255  this->exactCXC_.set (x);
256  }
257 
258  void solution::
260  {
261  this->exactCXC_ = x;
262  }
263 
265  exactCYC () const
266  {
267  return this->exactCYC_;
268  }
269 
272  {
273  return this->exactCYC_;
274  }
275 
276  void solution::
278  {
279  this->exactCYC_.set (x);
280  }
281 
282  void solution::
284  {
285  this->exactCYC_ = x;
286  }
287 
289  space () const
290  {
291  return this->space_;
292  }
293 
296  {
297  return this->space_;
298  }
299 
300  void solution::
301  space (const space_type& x)
302  {
303  this->space_.set (x);
304  }
305 
306  void solution::
308  {
309  this->space_ = x;
310  }
311 
312  void solution::
313  space (::std::auto_ptr< space_type > x)
314  {
315  this->space_.set (x);
316  }
317 
318 
319  // mono_coeffs
320  //
321 
323  id () const
324  {
325  return this->id_.get ();
326  }
327 
329  id ()
330  {
331  return this->id_.get ();
332  }
333 
334  void mono_coeffs::
335  id (const id_type& x)
336  {
337  this->id_.set (x);
338  }
339 
341  re () const
342  {
343  return this->re_.get ();
344  }
345 
347  re ()
348  {
349  return this->re_.get ();
350  }
351 
352  void mono_coeffs::
353  re (const re_type& x)
354  {
355  this->re_.set (x);
356  }
357 
359  im () const
360  {
361  return this->im_;
362  }
363 
365  im ()
366  {
367  return this->im_;
368  }
369 
370  void mono_coeffs::
371  im (const im_type& x)
372  {
373  this->im_.set (x);
374  }
375 
376  void mono_coeffs::
377  im (const im_optional& x)
378  {
379  this->im_ = x;
380  }
381 
382 
383  // elem_orders
384  //
385 
387  id () const
388  {
389  return this->id_.get ();
390  }
391 
393  id ()
394  {
395  return this->id_.get ();
396  }
397 
398  void elem_orders::
399  id (const id_type& x)
400  {
401  this->id_.set (x);
402  }
403 
405  ord () const
406  {
407  return this->ord_.get ();
408  }
409 
412  {
413  return this->ord_.get ();
414  }
415 
416  void elem_orders::
417  ord (const ord_type& x)
418  {
419  this->ord_.set (x);
420  }
421 
422 
423  // component
424  //
425 
427  elem_coeffs () const
428  {
429  return this->elem_coeffs_;
430  }
431 
434  {
435  return this->elem_coeffs_;
436  }
437 
438  void component::
440  {
441  this->elem_coeffs_ = s;
442  }
443 
446  {
447  return this->component_number_;
448  }
449 
452  {
453  return this->component_number_;
454  }
455 
456  void component::
458  {
459  this->component_number_.set (x);
460  }
461 
462  void component::
464  {
465  this->component_number_ = x;
466  }
467 
468 
469  // elem_coeffs
470  //
471 
473  id () const
474  {
475  return this->id_.get ();
476  }
477 
479  id ()
480  {
481  return this->id_.get ();
482  }
483 
484  void elem_coeffs::
485  id (const id_type& x)
486  {
487  this->id_.set (x);
488  }
489 
491  c () const
492  {
493  return this->c_.get ();
494  }
495 
497  c ()
498  {
499  return this->c_.get ();
500  }
501 
502  void elem_coeffs::
503  c (const c_type& x)
504  {
505  this->c_.set (x);
506  }
507 }
508 
509 #include <xsd/cxx/xml/dom/parsing-source.hxx>
510 
511 namespace XMLSolution
512 {
513  // solution
514  //
515 
516  solution::
517  solution (const ncmp_type& ncmp,
518  const nel_type& nel,
519  const nc_type& nc,
520  const exact_type& exact,
521  const exactC_type& exactC)
522  : ::xml_schema::type (),
523  mono_coeffs_ (::xml_schema::flags (), this),
524  elem_orders_ (::xml_schema::flags (), this),
525  component_ (::xml_schema::flags (), this),
526  ncmp_ (ncmp, ::xml_schema::flags (), this),
527  nel_ (nel, ::xml_schema::flags (), this),
528  nc_ (nc, ::xml_schema::flags (), this),
529  exact_ (exact, ::xml_schema::flags (), this),
530  exactC_ (exactC, ::xml_schema::flags (), this),
531  exactCXR_ (::xml_schema::flags (), this),
532  exactCYR_ (::xml_schema::flags (), this),
533  exactCXC_ (::xml_schema::flags (), this),
534  exactCYC_ (::xml_schema::flags (), this),
535  space_ (::xml_schema::flags (), this)
536  {
537  }
538 
539  solution::
540  solution (const solution& x,
541  ::xml_schema::flags f,
543  : ::xml_schema::type (x, f, c),
544  mono_coeffs_ (x.mono_coeffs_, f, this),
545  elem_orders_ (x.elem_orders_, f, this),
546  component_ (x.component_, f, this),
547  ncmp_ (x.ncmp_, f, this),
548  nel_ (x.nel_, f, this),
549  nc_ (x.nc_, f, this),
550  exact_ (x.exact_, f, this),
551  exactC_ (x.exactC_, f, this),
552  exactCXR_ (x.exactCXR_, f, this),
553  exactCYR_ (x.exactCYR_, f, this),
554  exactCXC_ (x.exactCXC_, f, this),
555  exactCYC_ (x.exactCYC_, f, this),
556  space_ (x.space_, f, this)
557  {
558  }
559 
560  solution::
561  solution (const ::xercesc::DOMElement& e,
562  ::xml_schema::flags f,
564  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
565  mono_coeffs_ (f, this),
566  elem_orders_ (f, this),
567  component_ (f, this),
568  ncmp_ (f, this),
569  nel_ (f, this),
570  nc_ (f, this),
571  exact_ (f, this),
572  exactC_ (f, this),
573  exactCXR_ (f, this),
574  exactCYR_ (f, this),
575  exactCXC_ (f, this),
576  exactCYC_ (f, this),
577  space_ (f, this)
578  {
579  if ((f & ::xml_schema::flags::base) == 0)
580  {
581  ::xsd::cxx::xml::dom::parser< char > p (e, true, true);
582  this->parse (p, f);
583  }
584  }
585 
586  void solution::
587  parse (::xsd::cxx::xml::dom::parser< char >& p,
588  ::xml_schema::flags f)
589  {
590  for (; p.more_elements (); p.next_element ())
591  {
592  const ::xercesc::DOMElement& i (p.cur_element ());
593  const ::xsd::cxx::xml::qualified_name< char > n (
594  ::xsd::cxx::xml::dom::name< char > (i));
595 
596  // mono_coeffs
597  //
598  if (n.name () == "mono_coeffs" && n.namespace_ ().empty ())
599  {
600  ::std::auto_ptr< mono_coeffs_type > r (
601  mono_coeffs_traits::create (i, f, this));
602 
603  this->mono_coeffs_.push_back (r);
604  continue;
605  }
606 
607  // elem_orders
608  //
609  if (n.name () == "elem_orders" && n.namespace_ ().empty ())
610  {
611  ::std::auto_ptr< elem_orders_type > r (
612  elem_orders_traits::create (i, f, this));
613 
614  this->elem_orders_.push_back (r);
615  continue;
616  }
617 
618  // component
619  //
620  if (n.name () == "component" && n.namespace_ ().empty ())
621  {
622  ::std::auto_ptr< component_type > r (
623  component_traits::create (i, f, this));
624 
625  this->component_.push_back (r);
626  continue;
627  }
628 
629  break;
630  }
631 
632  while (p.more_attributes ())
633  {
634  const ::xercesc::DOMAttr& i (p.next_attribute ());
635  const ::xsd::cxx::xml::qualified_name< char > n (
636  ::xsd::cxx::xml::dom::name< char > (i));
637 
638  if (n.name () == "ncmp" && n.namespace_ ().empty ())
639  {
640  this->ncmp_.set (ncmp_traits::create (i, f, this));
641  continue;
642  }
643 
644  if (n.name () == "nel" && n.namespace_ ().empty ())
645  {
646  this->nel_.set (nel_traits::create (i, f, this));
647  continue;
648  }
649 
650  if (n.name () == "nc" && n.namespace_ ().empty ())
651  {
652  this->nc_.set (nc_traits::create (i, f, this));
653  continue;
654  }
655 
656  if (n.name () == "exact" && n.namespace_ ().empty ())
657  {
658  this->exact_.set (exact_traits::create (i, f, this));
659  continue;
660  }
661 
662  if (n.name () == "exactC" && n.namespace_ ().empty ())
663  {
664  this->exactC_.set (exactC_traits::create (i, f, this));
665  continue;
666  }
667 
668  if (n.name () == "exactCXR" && n.namespace_ ().empty ())
669  {
670  this->exactCXR_.set (exactCXR_traits::create (i, f, this));
671  continue;
672  }
673 
674  if (n.name () == "exactCYR" && n.namespace_ ().empty ())
675  {
676  this->exactCYR_.set (exactCYR_traits::create (i, f, this));
677  continue;
678  }
679 
680  if (n.name () == "exactCXC" && n.namespace_ ().empty ())
681  {
682  this->exactCXC_.set (exactCXC_traits::create (i, f, this));
683  continue;
684  }
685 
686  if (n.name () == "exactCYC" && n.namespace_ ().empty ())
687  {
688  this->exactCYC_.set (exactCYC_traits::create (i, f, this));
689  continue;
690  }
691 
692  if (n.name () == "space" && n.namespace_ ().empty ())
693  {
694  ::std::auto_ptr< space_type > r (
695  space_traits::create (i, f, this));
696 
697  this->space_.set (r);
698  continue;
699  }
700  }
701 
702  if (!ncmp_.present ())
703  {
704  throw ::xsd::cxx::tree::expected_attribute< char > (
705  "ncmp",
706  "");
707  }
708 
709  if (!nel_.present ())
710  {
711  throw ::xsd::cxx::tree::expected_attribute< char > (
712  "nel",
713  "");
714  }
715 
716  if (!nc_.present ())
717  {
718  throw ::xsd::cxx::tree::expected_attribute< char > (
719  "nc",
720  "");
721  }
722 
723  if (!exact_.present ())
724  {
725  throw ::xsd::cxx::tree::expected_attribute< char > (
726  "exact",
727  "");
728  }
729 
730  if (!exactC_.present ())
731  {
732  throw ::xsd::cxx::tree::expected_attribute< char > (
733  "exactC",
734  "");
735  }
736  }
737 
738  solution* solution::
740  ::xml_schema::container* c) const
741  {
742  return new class solution (*this, f, c);
743  }
744 
745  solution::
747  {
748  }
749 
750  // mono_coeffs
751  //
752 
755  const re_type& re)
756  : ::xml_schema::type (),
757  id_ (id, ::xml_schema::flags (), this),
758  re_ (re, ::xml_schema::flags (), this),
759  im_ (::xml_schema::flags (), this)
760  {
761  }
762 
765  ::xml_schema::flags f,
767  : ::xml_schema::type (x, f, c),
768  id_ (x.id_, f, this),
769  re_ (x.re_, f, this),
770  im_ (x.im_, f, this)
771  {
772  }
773 
775  mono_coeffs (const ::xercesc::DOMElement& e,
776  ::xml_schema::flags f,
778  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
779  id_ (f, this),
780  re_ (f, this),
781  im_ (f, this)
782  {
783  if ((f & ::xml_schema::flags::base) == 0)
784  {
785  ::xsd::cxx::xml::dom::parser< char > p (e, false, true);
786  this->parse (p, f);
787  }
788  }
789 
790  void mono_coeffs::
791  parse (::xsd::cxx::xml::dom::parser< char >& p,
792  ::xml_schema::flags f)
793  {
794  while (p.more_attributes ())
795  {
796  const ::xercesc::DOMAttr& i (p.next_attribute ());
797  const ::xsd::cxx::xml::qualified_name< char > n (
798  ::xsd::cxx::xml::dom::name< char > (i));
799 
800  if (n.name () == "id" && n.namespace_ ().empty ())
801  {
802  this->id_.set (id_traits::create (i, f, this));
803  continue;
804  }
805 
806  if (n.name () == "re" && n.namespace_ ().empty ())
807  {
808  this->re_.set (re_traits::create (i, f, this));
809  continue;
810  }
811 
812  if (n.name () == "im" && n.namespace_ ().empty ())
813  {
814  this->im_.set (im_traits::create (i, f, this));
815  continue;
816  }
817  }
818 
819  if (!id_.present ())
820  {
821  throw ::xsd::cxx::tree::expected_attribute< char > (
822  "id",
823  "");
824  }
825 
826  if (!re_.present ())
827  {
828  throw ::xsd::cxx::tree::expected_attribute< char > (
829  "re",
830  "");
831  }
832  }
833 
834  mono_coeffs* mono_coeffs::
836  ::xml_schema::container* c) const
837  {
838  return new class mono_coeffs (*this, f, c);
839  }
840 
843  {
844  }
845 
846  // elem_orders
847  //
848 
851  const ord_type& ord)
852  : ::xml_schema::type (),
853  id_ (id, ::xml_schema::flags (), this),
854  ord_ (ord, ::xml_schema::flags (), this)
855  {
856  }
857 
860  ::xml_schema::flags f,
862  : ::xml_schema::type (x, f, c),
863  id_ (x.id_, f, this),
864  ord_ (x.ord_, f, this)
865  {
866  }
867 
869  elem_orders (const ::xercesc::DOMElement& e,
870  ::xml_schema::flags f,
872  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
873  id_ (f, this),
874  ord_ (f, this)
875  {
876  if ((f & ::xml_schema::flags::base) == 0)
877  {
878  ::xsd::cxx::xml::dom::parser< char > p (e, false, true);
879  this->parse (p, f);
880  }
881  }
882 
883  void elem_orders::
884  parse (::xsd::cxx::xml::dom::parser< char >& p,
885  ::xml_schema::flags f)
886  {
887  while (p.more_attributes ())
888  {
889  const ::xercesc::DOMAttr& i (p.next_attribute ());
890  const ::xsd::cxx::xml::qualified_name< char > n (
891  ::xsd::cxx::xml::dom::name< char > (i));
892 
893  if (n.name () == "id" && n.namespace_ ().empty ())
894  {
895  this->id_.set (id_traits::create (i, f, this));
896  continue;
897  }
898 
899  if (n.name () == "ord" && n.namespace_ ().empty ())
900  {
901  this->ord_.set (ord_traits::create (i, f, this));
902  continue;
903  }
904  }
905 
906  if (!id_.present ())
907  {
908  throw ::xsd::cxx::tree::expected_attribute< char > (
909  "id",
910  "");
911  }
912 
913  if (!ord_.present ())
914  {
915  throw ::xsd::cxx::tree::expected_attribute< char > (
916  "ord",
917  "");
918  }
919  }
920 
921  elem_orders* elem_orders::
923  ::xml_schema::container* c) const
924  {
925  return new class elem_orders (*this, f, c);
926  }
927 
930  {
931  }
932 
933  // component
934  //
935 
938  : ::xml_schema::type (),
939  elem_coeffs_ (::xml_schema::flags (), this),
940  component_number_ (::xml_schema::flags (), this)
941  {
942  }
943 
946  ::xml_schema::flags f,
948  : ::xml_schema::type (x, f, c),
949  elem_coeffs_ (x.elem_coeffs_, f, this),
950  component_number_ (x.component_number_, f, this)
951  {
952  }
953 
955  component (const ::xercesc::DOMElement& e,
956  ::xml_schema::flags f,
958  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
959  elem_coeffs_ (f, this),
960  component_number_ (f, this)
961  {
962  if ((f & ::xml_schema::flags::base) == 0)
963  {
964  ::xsd::cxx::xml::dom::parser< char > p (e, true, true);
965  this->parse (p, f);
966  }
967  }
968 
969  void component::
970  parse (::xsd::cxx::xml::dom::parser< char >& p,
971  ::xml_schema::flags f)
972  {
973  for (; p.more_elements (); p.next_element ())
974  {
975  const ::xercesc::DOMElement& i (p.cur_element ());
976  const ::xsd::cxx::xml::qualified_name< char > n (
977  ::xsd::cxx::xml::dom::name< char > (i));
978 
979  // elem_coeffs
980  //
981  if (n.name () == "elem_coeffs" && n.namespace_ ().empty ())
982  {
983  ::std::auto_ptr< elem_coeffs_type > r (
984  elem_coeffs_traits::create (i, f, this));
985 
986  this->elem_coeffs_.push_back (r);
987  continue;
988  }
989 
990  break;
991  }
992 
993  while (p.more_attributes ())
994  {
995  const ::xercesc::DOMAttr& i (p.next_attribute ());
996  const ::xsd::cxx::xml::qualified_name< char > n (
997  ::xsd::cxx::xml::dom::name< char > (i));
998 
999  if (n.name () == "component_number" && n.namespace_ ().empty ())
1000  {
1001  this->component_number_.set (component_number_traits::create (i, f, this));
1002  continue;
1003  }
1004  }
1005  }
1006 
1007  component* component::
1009  ::xml_schema::container* c) const
1010  {
1011  return new class component (*this, f, c);
1012  }
1013 
1014  component::
1016  {
1017  }
1018 
1019  // elem_coeffs
1020  //
1021 
1024  const c_type& c)
1025  : ::xml_schema::type (),
1026  id_ (id, ::xml_schema::flags (), this),
1027  c_ (c, ::xml_schema::flags (), this)
1028  {
1029  }
1030 
1033  ::xml_schema::flags f,
1034  ::xml_schema::container* c)
1035  : ::xml_schema::type (x, f, c),
1036  id_ (x.id_, f, this),
1037  c_ (x.c_, f, this)
1038  {
1039  }
1040 
1042  elem_coeffs (const ::xercesc::DOMElement& e,
1043  ::xml_schema::flags f,
1044  ::xml_schema::container* c)
1045  : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
1046  id_ (f, this),
1047  c_ (f, this)
1048  {
1049  if ((f & ::xml_schema::flags::base) == 0)
1050  {
1051  ::xsd::cxx::xml::dom::parser< char > p (e, false, true);
1052  this->parse (p, f);
1053  }
1054  }
1055 
1056  void elem_coeffs::
1057  parse (::xsd::cxx::xml::dom::parser< char >& p,
1058  ::xml_schema::flags f)
1059  {
1060  while (p.more_attributes ())
1061  {
1062  const ::xercesc::DOMAttr& i (p.next_attribute ());
1063  const ::xsd::cxx::xml::qualified_name< char > n (
1064  ::xsd::cxx::xml::dom::name< char > (i));
1065 
1066  if (n.name () == "id" && n.namespace_ ().empty ())
1067  {
1068  this->id_.set (id_traits::create (i, f, this));
1069  continue;
1070  }
1071 
1072  if (n.name () == "c" && n.namespace_ ().empty ())
1073  {
1074  this->c_.set (c_traits::create (i, f, this));
1075  continue;
1076  }
1077  }
1078 
1079  if (!id_.present ())
1080  {
1081  throw ::xsd::cxx::tree::expected_attribute< char > (
1082  "id",
1083  "");
1084  }
1085 
1086  if (!c_.present ())
1087  {
1088  throw ::xsd::cxx::tree::expected_attribute< char > (
1089  "c",
1090  "");
1091  }
1092  }
1093 
1094  elem_coeffs* elem_coeffs::
1096  ::xml_schema::container* c) const
1097  {
1098  return new class elem_coeffs (*this, f, c);
1099  }
1100 
1103  {
1104  }
1105 }
1106 
1107 #include <ostream>
1108 
1109 namespace XMLSolution
1110 {
1111  ::std::ostream&
1112  operator<< (::std::ostream& o, const solution& i)
1113  {
1115  b (i.mono_coeffs ().begin ()), e (i.mono_coeffs ().end ());
1116  b != e; ++b)
1117  {
1118  o << ::std::endl << "mono_coeffs: " << *b;
1119  }
1120 
1122  b (i.elem_orders ().begin ()), e (i.elem_orders ().end ());
1123  b != e; ++b)
1124  {
1125  o << ::std::endl << "elem_orders: " << *b;
1126  }
1127 
1129  b (i.component ().begin ()), e (i.component ().end ());
1130  b != e; ++b)
1131  {
1132  o << ::std::endl << "component: " << *b;
1133  }
1134 
1135  o << ::std::endl << "ncmp: " << i.ncmp ();
1136  o << ::std::endl << "nel: " << i.nel ();
1137  o << ::std::endl << "nc: " << i.nc ();
1138  o << ::std::endl << "exact: " << i.exact ();
1139  o << ::std::endl << "exactC: " << i.exactC ();
1140  if (i.exactCXR ())
1141  {
1142  o << ::std::endl << "exactCXR: " << *i.exactCXR ();
1143  }
1144 
1145  if (i.exactCYR ())
1146  {
1147  o << ::std::endl << "exactCYR: " << *i.exactCYR ();
1148  }
1149 
1150  if (i.exactCXC ())
1151  {
1152  o << ::std::endl << "exactCXC: " << *i.exactCXC ();
1153  }
1154 
1155  if (i.exactCYC ())
1156  {
1157  o << ::std::endl << "exactCYC: " << *i.exactCYC ();
1158  }
1159 
1160  if (i.space ())
1161  {
1162  o << ::std::endl << "space: " << *i.space ();
1163  }
1164 
1165  return o;
1166  }
1167 
1168  ::std::ostream&
1169  operator<< (::std::ostream& o, const mono_coeffs& i)
1170  {
1171  o << ::std::endl << "id: " << i.id ();
1172  o << ::std::endl << "re: " << i.re ();
1173  if (i.im ())
1174  {
1175  o << ::std::endl << "im: " << *i.im ();
1176  }
1177 
1178  return o;
1179  }
1180 
1181  ::std::ostream&
1182  operator<< (::std::ostream& o, const elem_orders& i)
1183  {
1184  o << ::std::endl << "id: " << i.id ();
1185  o << ::std::endl << "ord: " << i.ord ();
1186  return o;
1187  }
1188 
1189  ::std::ostream&
1190  operator<< (::std::ostream& o, const component& i)
1191  {
1193  b (i.elem_coeffs ().begin ()), e (i.elem_coeffs ().end ());
1194  b != e; ++b)
1195  {
1196  o << ::std::endl << "elem_coeffs: " << *b;
1197  }
1198 
1199  if (i.component_number ())
1200  {
1201  o << ::std::endl << "component_number: " << *i.component_number ();
1202  }
1203 
1204  return o;
1205  }
1206 
1207  ::std::ostream&
1208  operator<< (::std::ostream& o, const elem_coeffs& i)
1209  {
1210  o << ::std::endl << "id: " << i.id ();
1211  o << ::std::endl << "c: " << i.c ();
1212  return o;
1213  }
1214 }
1215 
1216 #include <istream>
1217 #include <xsd/cxx/xml/sax/std-input-source.hxx>
1218 #include <xsd/cxx/tree/error-handler.hxx>
1219 
1220 namespace XMLSolution
1221 {
1222  ::std::auto_ptr< ::XMLSolution::solution >
1224  ::xml_schema::flags f,
1226  {
1227  ::xsd::cxx::xml::auto_initializer i (
1228  (f & ::xml_schema::flags::dont_initialize) == 0,
1229  (f & ::xml_schema::flags::keep_dom) == 0);
1230 
1231  ::xsd::cxx::tree::error_handler< char > h;
1232 
1233  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1234  ::xsd::cxx::xml::dom::parse< char > (
1235  u, h, p, f));
1236 
1237  h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > ();
1238 
1239  ::std::auto_ptr< ::XMLSolution::solution > r (
1241  d, f | ::xml_schema::flags::own_dom, p));
1242 
1243  return r;
1244  }
1245 
1246  ::std::auto_ptr< ::XMLSolution::solution >
1249  ::xml_schema::flags f,
1251  {
1252  ::xsd::cxx::xml::auto_initializer i (
1253  (f & ::xml_schema::flags::dont_initialize) == 0,
1254  (f & ::xml_schema::flags::keep_dom) == 0);
1255 
1256  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1257  ::xsd::cxx::xml::dom::parse< char > (
1258  u, h, p, f));
1259 
1260  if (!d.get ())
1261  throw ::xsd::cxx::tree::parsing< char > ();
1262 
1263  ::std::auto_ptr< ::XMLSolution::solution > r (
1265  d, f | ::xml_schema::flags::own_dom, p));
1266 
1267  return r;
1268  }
1269 
1270  ::std::auto_ptr< ::XMLSolution::solution >
1272  ::xercesc::DOMErrorHandler& h,
1273  ::xml_schema::flags f,
1275  {
1276  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1277  ::xsd::cxx::xml::dom::parse< char > (
1278  u, h, p, f));
1279 
1280  if (!d.get ())
1281  throw ::xsd::cxx::tree::parsing< char > ();
1282 
1283  ::std::auto_ptr< ::XMLSolution::solution > r (
1285  d, f | ::xml_schema::flags::own_dom, p));
1286 
1287  return r;
1288  }
1289 
1290  ::std::auto_ptr< ::XMLSolution::solution >
1291  solution_ (::std::istream& is,
1292  ::xml_schema::flags f,
1294  {
1295  ::xsd::cxx::xml::auto_initializer i (
1296  (f & ::xml_schema::flags::dont_initialize) == 0,
1297  (f & ::xml_schema::flags::keep_dom) == 0);
1298 
1299  ::xsd::cxx::xml::sax::std_input_source isrc (is);
1300  return ::XMLSolution::solution_ (isrc, f, p);
1301  }
1302 
1303  ::std::auto_ptr< ::XMLSolution::solution >
1304  solution_ (::std::istream& is,
1306  ::xml_schema::flags f,
1308  {
1309  ::xsd::cxx::xml::auto_initializer i (
1310  (f & ::xml_schema::flags::dont_initialize) == 0,
1311  (f & ::xml_schema::flags::keep_dom) == 0);
1312 
1313  ::xsd::cxx::xml::sax::std_input_source isrc (is);
1314  return ::XMLSolution::solution_ (isrc, h, f, p);
1315  }
1316 
1317  ::std::auto_ptr< ::XMLSolution::solution >
1318  solution_ (::std::istream& is,
1319  ::xercesc::DOMErrorHandler& h,
1320  ::xml_schema::flags f,
1322  {
1323  ::xsd::cxx::xml::sax::std_input_source isrc (is);
1324  return ::XMLSolution::solution_ (isrc, h, f, p);
1325  }
1326 
1327  ::std::auto_ptr< ::XMLSolution::solution >
1328  solution_ (::std::istream& is,
1329  const ::std::string& sid,
1330  ::xml_schema::flags f,
1332  {
1333  ::xsd::cxx::xml::auto_initializer i (
1334  (f & ::xml_schema::flags::dont_initialize) == 0,
1335  (f & ::xml_schema::flags::keep_dom) == 0);
1336 
1337  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1338  return ::XMLSolution::solution_ (isrc, f, p);
1339  }
1340 
1341  ::std::auto_ptr< ::XMLSolution::solution >
1342  solution_ (::std::istream& is,
1343  const ::std::string& sid,
1345  ::xml_schema::flags f,
1347  {
1348  ::xsd::cxx::xml::auto_initializer i (
1349  (f & ::xml_schema::flags::dont_initialize) == 0,
1350  (f & ::xml_schema::flags::keep_dom) == 0);
1351 
1352  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1353  return ::XMLSolution::solution_ (isrc, h, f, p);
1354  }
1355 
1356  ::std::auto_ptr< ::XMLSolution::solution >
1357  solution_ (::std::istream& is,
1358  const ::std::string& sid,
1359  ::xercesc::DOMErrorHandler& h,
1360  ::xml_schema::flags f,
1362  {
1363  ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1364  return ::XMLSolution::solution_ (isrc, h, f, p);
1365  }
1366 
1367  ::std::auto_ptr< ::XMLSolution::solution >
1368  solution_ (::xercesc::InputSource& i,
1369  ::xml_schema::flags f,
1371  {
1372  ::xsd::cxx::tree::error_handler< char > h;
1373 
1374  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1375  ::xsd::cxx::xml::dom::parse< char > (
1376  i, h, p, f));
1377 
1378  h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > ();
1379 
1380  ::std::auto_ptr< ::XMLSolution::solution > r (
1382  d, f | ::xml_schema::flags::own_dom, p));
1383 
1384  return r;
1385  }
1386 
1387  ::std::auto_ptr< ::XMLSolution::solution >
1388  solution_ (::xercesc::InputSource& i,
1390  ::xml_schema::flags f,
1392  {
1393  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1394  ::xsd::cxx::xml::dom::parse< char > (
1395  i, h, p, f));
1396 
1397  if (!d.get ())
1398  throw ::xsd::cxx::tree::parsing< char > ();
1399 
1400  ::std::auto_ptr< ::XMLSolution::solution > r (
1402  d, f | ::xml_schema::flags::own_dom, p));
1403 
1404  return r;
1405  }
1406 
1407  ::std::auto_ptr< ::XMLSolution::solution >
1408  solution_ (::xercesc::InputSource& i,
1409  ::xercesc::DOMErrorHandler& h,
1410  ::xml_schema::flags f,
1412  {
1413  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1414  ::xsd::cxx::xml::dom::parse< char > (
1415  i, h, p, f));
1416 
1417  if (!d.get ())
1418  throw ::xsd::cxx::tree::parsing< char > ();
1419 
1420  ::std::auto_ptr< ::XMLSolution::solution > r (
1422  d, f | ::xml_schema::flags::own_dom, p));
1423 
1424  return r;
1425  }
1426 
1427  ::std::auto_ptr< ::XMLSolution::solution >
1428  solution_ (const ::xercesc::DOMDocument& d,
1429  ::xml_schema::flags f,
1431  {
1432  if (f & ::xml_schema::flags::keep_dom)
1433  {
1434  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c (
1435  static_cast< ::xercesc::DOMDocument* > (d.cloneNode (true)));
1436 
1437  ::std::auto_ptr< ::XMLSolution::solution > r (
1439  c, f | ::xml_schema::flags::own_dom, p));
1440 
1441  return r;
1442  }
1443 
1444  const ::xercesc::DOMElement& e (*d.getDocumentElement ());
1445  const ::xsd::cxx::xml::qualified_name< char > n (
1446  ::xsd::cxx::xml::dom::name< char > (e));
1447 
1448  if (n.name () == "solution" &&
1449  n.namespace_ () == "XMLSolution")
1450  {
1451  ::std::auto_ptr< ::XMLSolution::solution > r (
1452  ::xsd::cxx::tree::traits< ::XMLSolution::solution, char >::create (
1453  e, f, 0));
1454  return r;
1455  }
1456 
1457  throw ::xsd::cxx::tree::unexpected_element < char > (
1458  n.name (),
1459  n.namespace_ (),
1460  "solution",
1461  "XMLSolution");
1462  }
1463 
1464  ::std::auto_ptr< ::XMLSolution::solution >
1465  solution_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument >& d,
1466  ::xml_schema::flags f,
1468  {
1469  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > c (
1470  ((f & ::xml_schema::flags::keep_dom) &&
1471  !(f & ::xml_schema::flags::own_dom))
1472  ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (true))
1473  : 0);
1474 
1475  ::xercesc::DOMDocument& doc (c.get () ? *c : *d);
1476  const ::xercesc::DOMElement& e (*doc.getDocumentElement ());
1477 
1478  const ::xsd::cxx::xml::qualified_name< char > n (
1479  ::xsd::cxx::xml::dom::name< char > (e));
1480 
1481  if (f & ::xml_schema::flags::keep_dom)
1482  doc.setUserData (::xml_schema::dom::tree_node_key,
1483  (c.get () ? &c : &d),
1484  0);
1485 
1486  if (n.name () == "solution" &&
1487  n.namespace_ () == "XMLSolution")
1488  {
1489  ::std::auto_ptr< ::XMLSolution::solution > r (
1490  ::xsd::cxx::tree::traits< ::XMLSolution::solution, char >::create (
1491  e, f, 0));
1492  return r;
1493  }
1494 
1495  throw ::xsd::cxx::tree::unexpected_element < char > (
1496  n.name (),
1497  n.namespace_ (),
1498  "solution",
1499  "XMLSolution");
1500  }
1501 }
1502 
1503 #include <ostream>
1504 #include <xsd/cxx/tree/error-handler.hxx>
1505 #include <xsd/cxx/xml/dom/serialization-source.hxx>
1506 
1507 namespace XMLSolution
1508 {
1509  void
1510  solution_ (::std::ostream& o,
1511  const ::XMLSolution::solution& s,
1514  ::xml_schema::flags f)
1515  {
1516  ::xsd::cxx::xml::auto_initializer i (
1517  (f & ::xml_schema::flags::dont_initialize) == 0);
1518 
1519  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1520  ::XMLSolution::solution_ (s, m, f));
1521 
1522  ::xsd::cxx::tree::error_handler< char > h;
1523 
1524  ::xsd::cxx::xml::dom::ostream_format_target t (o);
1525  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1526  {
1527  h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > ();
1528  }
1529  }
1530 
1531  void
1532  solution_ (::std::ostream& o,
1533  const ::XMLSolution::solution& s,
1537  ::xml_schema::flags f)
1538  {
1539  ::xsd::cxx::xml::auto_initializer i (
1540  (f & ::xml_schema::flags::dont_initialize) == 0);
1541 
1542  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1543  ::XMLSolution::solution_ (s, m, f));
1544  ::xsd::cxx::xml::dom::ostream_format_target t (o);
1545  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1546  {
1547  throw ::xsd::cxx::tree::serialization< char > ();
1548  }
1549  }
1550 
1551  void
1552  solution_ (::std::ostream& o,
1553  const ::XMLSolution::solution& s,
1554  ::xercesc::DOMErrorHandler& h,
1557  ::xml_schema::flags f)
1558  {
1559  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1560  ::XMLSolution::solution_ (s, m, f));
1561  ::xsd::cxx::xml::dom::ostream_format_target t (o);
1562  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1563  {
1564  throw ::xsd::cxx::tree::serialization< char > ();
1565  }
1566  }
1567 
1568  void
1569  solution_ (::xercesc::XMLFormatTarget& t,
1570  const ::XMLSolution::solution& s,
1573  ::xml_schema::flags f)
1574  {
1575  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1576  ::XMLSolution::solution_ (s, m, f));
1577 
1578  ::xsd::cxx::tree::error_handler< char > h;
1579 
1580  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1581  {
1582  h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > ();
1583  }
1584  }
1585 
1586  void
1587  solution_ (::xercesc::XMLFormatTarget& t,
1588  const ::XMLSolution::solution& s,
1592  ::xml_schema::flags f)
1593  {
1594  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1595  ::XMLSolution::solution_ (s, m, f));
1596  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1597  {
1598  throw ::xsd::cxx::tree::serialization< char > ();
1599  }
1600  }
1601 
1602  void
1603  solution_ (::xercesc::XMLFormatTarget& t,
1604  const ::XMLSolution::solution& s,
1605  ::xercesc::DOMErrorHandler& h,
1608  ::xml_schema::flags f)
1609  {
1610  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1611  ::XMLSolution::solution_ (s, m, f));
1612  if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1613  {
1614  throw ::xsd::cxx::tree::serialization< char > ();
1615  }
1616  }
1617 
1618  void
1619  solution_ (::xercesc::DOMDocument& d,
1620  const ::XMLSolution::solution& s,
1622  {
1623  ::xercesc::DOMElement& e (*d.getDocumentElement ());
1624  const ::xsd::cxx::xml::qualified_name< char > n (
1625  ::xsd::cxx::xml::dom::name< char > (e));
1626 
1627  if (n.name () == "solution" &&
1628  n.namespace_ () == "XMLSolution")
1629  {
1630  e << s;
1631  }
1632  else
1633  {
1634  throw ::xsd::cxx::tree::unexpected_element < char > (
1635  n.name (),
1636  n.namespace_ (),
1637  "solution",
1638  "XMLSolution");
1639  }
1640  }
1641 
1642  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument >
1643  solution_ (const ::XMLSolution::solution& s,
1645  ::xml_schema::flags f)
1646  {
1647  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument > d (
1648  ::xsd::cxx::xml::dom::serialize< char > (
1649  "solution",
1650  "XMLSolution",
1651  m, f));
1652 
1653  ::XMLSolution::solution_ (*d, s, f);
1654  return d;
1655  }
1656 
1657  void
1658  operator<< (::xercesc::DOMElement& e, const solution& i)
1659  {
1660  e << static_cast< const ::xml_schema::type& > (i);
1661 
1662  // mono_coeffs
1663  //
1665  b (i.mono_coeffs ().begin ()), n (i.mono_coeffs ().end ());
1666  b != n; ++b)
1667  {
1668  ::xercesc::DOMElement& s (
1669  ::xsd::cxx::xml::dom::create_element (
1670  "mono_coeffs",
1671  e));
1672 
1673  s << *b;
1674  }
1675 
1676  // elem_orders
1677  //
1679  b (i.elem_orders ().begin ()), n (i.elem_orders ().end ());
1680  b != n; ++b)
1681  {
1682  ::xercesc::DOMElement& s (
1683  ::xsd::cxx::xml::dom::create_element (
1684  "elem_orders",
1685  e));
1686 
1687  s << *b;
1688  }
1689 
1690  // component
1691  //
1693  b (i.component ().begin ()), n (i.component ().end ());
1694  b != n; ++b)
1695  {
1696  ::xercesc::DOMElement& s (
1697  ::xsd::cxx::xml::dom::create_element (
1698  "component",
1699  e));
1700 
1701  s << *b;
1702  }
1703 
1704  // ncmp
1705  //
1706  {
1707  ::xercesc::DOMAttr& a (
1708  ::xsd::cxx::xml::dom::create_attribute (
1709  "ncmp",
1710  e));
1711 
1712  a << i.ncmp ();
1713  }
1714 
1715  // nel
1716  //
1717  {
1718  ::xercesc::DOMAttr& a (
1719  ::xsd::cxx::xml::dom::create_attribute (
1720  "nel",
1721  e));
1722 
1723  a << i.nel ();
1724  }
1725 
1726  // nc
1727  //
1728  {
1729  ::xercesc::DOMAttr& a (
1730  ::xsd::cxx::xml::dom::create_attribute (
1731  "nc",
1732  e));
1733 
1734  a << i.nc ();
1735  }
1736 
1737  // exact
1738  //
1739  {
1740  ::xercesc::DOMAttr& a (
1741  ::xsd::cxx::xml::dom::create_attribute (
1742  "exact",
1743  e));
1744 
1745  a << i.exact ();
1746  }
1747 
1748  // exactC
1749  //
1750  {
1751  ::xercesc::DOMAttr& a (
1752  ::xsd::cxx::xml::dom::create_attribute (
1753  "exactC",
1754  e));
1755 
1756  a << i.exactC ();
1757  }
1758 
1759  // exactCXR
1760  //
1761  if (i.exactCXR ())
1762  {
1763  ::xercesc::DOMAttr& a (
1764  ::xsd::cxx::xml::dom::create_attribute (
1765  "exactCXR",
1766  e));
1767 
1768  a << ::xml_schema::as_decimal(*i.exactCXR ());
1769  }
1770 
1771  // exactCYR
1772  //
1773  if (i.exactCYR ())
1774  {
1775  ::xercesc::DOMAttr& a (
1776  ::xsd::cxx::xml::dom::create_attribute (
1777  "exactCYR",
1778  e));
1779 
1780  a << ::xml_schema::as_decimal(*i.exactCYR ());
1781  }
1782 
1783  // exactCXC
1784  //
1785  if (i.exactCXC ())
1786  {
1787  ::xercesc::DOMAttr& a (
1788  ::xsd::cxx::xml::dom::create_attribute (
1789  "exactCXC",
1790  e));
1791 
1792  a << ::xml_schema::as_decimal(*i.exactCXC ());
1793  }
1794 
1795  // exactCYC
1796  //
1797  if (i.exactCYC ())
1798  {
1799  ::xercesc::DOMAttr& a (
1800  ::xsd::cxx::xml::dom::create_attribute (
1801  "exactCYC",
1802  e));
1803 
1804  a << ::xml_schema::as_decimal(*i.exactCYC ());
1805  }
1806 
1807  // space
1808  //
1809  if (i.space ())
1810  {
1811  ::xercesc::DOMAttr& a (
1812  ::xsd::cxx::xml::dom::create_attribute (
1813  "space",
1814  e));
1815 
1816  a << *i.space ();
1817  }
1818  }
1819 
1820  void
1821  operator<< (::xercesc::DOMElement& e, const mono_coeffs& i)
1822  {
1823  e << static_cast< const ::xml_schema::type& > (i);
1824 
1825  // id
1826  //
1827  {
1828  ::xercesc::DOMAttr& a (
1829  ::xsd::cxx::xml::dom::create_attribute (
1830  "id",
1831  e));
1832 
1833  a << i.id ();
1834  }
1835 
1836  // re
1837  //
1838  {
1839  ::xercesc::DOMAttr& a (
1840  ::xsd::cxx::xml::dom::create_attribute (
1841  "re",
1842  e));
1843 
1844  a << ::xml_schema::as_decimal(i.re ());
1845  }
1846 
1847  // im
1848  //
1849  if (i.im ())
1850  {
1851  ::xercesc::DOMAttr& a (
1852  ::xsd::cxx::xml::dom::create_attribute (
1853  "im",
1854  e));
1855 
1856  a << ::xml_schema::as_decimal(*i.im ());
1857  }
1858  }
1859 
1860  void
1861  operator<< (::xercesc::DOMElement& e, const elem_orders& i)
1862  {
1863  e << static_cast< const ::xml_schema::type& > (i);
1864 
1865  // id
1866  //
1867  {
1868  ::xercesc::DOMAttr& a (
1869  ::xsd::cxx::xml::dom::create_attribute (
1870  "id",
1871  e));
1872 
1873  a << i.id ();
1874  }
1875 
1876  // ord
1877  //
1878  {
1879  ::xercesc::DOMAttr& a (
1880  ::xsd::cxx::xml::dom::create_attribute (
1881  "ord",
1882  e));
1883 
1884  a << i.ord ();
1885  }
1886  }
1887 
1888  void
1889  operator<< (::xercesc::DOMElement& e, const component& i)
1890  {
1891  e << static_cast< const ::xml_schema::type& > (i);
1892 
1893  // elem_coeffs
1894  //
1896  b (i.elem_coeffs ().begin ()), n (i.elem_coeffs ().end ());
1897  b != n; ++b)
1898  {
1899  ::xercesc::DOMElement& s (
1900  ::xsd::cxx::xml::dom::create_element (
1901  "elem_coeffs",
1902  e));
1903 
1904  s << *b;
1905  }
1906 
1907  // component_number
1908  //
1909  if (i.component_number ())
1910  {
1911  ::xercesc::DOMAttr& a (
1912  ::xsd::cxx::xml::dom::create_attribute (
1913  "component_number",
1914  e));
1915 
1916  a << *i.component_number ();
1917  }
1918  }
1919 
1920  void
1921  operator<< (::xercesc::DOMElement& e, const elem_coeffs& i)
1922  {
1923  e << static_cast< const ::xml_schema::type& > (i);
1924 
1925  // id
1926  //
1927  {
1928  ::xercesc::DOMAttr& a (
1929  ::xsd::cxx::xml::dom::create_attribute (
1930  "id",
1931  e));
1932 
1933  a << i.id ();
1934  }
1935 
1936  // c
1937  //
1938  {
1939  ::xercesc::DOMAttr& a (
1940  ::xsd::cxx::xml::dom::create_attribute (
1941  "c",
1942  e));
1943 
1944  a << i.c ();
1945  }
1946  }
1947 }
1948 
1949 #include <xsd/cxx/post.hxx>
1950 
1951 // Begin epilogue.
1952 //
1953 //
1954 // End epilogue.
1955