otsdaq_utilities  v2_05_02_indev
ECL.hxx
1 // Copyright (c) 2005-2014 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 #ifndef ECL_HXX
35 #define ECL_HXX
36 
37 #ifndef XSD_CXX11
38 #define XSD_CXX11
39 #endif
40 
41 #ifndef XSD_USE_CHAR
42 #define XSD_USE_CHAR
43 #endif
44 
45 #ifndef XSD_CXX_TREE_USE_CHAR
46 #define XSD_CXX_TREE_USE_CHAR
47 #endif
48 
49 // Begin prologue.
50 //
51 //
52 // End prologue.
53 
54 #include <xsd/cxx/config.hxx>
55 
56 #if (XSD_INT_VERSION != 4000000L)
57 #error XSD runtime version mismatch
58 #endif
59 
60 #include <xsd/cxx/pre.hxx>
61 
62 #include <xsd/cxx/xml/char-utf8.hxx>
63 
64 #include <xsd/cxx/tree/exceptions.hxx>
65 #include <xsd/cxx/tree/elements.hxx>
66 #include <xsd/cxx/tree/types.hxx>
67 
68 #include <xsd/cxx/xml/error-handler.hxx>
69 
70 #include <xsd/cxx/xml/dom/auto-ptr.hxx>
71 
72 #include <xsd/cxx/tree/parsing.hxx>
73 #include <xsd/cxx/tree/parsing/byte.hxx>
74 #include <xsd/cxx/tree/parsing/unsigned-byte.hxx>
75 #include <xsd/cxx/tree/parsing/short.hxx>
76 #include <xsd/cxx/tree/parsing/unsigned-short.hxx>
77 #include <xsd/cxx/tree/parsing/int.hxx>
78 #include <xsd/cxx/tree/parsing/unsigned-int.hxx>
79 #include <xsd/cxx/tree/parsing/long.hxx>
80 #include <xsd/cxx/tree/parsing/unsigned-long.hxx>
81 #include <xsd/cxx/tree/parsing/boolean.hxx>
82 #include <xsd/cxx/tree/parsing/float.hxx>
83 #include <xsd/cxx/tree/parsing/double.hxx>
84 #include <xsd/cxx/tree/parsing/decimal.hxx>
85 
86 #include <xsd/cxx/xml/dom/serialization-header.hxx>
87 #include <xsd/cxx/tree/serialization.hxx>
88 #include <xsd/cxx/tree/serialization/byte.hxx>
89 #include <xsd/cxx/tree/serialization/unsigned-byte.hxx>
90 #include <xsd/cxx/tree/serialization/short.hxx>
91 #include <xsd/cxx/tree/serialization/unsigned-short.hxx>
92 #include <xsd/cxx/tree/serialization/int.hxx>
93 #include <xsd/cxx/tree/serialization/unsigned-int.hxx>
94 #include <xsd/cxx/tree/serialization/long.hxx>
95 #include <xsd/cxx/tree/serialization/unsigned-long.hxx>
96 #include <xsd/cxx/tree/serialization/boolean.hxx>
97 #include <xsd/cxx/tree/serialization/float.hxx>
98 #include <xsd/cxx/tree/serialization/double.hxx>
99 #include <xsd/cxx/tree/serialization/decimal.hxx>
100 
101 #include <xsd/cxx/tree/std-ostream-operators.hxx>
102 
103 namespace xml_schema
104 {
105  // anyType and anySimpleType.
106  //
107  typedef ::xsd::cxx::tree::type type;
108  typedef ::xsd::cxx::tree::simple_type< char, type > simple_type;
109  typedef ::xsd::cxx::tree::type container;
110 
111  // 8-bit
112  //
113  typedef signed char byte;
114  typedef unsigned char unsigned_byte;
115 
116  // 16-bit
117  //
118  typedef short short_;
119  typedef unsigned short unsigned_short;
120 
121  // 32-bit
122  //
123  typedef int int_;
124  typedef unsigned int unsigned_int;
125 
126  // 64-bit
127  //
128  typedef long long long_;
129  typedef unsigned long long unsigned_long;
130 
131  // Supposed to be arbitrary-length integral types.
132  //
133  typedef long long integer;
134  typedef long long non_positive_integer;
135  typedef unsigned long long non_negative_integer;
136  typedef unsigned long long positive_integer;
137  typedef long long negative_integer;
138 
139  // Boolean.
140  //
141  typedef bool boolean;
142 
143  // Floating-point types.
144  //
145  typedef float float_;
146  typedef double double_;
147  typedef double decimal;
148 
149  // String types.
150  //
151  typedef ::xsd::cxx::tree::string< char, simple_type > string;
152  typedef ::xsd::cxx::tree::normalized_string< char, string > normalized_string;
153  typedef ::xsd::cxx::tree::token< char, normalized_string > token;
154  typedef ::xsd::cxx::tree::name< char, token > name;
155  typedef ::xsd::cxx::tree::nmtoken< char, token > nmtoken;
156  typedef ::xsd::cxx::tree::nmtokens< char, simple_type, nmtoken > nmtokens;
157  typedef ::xsd::cxx::tree::ncname< char, name > ncname;
158  typedef ::xsd::cxx::tree::language< char, token > language;
159 
160  // ID/IDREF.
161  //
162  typedef ::xsd::cxx::tree::id< char, ncname > id;
163  typedef ::xsd::cxx::tree::idref< char, ncname, type > idref;
164  typedef ::xsd::cxx::tree::idrefs< char, simple_type, idref > idrefs;
165 
166  // URI.
167  //
168  typedef ::xsd::cxx::tree::uri< char, simple_type > uri;
169 
170  // Qualified name.
171  //
172  typedef ::xsd::cxx::tree::qname< char, simple_type, uri, ncname > qname;
173 
174  // Binary.
175  //
176  typedef ::xsd::cxx::tree::buffer< char > buffer;
177  typedef ::xsd::cxx::tree::base64_binary< char, simple_type > base64_binary;
178  typedef ::xsd::cxx::tree::hex_binary< char, simple_type > hex_binary;
179 
180  // Date/time.
181  //
182  typedef ::xsd::cxx::tree::time_zone time_zone;
183  typedef ::xsd::cxx::tree::date< char, simple_type > date;
184  typedef ::xsd::cxx::tree::date_time< char, simple_type > date_time;
185  typedef ::xsd::cxx::tree::duration< char, simple_type > duration;
186  typedef ::xsd::cxx::tree::gday< char, simple_type > gday;
187  typedef ::xsd::cxx::tree::gmonth< char, simple_type > gmonth;
188  typedef ::xsd::cxx::tree::gmonth_day< char, simple_type > gmonth_day;
189  typedef ::xsd::cxx::tree::gyear< char, simple_type > gyear;
190  typedef ::xsd::cxx::tree::gyear_month< char, simple_type > gyear_month;
191  typedef ::xsd::cxx::tree::time< char, simple_type > time;
192 
193  // Entity.
194  //
195  typedef ::xsd::cxx::tree::entity< char, ncname > entity;
196  typedef ::xsd::cxx::tree::entities< char, simple_type, entity > entities;
197 
198  typedef ::xsd::cxx::tree::content_order content_order;
199  // Namespace information and list stream. Used in
200  // serialization functions.
201  //
202  typedef ::xsd::cxx::xml::dom::namespace_info< char > namespace_info;
203  typedef ::xsd::cxx::xml::dom::namespace_infomap< char > namespace_infomap;
204  typedef ::xsd::cxx::tree::list_stream< char > list_stream;
205  typedef ::xsd::cxx::tree::as_double< double_ > as_double;
206  typedef ::xsd::cxx::tree::as_decimal< decimal > as_decimal;
207  typedef ::xsd::cxx::tree::facet facet;
208 
209  // Flags and properties.
210  //
211  typedef ::xsd::cxx::tree::flags flags;
212  typedef ::xsd::cxx::tree::properties< char > properties;
213 
214  // Parsing/serialization diagnostics.
215  //
216  typedef ::xsd::cxx::tree::severity severity;
217  typedef ::xsd::cxx::tree::error< char > error;
218  typedef ::xsd::cxx::tree::diagnostics< char > diagnostics;
219 
220  // Exceptions.
221  //
222  typedef ::xsd::cxx::tree::exception< char > exception;
223  typedef ::xsd::cxx::tree::bounds< char > bounds;
224  typedef ::xsd::cxx::tree::duplicate_id< char > duplicate_id;
225  typedef ::xsd::cxx::tree::parsing< char > parsing;
226  typedef ::xsd::cxx::tree::expected_element< char > expected_element;
227  typedef ::xsd::cxx::tree::unexpected_element< char > unexpected_element;
228  typedef ::xsd::cxx::tree::expected_attribute< char > expected_attribute;
229  typedef ::xsd::cxx::tree::unexpected_enumerator< char > unexpected_enumerator;
230  typedef ::xsd::cxx::tree::expected_text_content< char > expected_text_content;
231  typedef ::xsd::cxx::tree::no_prefix_mapping< char > no_prefix_mapping;
232  typedef ::xsd::cxx::tree::serialization< char > serialization;
233 
234  // Error handler callback interface.
235  //
236  typedef ::xsd::cxx::xml::error_handler< char > error_handler;
237 
238  // DOM interaction.
239  //
240  namespace dom
241  {
242  // Automatic pointer for DOMDocument.
243  //
244  using ::xsd::cxx::xml::dom::unique_ptr;
245 
246 #ifndef XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA
247 #define XSD_CXX_TREE_TREE_NODE_KEY__XML_SCHEMA
248  // DOM user data key for back pointers to tree nodes.
249  //
250  const XMLCh* const tree_node_key = ::xsd::cxx::tree::user_data_keys::node;
251 #endif
252  }
253 }
254 
255 // Forward declarations.
256 //
257 class Tag_t;
258 class Attachment_t;
259 class Field_t;
260 class Form_t;
261 class ECLEntry_t;
262 
263 #include <memory> // ::std::unique_ptr
264 #include <limits> // std::numeric_limits
265 #include <algorithm> // std::binary_search
266 #include <utility> // std::move
267 
268 #include <xsd/cxx/xml/char-utf8.hxx>
269 
270 #include <xsd/cxx/tree/exceptions.hxx>
271 #include <xsd/cxx/tree/elements.hxx>
272 #include <xsd/cxx/tree/containers.hxx>
273 #include <xsd/cxx/tree/list.hxx>
274 
275 #include <xsd/cxx/xml/dom/parsing-header.hxx>
276 
277 class Tag_t: public ::xml_schema::type
278 {
279  public:
280  // name
281  //
282  typedef ::xml_schema::string name_type;
283  typedef ::xsd::cxx::tree::traits< name_type, char > name_traits;
284 
285  const name_type&
286  name () const;
287 
288  name_type&
289  name ();
290 
291  void
292  name (const name_type& x);
293 
294  void
295  name (::std::unique_ptr< name_type > p);
296 
297  // Constructors.
298  //
299  Tag_t ();
300 
301  Tag_t (const name_type&);
302 
303  Tag_t (const ::xercesc::DOMElement& e,
304  ::xml_schema::flags f = 0,
305  ::xml_schema::container* c = 0);
306 
307  Tag_t (const Tag_t& x,
308  ::xml_schema::flags f = 0,
309  ::xml_schema::container* c = 0);
310 
311  virtual Tag_t*
312  _clone (::xml_schema::flags f = 0,
313  ::xml_schema::container* c = 0) const;
314 
315  Tag_t&
316  operator= (const Tag_t& x);
317 
318  virtual
319  ~Tag_t ();
320 
321  // Implementation.
322  //
323  protected:
324  void
325  parse (::xsd::cxx::xml::dom::parser< char >&,
326  ::xml_schema::flags);
327 
328  protected:
329  ::xsd::cxx::tree::one< name_type > name_;
330 };
331 
332 class Attachment_t: public ::xml_schema::base64_binary
333 {
334  public:
335  // type
336  //
337  typedef ::xml_schema::string type_type;
338  typedef ::xsd::cxx::tree::traits< type_type, char > type_traits;
339 
340  const type_type&
341  type () const;
342 
343  type_type&
344  type ();
345 
346  void
347  type (const type_type& x);
348 
349  void
350  type (::std::unique_ptr< type_type > p);
351 
352  // filename
353  //
354  typedef ::xml_schema::string filename_type;
355  typedef ::xsd::cxx::tree::traits< filename_type, char > filename_traits;
356 
357  const filename_type&
358  filename () const;
359 
360  filename_type&
361  filename ();
362 
363  void
364  filename (const filename_type& x);
365 
366  void
367  filename (::std::unique_ptr< filename_type > p);
368 
369  // Constructors.
370  //
371  Attachment_t ();
372 
373  Attachment_t (const type_type&,
374  const filename_type&);
375 
376  Attachment_t (const ::xml_schema::base64_binary&,
377  const type_type&,
378  const filename_type&);
379 
380  Attachment_t (const ::xercesc::DOMElement& e,
381  ::xml_schema::flags f = 0,
382  ::xml_schema::container* c = 0);
383 
384  Attachment_t (const Attachment_t& x,
385  ::xml_schema::flags f = 0,
386  ::xml_schema::container* c = 0);
387 
388  virtual Attachment_t*
389  _clone (::xml_schema::flags f = 0,
390  ::xml_schema::container* c = 0) const;
391 
392  Attachment_t&
393  operator= (const Attachment_t& x);
394 
395  virtual
396  ~Attachment_t ();
397 
398  // Implementation.
399  //
400  protected:
401  void
402  parse (::xsd::cxx::xml::dom::parser< char >&,
403  ::xml_schema::flags);
404 
405  protected:
406  ::xsd::cxx::tree::one< type_type > type_;
407  ::xsd::cxx::tree::one< filename_type > filename_;
408 };
409 
410 class Field_t: public ::xml_schema::string
411 {
412  public:
413  // name
414  //
415  typedef ::xml_schema::string name_type;
416  typedef ::xsd::cxx::tree::traits< name_type, char > name_traits;
417 
418  const name_type&
419  name () const;
420 
421  name_type&
422  name ();
423 
424  void
425  name (const name_type& x);
426 
427  void
428  name (::std::unique_ptr< name_type > p);
429 
430  // Constructors.
431  //
432  Field_t ();
433 
434  Field_t (const name_type&);
435 
436  Field_t (const char*,
437  const name_type&);
438 
439  Field_t (const ::std::string&,
440  const name_type&);
441 
442  Field_t (const ::xml_schema::string&,
443  const name_type&);
444 
445  Field_t (const ::xercesc::DOMElement& e,
446  ::xml_schema::flags f = 0,
447  ::xml_schema::container* c = 0);
448 
449  Field_t (const Field_t& x,
450  ::xml_schema::flags f = 0,
451  ::xml_schema::container* c = 0);
452 
453  virtual Field_t*
454  _clone (::xml_schema::flags f = 0,
455  ::xml_schema::container* c = 0) const;
456 
457  Field_t&
458  operator= (const Field_t& x);
459 
460  virtual
461  ~Field_t ();
462 
463  // Implementation.
464  //
465  protected:
466  void
467  parse (::xsd::cxx::xml::dom::parser< char >&,
468  ::xml_schema::flags);
469 
470  protected:
471  ::xsd::cxx::tree::one< name_type > name_;
472 };
473 
474 class Form_t: public ::xml_schema::type
475 {
476  public:
477  // field
478  //
479  typedef ::Field_t field_type;
480  typedef ::xsd::cxx::tree::sequence< field_type > field_sequence;
481  typedef field_sequence::iterator field_iterator;
482  typedef field_sequence::const_iterator field_const_iterator;
483  typedef ::xsd::cxx::tree::traits< field_type, char > field_traits;
484 
485  const field_sequence&
486  field () const;
487 
488  field_sequence&
489  field ();
490 
491  void
492  field (const field_sequence& s);
493 
494  // name
495  //
496  typedef ::xml_schema::string name_type;
497  typedef ::xsd::cxx::tree::traits< name_type, char > name_traits;
498 
499  const name_type&
500  name () const;
501 
502  name_type&
503  name ();
504 
505  void
506  name (const name_type& x);
507 
508  void
509  name (::std::unique_ptr< name_type > p);
510 
511  // Constructors.
512  //
513  Form_t ();
514 
515  Form_t (const name_type&);
516 
517  Form_t (const ::xercesc::DOMElement& e,
518  ::xml_schema::flags f = 0,
519  ::xml_schema::container* c = 0);
520 
521  Form_t (const Form_t& x,
522  ::xml_schema::flags f = 0,
523  ::xml_schema::container* c = 0);
524 
525  virtual Form_t*
526  _clone (::xml_schema::flags f = 0,
527  ::xml_schema::container* c = 0) const;
528 
529  Form_t&
530  operator= (const Form_t& x);
531 
532  virtual
533  ~Form_t ();
534 
535  // Implementation.
536  //
537  protected:
538  void
539  parse (::xsd::cxx::xml::dom::parser< char >&,
540  ::xml_schema::flags);
541 
542  protected:
543  field_sequence field_;
544  ::xsd::cxx::tree::one< name_type > name_;
545 };
546 
547 class ECLEntry_t: public ::xml_schema::type
548 {
549  public:
550  // tag
551  //
552  typedef ::Tag_t tag_type;
553  typedef ::xsd::cxx::tree::sequence< tag_type > tag_sequence;
554  typedef tag_sequence::iterator tag_iterator;
555  typedef tag_sequence::const_iterator tag_const_iterator;
556  typedef ::xsd::cxx::tree::traits< tag_type, char > tag_traits;
557 
558  const tag_sequence&
559  tag () const;
560 
561  tag_sequence&
562  tag ();
563 
564  void
565  tag (const tag_sequence& s);
566 
567  // attachment
568  //
569  typedef ::Attachment_t attachment_type;
570  typedef ::xsd::cxx::tree::sequence< attachment_type > attachment_sequence;
571  typedef attachment_sequence::iterator attachment_iterator;
572  typedef attachment_sequence::const_iterator attachment_const_iterator;
573  typedef ::xsd::cxx::tree::traits< attachment_type, char > attachment_traits;
574 
575  const attachment_sequence&
576  attachment () const;
577 
578  attachment_sequence&
579  attachment ();
580 
581  void
582  attachment (const attachment_sequence& s);
583 
584  // form
585  //
586  typedef ::Form_t form_type;
587  typedef ::xsd::cxx::tree::optional< form_type > form_optional;
588  typedef ::xsd::cxx::tree::traits< form_type, char > form_traits;
589 
590  const form_optional&
591  form () const;
592 
593  form_optional&
594  form ();
595 
596  void
597  form (const form_type& x);
598 
599  void
600  form (const form_optional& x);
601 
602  void
603  form (::std::unique_ptr< form_type > p);
604 
605  // author
606  //
607  typedef ::xml_schema::string author_type;
608  typedef ::xsd::cxx::tree::traits< author_type, char > author_traits;
609 
610  const author_type&
611  author () const;
612 
613  author_type&
614  author ();
615 
616  void
617  author (const author_type& x);
618 
619  void
620  author (::std::unique_ptr< author_type > p);
621 
622  // category
623  //
624  typedef ::xml_schema::string category_type;
625  typedef ::xsd::cxx::tree::traits< category_type, char > category_traits;
626 
627  const category_type&
628  category () const;
629 
630  category_type&
631  category ();
632 
633  void
634  category (const category_type& x);
635 
636  void
637  category (::std::unique_ptr< category_type > p);
638 
639  // subject
640  //
641  typedef ::xml_schema::string subject_type;
642  typedef ::xsd::cxx::tree::optional< subject_type > subject_optional;
643  typedef ::xsd::cxx::tree::traits< subject_type, char > subject_traits;
644 
645  const subject_optional&
646  subject () const;
647 
648  subject_optional&
649  subject ();
650 
651  void
652  subject (const subject_type& x);
653 
654  void
655  subject (const subject_optional& x);
656 
657  void
658  subject (::std::unique_ptr< subject_type > p);
659 
660  // Constructors.
661  //
662  ECLEntry_t ();
663 
664  ECLEntry_t (const author_type&,
665  const category_type&);
666 
667  ECLEntry_t (const ::xercesc::DOMElement& e,
668  ::xml_schema::flags f = 0,
669  ::xml_schema::container* c = 0);
670 
671  ECLEntry_t (const ECLEntry_t& x,
672  ::xml_schema::flags f = 0,
673  ::xml_schema::container* c = 0);
674 
675  virtual ECLEntry_t*
676  _clone (::xml_schema::flags f = 0,
677  ::xml_schema::container* c = 0) const;
678 
679  ECLEntry_t&
680  operator= (const ECLEntry_t& x);
681 
682  virtual
683  ~ECLEntry_t ();
684 
685  // Implementation.
686  //
687  protected:
688  void
689  parse (::xsd::cxx::xml::dom::parser< char >&,
690  ::xml_schema::flags);
691 
692  protected:
693  tag_sequence tag_;
694  attachment_sequence attachment_;
695  form_optional form_;
696  ::xsd::cxx::tree::one< author_type > author_;
697  ::xsd::cxx::tree::one< category_type > category_;
698  subject_optional subject_;
699 };
700 
701 #include <iosfwd>
702 
703 ::std::ostream&
704 operator<< (::std::ostream&, const Tag_t&);
705 
706 ::std::ostream&
707 operator<< (::std::ostream&, const Attachment_t&);
708 
709 ::std::ostream&
710 operator<< (::std::ostream&, const Field_t&);
711 
712 ::std::ostream&
713 operator<< (::std::ostream&, const Form_t&);
714 
715 ::std::ostream&
716 operator<< (::std::ostream&, const ECLEntry_t&);
717 
718 #include <iosfwd>
719 
720 #include <xercesc/sax/InputSource.hpp>
721 #include <xercesc/dom/DOMDocument.hpp>
722 #include <xercesc/dom/DOMErrorHandler.hpp>
723 
724 // Parse a URI or a local file.
725 //
726 
727 ::std::unique_ptr< ::ECLEntry_t >
728 entry (const ::std::string& uri,
729  ::xml_schema::flags f = 0,
730  const ::xml_schema::properties& p = ::xml_schema::properties ());
731 
732 ::std::unique_ptr< ::ECLEntry_t >
733 entry (const ::std::string& uri,
734  ::xml_schema::error_handler& eh,
735  ::xml_schema::flags f = 0,
736  const ::xml_schema::properties& p = ::xml_schema::properties ());
737 
738 ::std::unique_ptr< ::ECLEntry_t >
739 entry (const ::std::string& uri,
740  ::xercesc::DOMErrorHandler& eh,
741  ::xml_schema::flags f = 0,
742  const ::xml_schema::properties& p = ::xml_schema::properties ());
743 
744 // Parse std::istream.
745 //
746 
747 ::std::unique_ptr< ::ECLEntry_t >
748 entry (::std::istream& is,
749  ::xml_schema::flags f = 0,
750  const ::xml_schema::properties& p = ::xml_schema::properties ());
751 
752 ::std::unique_ptr< ::ECLEntry_t >
753 entry (::std::istream& is,
754  ::xml_schema::error_handler& eh,
755  ::xml_schema::flags f = 0,
756  const ::xml_schema::properties& p = ::xml_schema::properties ());
757 
758 ::std::unique_ptr< ::ECLEntry_t >
759 entry (::std::istream& is,
760  ::xercesc::DOMErrorHandler& eh,
761  ::xml_schema::flags f = 0,
762  const ::xml_schema::properties& p = ::xml_schema::properties ());
763 
764 ::std::unique_ptr< ::ECLEntry_t >
765 entry (::std::istream& is,
766  const ::std::string& id,
767  ::xml_schema::flags f = 0,
768  const ::xml_schema::properties& p = ::xml_schema::properties ());
769 
770 ::std::unique_ptr< ::ECLEntry_t >
771 entry (::std::istream& is,
772  const ::std::string& id,
773  ::xml_schema::error_handler& eh,
774  ::xml_schema::flags f = 0,
775  const ::xml_schema::properties& p = ::xml_schema::properties ());
776 
777 ::std::unique_ptr< ::ECLEntry_t >
778 entry (::std::istream& is,
779  const ::std::string& id,
780  ::xercesc::DOMErrorHandler& eh,
781  ::xml_schema::flags f = 0,
782  const ::xml_schema::properties& p = ::xml_schema::properties ());
783 
784 // Parse xercesc::InputSource.
785 //
786 
787 ::std::unique_ptr< ::ECLEntry_t >
788 entry (::xercesc::InputSource& is,
789  ::xml_schema::flags f = 0,
790  const ::xml_schema::properties& p = ::xml_schema::properties ());
791 
792 ::std::unique_ptr< ::ECLEntry_t >
793 entry (::xercesc::InputSource& is,
794  ::xml_schema::error_handler& eh,
795  ::xml_schema::flags f = 0,
796  const ::xml_schema::properties& p = ::xml_schema::properties ());
797 
798 ::std::unique_ptr< ::ECLEntry_t >
799 entry (::xercesc::InputSource& is,
800  ::xercesc::DOMErrorHandler& eh,
801  ::xml_schema::flags f = 0,
802  const ::xml_schema::properties& p = ::xml_schema::properties ());
803 
804 // Parse xercesc::DOMDocument.
805 //
806 
807 ::std::unique_ptr< ::ECLEntry_t >
808 entry (const ::xercesc::DOMDocument& d,
809  ::xml_schema::flags f = 0,
810  const ::xml_schema::properties& p = ::xml_schema::properties ());
811 
812 ::std::unique_ptr< ::ECLEntry_t >
813 entry (::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d,
814  ::xml_schema::flags f = 0,
815  const ::xml_schema::properties& p = ::xml_schema::properties ());
816 
817 #include <iosfwd>
818 
819 #include <xercesc/dom/DOMDocument.hpp>
820 #include <xercesc/dom/DOMErrorHandler.hpp>
821 #include <xercesc/framework/XMLFormatter.hpp>
822 
823 #include <xsd/cxx/xml/dom/auto-ptr.hxx>
824 
825 // Serialize to std::ostream.
826 //
827 
828 void
829 entry (::std::ostream& os,
830  const ::ECLEntry_t& x,
831  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
832  const ::std::string& e = "UTF-8",
833  ::xml_schema::flags f = 0);
834 
835 void
836 entry (::std::ostream& os,
837  const ::ECLEntry_t& x,
838  ::xml_schema::error_handler& eh,
839  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
840  const ::std::string& e = "UTF-8",
841  ::xml_schema::flags f = 0);
842 
843 void
844 entry (::std::ostream& os,
845  const ::ECLEntry_t& x,
846  ::xercesc::DOMErrorHandler& eh,
847  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
848  const ::std::string& e = "UTF-8",
849  ::xml_schema::flags f = 0);
850 
851 // Serialize to xercesc::XMLFormatTarget.
852 //
853 
854 void
855 entry (::xercesc::XMLFormatTarget& ft,
856  const ::ECLEntry_t& x,
857  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
858  const ::std::string& e = "UTF-8",
859  ::xml_schema::flags f = 0);
860 
861 void
862 entry (::xercesc::XMLFormatTarget& ft,
863  const ::ECLEntry_t& x,
864  ::xml_schema::error_handler& eh,
865  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
866  const ::std::string& e = "UTF-8",
867  ::xml_schema::flags f = 0);
868 
869 void
870 entry (::xercesc::XMLFormatTarget& ft,
871  const ::ECLEntry_t& x,
872  ::xercesc::DOMErrorHandler& eh,
873  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
874  const ::std::string& e = "UTF-8",
875  ::xml_schema::flags f = 0);
876 
877 // Serialize to an existing xercesc::DOMDocument.
878 //
879 
880 void
881 entry (::xercesc::DOMDocument& d,
882  const ::ECLEntry_t& x,
883  ::xml_schema::flags f = 0);
884 
885 // Serialize to a new xercesc::DOMDocument.
886 //
887 
888 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument >
889 entry (const ::ECLEntry_t& x,
890  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
891  ::xml_schema::flags f = 0);
892 
893 void
894 operator<< (::xercesc::DOMElement&, const Tag_t&);
895 
896 void
897 operator<< (::xercesc::DOMElement&, const Attachment_t&);
898 
899 void
900 operator<< (::xercesc::DOMElement&, const Field_t&);
901 
902 void
903 operator<< (::xercesc::DOMElement&, const Form_t&);
904 
905 void
906 operator<< (::xercesc::DOMElement&, const ECLEntry_t&);
907 
908 #include <xsd/cxx/post.hxx>
909 
910 // Begin epilogue.
911 //
912 //
913 // End epilogue.
914 
915 #endif // ECL_HXX
Definition: ECL.hxx:277
Definition: ECL.hxx:547
Definition: ECL.hxx:410
Definition: ECL.hxx:474