Hermes2D  2.0
solution_h2d_xml.h
Go to the documentation of this file.
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 
39 #ifndef SOLUTION_H2D_XML_H
40 #define SOLUTION_H2D_XML_H
41 
42 // Begin prologue.
43 //
44 //
45 // End prologue.
46 
47 #include <xsd/cxx/config.hxx>
48 
49 #if (XSD_INT_VERSION != 3030000L)
50 #error XSD runtime version mismatch
51 #endif
52 
53 #include <xsd/cxx/pre.hxx>
54 
55 #ifndef XSD_USE_CHAR
56 #define XSD_USE_CHAR
57 #endif
58 
59 #ifndef XSD_CXX_TREE_USE_CHAR
60 #define XSD_CXX_TREE_USE_CHAR
61 #endif
62 
63 #include <xsd/cxx/xml/char-utf8.hxx>
64 
65 #include <xsd/cxx/tree/exceptions.hxx>
66 #include <xsd/cxx/tree/elements.hxx>
67 #include <xsd/cxx/tree/types.hxx>
68 
69 #include <xsd/cxx/xml/error-handler.hxx>
70 
71 #include <xsd/cxx/xml/dom/auto-ptr.hxx>
72 
73 #include <xsd/cxx/tree/parsing.hxx>
74 #include <xsd/cxx/tree/parsing/byte.hxx>
75 #include <xsd/cxx/tree/parsing/unsigned-byte.hxx>
76 #include <xsd/cxx/tree/parsing/short.hxx>
77 #include <xsd/cxx/tree/parsing/unsigned-short.hxx>
78 #include <xsd/cxx/tree/parsing/int.hxx>
79 #include <xsd/cxx/tree/parsing/unsigned-int.hxx>
80 #include <xsd/cxx/tree/parsing/long.hxx>
81 #include <xsd/cxx/tree/parsing/unsigned-long.hxx>
82 #include <xsd/cxx/tree/parsing/boolean.hxx>
83 #include <xsd/cxx/tree/parsing/float.hxx>
84 #include <xsd/cxx/tree/parsing/double.hxx>
85 #include <xsd/cxx/tree/parsing/decimal.hxx>
86 
87 #include <xsd/cxx/xml/dom/serialization-header.hxx>
88 #include <xsd/cxx/tree/serialization.hxx>
89 #include <xsd/cxx/tree/serialization/byte.hxx>
90 #include <xsd/cxx/tree/serialization/unsigned-byte.hxx>
91 #include <xsd/cxx/tree/serialization/short.hxx>
92 #include <xsd/cxx/tree/serialization/unsigned-short.hxx>
93 #include <xsd/cxx/tree/serialization/int.hxx>
94 #include <xsd/cxx/tree/serialization/unsigned-int.hxx>
95 #include <xsd/cxx/tree/serialization/long.hxx>
96 #include <xsd/cxx/tree/serialization/unsigned-long.hxx>
97 #include <xsd/cxx/tree/serialization/boolean.hxx>
98 #include <xsd/cxx/tree/serialization/float.hxx>
99 #include <xsd/cxx/tree/serialization/double.hxx>
100 #include <xsd/cxx/tree/serialization/decimal.hxx>
101 
102 #include <xsd/cxx/tree/std-ostream-operators.hxx>
103 
108 namespace xml_schema
109 {
110  // anyType and anySimpleType.
111  //
112 
118 
123  typedef ::xsd::cxx::tree::simple_type< type > simple_type;
124 
129 
130 
131  // 8-bit
132  //
133 
138  typedef signed char byte;
139 
144  typedef unsigned char unsigned_byte;
145 
146 
147  // 16-bit
148  //
149 
154  typedef short short_;
155 
160  typedef unsigned short unsigned_short;
161 
162 
163  // 32-bit
164  //
165 
170  typedef int int_;
171 
176  typedef unsigned int unsigned_int;
177 
178 
179  // 64-bit
180  //
181 
186  typedef long long long_;
187 
192  typedef unsigned long long unsigned_long;
193 
194 
195  // Supposed to be arbitrary-length integral types.
196  //
197 
202  typedef long long integer;
203 
208  typedef long long non_positive_integer;
209 
214  typedef unsigned long long non_negative_integer;
215 
220  typedef unsigned long long positive_integer;
221 
226  typedef long long negative_integer;
227 
228 
229  // Boolean.
230  //
231 
236  typedef bool boolean;
237 
238 
239  // Floating-point types.
240  //
241 
246  typedef float float_;
247 
252  typedef double double_;
253 
258  typedef double decimal;
259 
260 
261  // String types.
262  //
263 
268  typedef ::xsd::cxx::tree::string< char, simple_type > string;
269 
274  typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string;
275 
280  typedef ::xsd::cxx::tree::token< char, normalized_string > token;
281 
286  typedef ::xsd::cxx::tree::name< char, token > name;
287 
292  typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken;
293 
298  typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens;
299 
304  typedef ::xsd::cxx::tree::ncname< char, name > ncname;
305 
310  typedef ::xsd::cxx::tree::language< char, token > language;
311 
312 
313  // ID/IDREF.
314  //
315 
320  typedef ::xsd::cxx::tree::id< char, ncname > id;
321 
326  typedef ::xsd::cxx::tree::idref< char, ncname, type > idref;
327 
332  typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs;
333 
334 
335  // URI.
336  //
337 
342  typedef ::xsd::cxx::tree::uri< char, simple_type > uri;
343 
344 
345  // Qualified name.
346  //
347 
352  typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname;
353 
354 
355  // Binary.
356  //
357 
361  typedef ::xsd::cxx::tree::buffer< char > buffer;
362 
367  typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary;
368 
373  typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary;
374 
375 
376  // Date/time.
377  //
378 
383 
388  typedef ::xsd::cxx::tree::date< char, simple_type > date;
389 
394  typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time;
395 
400  typedef ::xsd::cxx::tree::duration< char, simple_type > duration;
401 
406  typedef ::xsd::cxx::tree::gday< char, simple_type > gday;
407 
412  typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth;
413 
418  typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day;
419 
424  typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear;
425 
430  typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month;
431 
436  typedef ::xsd::cxx::tree::time< char, simple_type > time;
437 
438 
439  // Entity.
440  //
441 
446  typedef ::xsd::cxx::tree::entity< char, ncname > entity;
447 
452  typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities;
453 
454 
455  // Namespace information and list stream. Used in
456  // serialization functions.
457  //
461  typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info;
462 
466  typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap;
467 
471  typedef ::xsd::cxx::tree::list_stream< char > list_stream;
472 
476  typedef ::xsd::cxx::tree::as_double< double_ > as_double;
477 
481  typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal;
482 
487 
488  // Flags and properties.
489  //
490 
495 
499  typedef ::xsd::cxx::tree::properties< char > properties;
500 
501  // Parsing/serialization diagnostics.
502  //
503 
508 
512  typedef ::xsd::cxx::tree::error< char > error;
513 
517  typedef ::xsd::cxx::tree::diagnostics< char > diagnostics;
518 
519  // Exceptions.
520  //
521 
525  typedef ::xsd::cxx::tree::exception< char > exception;
526 
531  typedef ::xsd::cxx::tree::bounds< char > bounds;
532 
537  typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id;
538 
542  typedef ::xsd::cxx::tree::parsing< char > parsing;
543 
548  typedef ::xsd::cxx::tree::expected_element< char > expected_element;
549 
554  typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element;
555 
560  typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute;
561 
566  typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator;
567 
572  typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content;
573 
578  typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping;
579 
583  typedef ::xsd::cxx::tree::serialization< char > serialization;
584 
588  typedef ::xsd::cxx::xml::error_handler< char > error_handler;
589 
593  namespace dom
594  {
598  using ::xsd::cxx::xml::dom::auto_ptr;
599 
600 #ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA
601 #define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA
602 
605  const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node;
606 #endif
607  }
608 }
609 
610 // Forward declarations.
611 //
612 namespace XMLSolution
613 {
614  class solution;
615  class mono_coeffs;
616  class elem_orders;
617  class component;
618  class elem_coeffs;
619 }
620 
621 
622 #include <memory> // std::auto_ptr
623 #include <limits> // std::numeric_limits
624 #include <algorithm> // std::binary_search
625 
626 #include <xsd/cxx/xml/char-utf8.hxx>
627 
628 #include <xsd/cxx/tree/exceptions.hxx>
629 #include <xsd/cxx/tree/elements.hxx>
630 #include <xsd/cxx/tree/containers.hxx>
631 #include <xsd/cxx/tree/list.hxx>
632 
633 #include <xsd/cxx/xml/dom/parsing-header.hxx>
634 
639 namespace XMLSolution
640 {
647  {
648  public:
656 
660  typedef ::XMLSolution::mono_coeffs mono_coeffs_type;
661 
665  typedef ::xsd::cxx::tree::sequence< mono_coeffs_type > mono_coeffs_sequence;
666 
670  typedef mono_coeffs_sequence::iterator mono_coeffs_iterator;
671 
675  typedef mono_coeffs_sequence::const_iterator mono_coeffs_const_iterator;
676 
680  typedef ::xsd::cxx::tree::traits< mono_coeffs_type, char > mono_coeffs_traits;
681 
688  const mono_coeffs_sequence&
689  mono_coeffs () const;
690 
697  mono_coeffs ();
698 
708  void
710 
712 
720 
724  typedef ::XMLSolution::elem_orders elem_orders_type;
725 
729  typedef ::xsd::cxx::tree::sequence< elem_orders_type > elem_orders_sequence;
730 
734  typedef elem_orders_sequence::iterator elem_orders_iterator;
735 
739  typedef elem_orders_sequence::const_iterator elem_orders_const_iterator;
740 
744  typedef ::xsd::cxx::tree::traits< elem_orders_type, char > elem_orders_traits;
745 
752  const elem_orders_sequence&
753  elem_orders () const;
754 
761  elem_orders ();
762 
772  void
774 
776 
784 
788  typedef ::XMLSolution::component component_type;
789 
793  typedef ::xsd::cxx::tree::sequence< component_type > component_sequence;
794 
798  typedef component_sequence::iterator component_iterator;
799 
803  typedef component_sequence::const_iterator component_const_iterator;
804 
808  typedef ::xsd::cxx::tree::traits< component_type, char > component_traits;
809 
816  const component_sequence&
817  component () const;
818 
825  component ();
826 
836  void
837  component (const component_sequence& s);
838 
840 
848 
853 
857  typedef ::xsd::cxx::tree::traits< ncmp_type, char > ncmp_traits;
858 
864  const ncmp_type&
865  ncmp () const;
866 
872  ncmp_type&
873  ncmp ();
874 
883  void
884  ncmp (const ncmp_type& x);
885 
887 
895 
900 
904  typedef ::xsd::cxx::tree::traits< nel_type, char > nel_traits;
905 
911  const nel_type&
912  nel () const;
913 
919  nel_type&
920  nel ();
921 
930  void
931  nel (const nel_type& x);
932 
934 
942 
947 
951  typedef ::xsd::cxx::tree::traits< nc_type, char > nc_traits;
952 
958  const nc_type&
959  nc () const;
960 
966  nc_type&
967  nc ();
968 
977  void
978  nc (const nc_type& x);
979 
981 
989 
994 
998  typedef ::xsd::cxx::tree::traits< exact_type, char > exact_traits;
999 
1005  const exact_type&
1006  exact () const;
1007 
1013  exact_type&
1014  exact ();
1015 
1024  void
1025  exact (const exact_type& x);
1026 
1028 
1036 
1041 
1045  typedef ::xsd::cxx::tree::traits< exactC_type, char > exactC_traits;
1046 
1052  const exactC_type&
1053  exactC () const;
1054 
1060  exactC_type&
1061  exactC ();
1062 
1071  void
1072  exactC (const exactC_type& x);
1073 
1075 
1083 
1088 
1092  typedef ::xsd::cxx::tree::optional< exactCXR_type > exactCXR_optional;
1093 
1097  typedef ::xsd::cxx::tree::traits< exactCXR_type, char, ::xsd::cxx::tree::schema_type::decimal > exactCXR_traits;
1098 
1105  const exactCXR_optional&
1106  exactCXR () const;
1107 
1114  exactCXR ();
1115 
1124  void
1125  exactCXR (const exactCXR_type& x);
1126 
1136  void
1137  exactCXR (const exactCXR_optional& x);
1138 
1140 
1148 
1153 
1157  typedef ::xsd::cxx::tree::optional< exactCYR_type > exactCYR_optional;
1158 
1162  typedef ::xsd::cxx::tree::traits< exactCYR_type, char, ::xsd::cxx::tree::schema_type::decimal > exactCYR_traits;
1163 
1170  const exactCYR_optional&
1171  exactCYR () const;
1172 
1179  exactCYR ();
1180 
1189  void
1190  exactCYR (const exactCYR_type& x);
1191 
1201  void
1202  exactCYR (const exactCYR_optional& x);
1203 
1205 
1213 
1218 
1222  typedef ::xsd::cxx::tree::optional< exactCXC_type > exactCXC_optional;
1223 
1227  typedef ::xsd::cxx::tree::traits< exactCXC_type, char, ::xsd::cxx::tree::schema_type::decimal > exactCXC_traits;
1228 
1235  const exactCXC_optional&
1236  exactCXC () const;
1237 
1244  exactCXC ();
1245 
1254  void
1255  exactCXC (const exactCXC_type& x);
1256 
1266  void
1267  exactCXC (const exactCXC_optional& x);
1268 
1270 
1278 
1283 
1287  typedef ::xsd::cxx::tree::optional< exactCYC_type > exactCYC_optional;
1288 
1292  typedef ::xsd::cxx::tree::traits< exactCYC_type, char, ::xsd::cxx::tree::schema_type::decimal > exactCYC_traits;
1293 
1300  const exactCYC_optional&
1301  exactCYC () const;
1302 
1309  exactCYC ();
1310 
1319  void
1320  exactCYC (const exactCYC_type& x);
1321 
1331  void
1332  exactCYC (const exactCYC_optional& x);
1333 
1335 
1343 
1348 
1352  typedef ::xsd::cxx::tree::optional< space_type > space_optional;
1353 
1357  typedef ::xsd::cxx::tree::traits< space_type, char > space_traits;
1358 
1365  const space_optional&
1366  space () const;
1367 
1374  space ();
1375 
1384  void
1385  space (const space_type& x);
1386 
1396  void
1397  space (const space_optional& x);
1398 
1407  void
1408  space (::std::auto_ptr< space_type > p);
1409 
1411 
1416 
1421  solution (const ncmp_type&,
1422  const nel_type&,
1423  const nc_type&,
1424  const exact_type&,
1425  const exactC_type&);
1426 
1435  solution (const ::xercesc::DOMElement& e,
1436  ::xml_schema::flags f = 0,
1437  ::xml_schema::container* c = 0);
1438 
1448  solution (const solution& x,
1449  ::xml_schema::flags f = 0,
1450  ::xml_schema::container* c = 0);
1451 
1463  virtual solution*
1464  _clone (::xml_schema::flags f = 0,
1465  ::xml_schema::container* c = 0) const;
1466 
1468 
1472  virtual
1473  ~solution ();
1474 
1475  // Implementation.
1476  //
1477 
1478  //@cond
1479 
1480  protected:
1481  void
1482  parse (::xsd::cxx::xml::dom::parser< char >&,
1483  ::xml_schema::flags);
1484 
1485  protected:
1486  mono_coeffs_sequence mono_coeffs_;
1487  elem_orders_sequence elem_orders_;
1488  component_sequence component_;
1489  ::xsd::cxx::tree::one< ncmp_type > ncmp_;
1490  ::xsd::cxx::tree::one< nel_type > nel_;
1491  ::xsd::cxx::tree::one< nc_type > nc_;
1492  ::xsd::cxx::tree::one< exact_type > exact_;
1493  ::xsd::cxx::tree::one< exactC_type > exactC_;
1494  exactCXR_optional exactCXR_;
1495  exactCYR_optional exactCYR_;
1496  exactCXC_optional exactCXC_;
1497  exactCYC_optional exactCYC_;
1499 
1500  //@endcond
1501  };
1502 
1509  {
1510  public:
1518 
1523 
1527  typedef ::xsd::cxx::tree::traits< id_type, char > id_traits;
1528 
1534  const id_type&
1535  id () const;
1536 
1542  id_type&
1543  id ();
1544 
1553  void
1554  id (const id_type& x);
1555 
1557 
1565 
1570 
1574  typedef ::xsd::cxx::tree::traits< re_type, char, ::xsd::cxx::tree::schema_type::decimal > re_traits;
1575 
1581  const re_type&
1582  re () const;
1583 
1589  re_type&
1590  re ();
1591 
1600  void
1601  re (const re_type& x);
1602 
1604 
1612 
1617 
1621  typedef ::xsd::cxx::tree::optional< im_type > im_optional;
1622 
1626  typedef ::xsd::cxx::tree::traits< im_type, char, ::xsd::cxx::tree::schema_type::decimal > im_traits;
1627 
1634  const im_optional&
1635  im () const;
1636 
1642  im_optional&
1643  im ();
1644 
1653  void
1654  im (const im_type& x);
1655 
1665  void
1666  im (const im_optional& x);
1667 
1669 
1674 
1679  mono_coeffs (const id_type&,
1680  const re_type&);
1681 
1690  mono_coeffs (const ::xercesc::DOMElement& e,
1691  ::xml_schema::flags f = 0,
1692  ::xml_schema::container* c = 0);
1693 
1703  mono_coeffs (const mono_coeffs& x,
1704  ::xml_schema::flags f = 0,
1705  ::xml_schema::container* c = 0);
1706 
1718  virtual mono_coeffs*
1719  _clone (::xml_schema::flags f = 0,
1720  ::xml_schema::container* c = 0) const;
1721 
1723 
1727  virtual
1728  ~mono_coeffs ();
1729 
1730  // Implementation.
1731  //
1732 
1733  //@cond
1734 
1735  protected:
1736  void
1737  parse (::xsd::cxx::xml::dom::parser< char >&,
1738  ::xml_schema::flags);
1739 
1740  protected:
1741  ::xsd::cxx::tree::one< id_type > id_;
1742  ::xsd::cxx::tree::one< re_type > re_;
1743  im_optional im_;
1744 
1745  //@endcond
1746  };
1747 
1754  {
1755  public:
1763 
1768 
1772  typedef ::xsd::cxx::tree::traits< id_type, char > id_traits;
1773 
1779  const id_type&
1780  id () const;
1781 
1787  id_type&
1788  id ();
1789 
1798  void
1799  id (const id_type& x);
1800 
1802 
1810 
1815 
1819  typedef ::xsd::cxx::tree::traits< ord_type, char > ord_traits;
1820 
1826  const ord_type&
1827  ord () const;
1828 
1834  ord_type&
1835  ord ();
1836 
1845  void
1846  ord (const ord_type& x);
1847 
1849 
1854 
1859  elem_orders (const id_type&,
1860  const ord_type&);
1861 
1870  elem_orders (const ::xercesc::DOMElement& e,
1871  ::xml_schema::flags f = 0,
1872  ::xml_schema::container* c = 0);
1873 
1883  elem_orders (const elem_orders& x,
1884  ::xml_schema::flags f = 0,
1885  ::xml_schema::container* c = 0);
1886 
1898  virtual elem_orders*
1899  _clone (::xml_schema::flags f = 0,
1900  ::xml_schema::container* c = 0) const;
1901 
1903 
1907  virtual
1908  ~elem_orders ();
1909 
1910  // Implementation.
1911  //
1912 
1913  //@cond
1914 
1915  protected:
1916  void
1917  parse (::xsd::cxx::xml::dom::parser< char >&,
1918  ::xml_schema::flags);
1919 
1920  protected:
1921  ::xsd::cxx::tree::one< id_type > id_;
1922  ::xsd::cxx::tree::one< ord_type > ord_;
1923 
1924  //@endcond
1925  };
1926 
1933  {
1934  public:
1942 
1946  typedef ::XMLSolution::elem_coeffs elem_coeffs_type;
1947 
1951  typedef ::xsd::cxx::tree::sequence< elem_coeffs_type > elem_coeffs_sequence;
1952 
1956  typedef elem_coeffs_sequence::iterator elem_coeffs_iterator;
1957 
1961  typedef elem_coeffs_sequence::const_iterator elem_coeffs_const_iterator;
1962 
1966  typedef ::xsd::cxx::tree::traits< elem_coeffs_type, char > elem_coeffs_traits;
1967 
1974  const elem_coeffs_sequence&
1975  elem_coeffs () const;
1976 
1983  elem_coeffs ();
1984 
1994  void
1995  elem_coeffs (const elem_coeffs_sequence& s);
1996 
1998 
2006 
2011 
2015  typedef ::xsd::cxx::tree::optional< component_number_type > component_number_optional;
2016 
2020  typedef ::xsd::cxx::tree::traits< component_number_type, char > component_number_traits;
2021 
2029  component_number () const;
2030 
2037  component_number ();
2038 
2047  void
2049 
2059  void
2061 
2063 
2068 
2073  component ();
2074 
2083  component (const ::xercesc::DOMElement& e,
2084  ::xml_schema::flags f = 0,
2085  ::xml_schema::container* c = 0);
2086 
2096  component (const component& x,
2097  ::xml_schema::flags f = 0,
2098  ::xml_schema::container* c = 0);
2099 
2111  virtual component*
2112  _clone (::xml_schema::flags f = 0,
2113  ::xml_schema::container* c = 0) const;
2114 
2116 
2120  virtual
2121  ~component ();
2122 
2123  // Implementation.
2124  //
2125 
2126  //@cond
2127 
2128  protected:
2129  void
2130  parse (::xsd::cxx::xml::dom::parser< char >&,
2131  ::xml_schema::flags);
2132 
2133  protected:
2134  elem_coeffs_sequence elem_coeffs_;
2135  component_number_optional component_number_;
2136 
2137  //@endcond
2138  };
2139 
2146  {
2147  public:
2155 
2160 
2164  typedef ::xsd::cxx::tree::traits< id_type, char > id_traits;
2165 
2171  const id_type&
2172  id () const;
2173 
2179  id_type&
2180  id ();
2181 
2190  void
2191  id (const id_type& x);
2192 
2194 
2202 
2207 
2211  typedef ::xsd::cxx::tree::traits< c_type, char > c_traits;
2212 
2218  const c_type&
2219  c () const;
2220 
2226  c_type&
2227  c ();
2228 
2237  void
2238  c (const c_type& x);
2239 
2241 
2246 
2251  elem_coeffs (const id_type&,
2252  const c_type&);
2253 
2262  elem_coeffs (const ::xercesc::DOMElement& e,
2263  ::xml_schema::flags f = 0,
2264  ::xml_schema::container* c = 0);
2265 
2275  elem_coeffs (const elem_coeffs& x,
2276  ::xml_schema::flags f = 0,
2277  ::xml_schema::container* c = 0);
2278 
2290  virtual elem_coeffs*
2291  _clone (::xml_schema::flags f = 0,
2292  ::xml_schema::container* c = 0) const;
2293 
2295 
2299  virtual
2300  ~elem_coeffs ();
2301 
2302  // Implementation.
2303  //
2304 
2305  //@cond
2306 
2307  protected:
2308  void
2309  parse (::xsd::cxx::xml::dom::parser< char >&,
2310  ::xml_schema::flags);
2311 
2312  protected:
2313  ::xsd::cxx::tree::one< id_type > id_;
2314  ::xsd::cxx::tree::one< c_type > c_;
2315 
2316  //@endcond
2317  };
2318 }
2319 
2320 #include <iosfwd>
2321 
2322 namespace XMLSolution
2323 {
2324  ::std::ostream&
2325  operator<< (::std::ostream&, const solution&);
2326 
2327  ::std::ostream&
2328  operator<< (::std::ostream&, const mono_coeffs&);
2329 
2330  ::std::ostream&
2331  operator<< (::std::ostream&, const elem_orders&);
2332 
2333  ::std::ostream&
2334  operator<< (::std::ostream&, const component&);
2335 
2336  ::std::ostream&
2337  operator<< (::std::ostream&, const elem_coeffs&);
2338 }
2339 
2340 #include <iosfwd>
2341 
2342 #include <xercesc/sax/InputSource.hpp>
2343 #include <xercesc/dom/DOMDocument.hpp>
2344 #include <xercesc/dom/DOMErrorHandler.hpp>
2345 
2346 namespace XMLSolution
2347 {
2352 
2363  ::std::auto_ptr< ::XMLSolution::solution >
2365  ::xml_schema::flags f = 0,
2367 
2379  ::std::auto_ptr< ::XMLSolution::solution >
2382  ::xml_schema::flags f = 0,
2384 
2397  ::std::auto_ptr< ::XMLSolution::solution >
2399  ::xercesc::DOMErrorHandler& eh,
2400  ::xml_schema::flags f = 0,
2402 
2413  ::std::auto_ptr< ::XMLSolution::solution >
2414  solution_ (::std::istream& is,
2415  ::xml_schema::flags f = 0,
2417 
2429  ::std::auto_ptr< ::XMLSolution::solution >
2430  solution_ (::std::istream& is,
2432  ::xml_schema::flags f = 0,
2434 
2447  ::std::auto_ptr< ::XMLSolution::solution >
2448  solution_ (::std::istream& is,
2449  ::xercesc::DOMErrorHandler& eh,
2450  ::xml_schema::flags f = 0,
2452 
2467  ::std::auto_ptr< ::XMLSolution::solution >
2468  solution_ (::std::istream& is,
2469  const ::std::string& id,
2470  ::xml_schema::flags f = 0,
2472 
2489  ::std::auto_ptr< ::XMLSolution::solution >
2490  solution_ (::std::istream& is,
2491  const ::std::string& id,
2493  ::xml_schema::flags f = 0,
2495 
2512  ::std::auto_ptr< ::XMLSolution::solution >
2513  solution_ (::std::istream& is,
2514  const ::std::string& id,
2515  ::xercesc::DOMErrorHandler& eh,
2516  ::xml_schema::flags f = 0,
2518 
2529  ::std::auto_ptr< ::XMLSolution::solution >
2530  solution_ (::xercesc::InputSource& is,
2531  ::xml_schema::flags f = 0,
2533 
2545  ::std::auto_ptr< ::XMLSolution::solution >
2546  solution_ (::xercesc::InputSource& is,
2548  ::xml_schema::flags f = 0,
2550 
2563  ::std::auto_ptr< ::XMLSolution::solution >
2564  solution_ (::xercesc::InputSource& is,
2565  ::xercesc::DOMErrorHandler& eh,
2566  ::xml_schema::flags f = 0,
2568 
2577  ::std::auto_ptr< ::XMLSolution::solution >
2578  solution_ (const ::xercesc::DOMDocument& d,
2579  ::xml_schema::flags f = 0,
2581 
2594  ::std::auto_ptr< ::XMLSolution::solution >
2595  solution_ (::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument >& d,
2596  ::xml_schema::flags f = 0,
2598 
2600 }
2601 
2602 #include <iosfwd>
2603 
2604 #include <xercesc/dom/DOMDocument.hpp>
2605 #include <xercesc/dom/DOMErrorHandler.hpp>
2606 #include <xercesc/framework/XMLFormatter.hpp>
2607 
2608 #include <xsd/cxx/xml/dom/auto-ptr.hxx>
2609 
2610 namespace XMLSolution
2611 {
2616 
2628  void
2629  solution_ (::std::ostream& os,
2630  const ::XMLSolution::solution& x,
2632  const ::std::string& e = "UTF-8",
2633  ::xml_schema::flags f = 0);
2634 
2648  void
2649  solution_ (::std::ostream& os,
2650  const ::XMLSolution::solution& x,
2653  const ::std::string& e = "UTF-8",
2654  ::xml_schema::flags f = 0);
2655 
2670  void
2671  solution_ (::std::ostream& os,
2672  const ::XMLSolution::solution& x,
2673  ::xercesc::DOMErrorHandler& eh,
2675  const ::std::string& e = "UTF-8",
2676  ::xml_schema::flags f = 0);
2677 
2689  void
2690  solution_ (::xercesc::XMLFormatTarget& ft,
2691  const ::XMLSolution::solution& x,
2693  const ::std::string& e = "UTF-8",
2694  ::xml_schema::flags f = 0);
2695 
2710  void
2711  solution_ (::xercesc::XMLFormatTarget& ft,
2712  const ::XMLSolution::solution& x,
2715  const ::std::string& e = "UTF-8",
2716  ::xml_schema::flags f = 0);
2717 
2732  void
2733  solution_ (::xercesc::XMLFormatTarget& ft,
2734  const ::XMLSolution::solution& x,
2735  ::xercesc::DOMErrorHandler& eh,
2737  const ::std::string& e = "UTF-8",
2738  ::xml_schema::flags f = 0);
2739 
2751  void
2752  solution_ (::xercesc::DOMDocument& d,
2753  const ::XMLSolution::solution& x,
2754  ::xml_schema::flags f = 0);
2755 
2764  ::xml_schema::dom::auto_ptr< ::xercesc::DOMDocument >
2765  solution_ (const ::XMLSolution::solution& x,
2767  ::xml_schema::flags f = 0);
2768 
2770 
2771  void
2772  operator<< (::xercesc::DOMElement&, const solution&);
2773 
2774  void
2775  operator<< (::xercesc::DOMElement&, const mono_coeffs&);
2776 
2777  void
2778  operator<< (::xercesc::DOMElement&, const elem_orders&);
2779 
2780  void
2781  operator<< (::xercesc::DOMElement&, const component&);
2782 
2783  void
2784  operator<< (::xercesc::DOMElement&, const elem_coeffs&);
2785 }
2786 
2787 #include <xsd/cxx/post.hxx>
2788 
2789 // Begin epilogue.
2790 //
2791 //
2792 // End epilogue.
2793 
2794 #endif // SOLUTION_H2D_XML_H