otsdaq_utilities  v2_02_00
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> // if missing: ksu; yum install xsd;
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  // Constructors.
640  //
641  ECLEntry_t ();
642 
643  ECLEntry_t (const author_type&,
644  const category_type&);
645 
646  ECLEntry_t (const ::xercesc::DOMElement& e,
647  ::xml_schema::flags f = 0,
648  ::xml_schema::container* c = 0);
649 
650  ECLEntry_t (const ECLEntry_t& x,
651  ::xml_schema::flags f = 0,
652  ::xml_schema::container* c = 0);
653 
654  virtual ECLEntry_t*
655  _clone (::xml_schema::flags f = 0,
656  ::xml_schema::container* c = 0) const;
657 
658  ECLEntry_t&
659  operator= (const ECLEntry_t& x);
660 
661  virtual
662  ~ECLEntry_t ();
663 
664  // Implementation.
665  //
666  protected:
667  void
668  parse (::xsd::cxx::xml::dom::parser< char >&,
669  ::xml_schema::flags);
670 
671  protected:
672  tag_sequence tag_;
673  attachment_sequence attachment_;
674  form_optional form_;
675  ::xsd::cxx::tree::one< author_type > author_;
676  ::xsd::cxx::tree::one< category_type > category_;
677 };
678 
679 #include <iosfwd>
680 
681 ::std::ostream&
682 operator<< (::std::ostream&, const Tag_t&);
683 
684 ::std::ostream&
685 operator<< (::std::ostream&, const Attachment_t&);
686 
687 ::std::ostream&
688 operator<< (::std::ostream&, const Field_t&);
689 
690 ::std::ostream&
691 operator<< (::std::ostream&, const Form_t&);
692 
693 ::std::ostream&
694 operator<< (::std::ostream&, const ECLEntry_t&);
695 
696 #include <iosfwd>
697 
698 #include <xercesc/sax/InputSource.hpp>
699 #include <xercesc/dom/DOMDocument.hpp>
700 #include <xercesc/dom/DOMErrorHandler.hpp>
701 
702 // Parse a URI or a local file.
703 //
704 
705 ::std::unique_ptr< ::ECLEntry_t >
706 entry (const ::std::string& uri,
707  ::xml_schema::flags f = 0,
708  const ::xml_schema::properties& p = ::xml_schema::properties ());
709 
710 ::std::unique_ptr< ::ECLEntry_t >
711 entry (const ::std::string& uri,
712  ::xml_schema::error_handler& eh,
713  ::xml_schema::flags f = 0,
714  const ::xml_schema::properties& p = ::xml_schema::properties ());
715 
716 ::std::unique_ptr< ::ECLEntry_t >
717 entry (const ::std::string& uri,
718  ::xercesc::DOMErrorHandler& eh,
719  ::xml_schema::flags f = 0,
720  const ::xml_schema::properties& p = ::xml_schema::properties ());
721 
722 // Parse std::istream.
723 //
724 
725 ::std::unique_ptr< ::ECLEntry_t >
726 entry (::std::istream& is,
727  ::xml_schema::flags f = 0,
728  const ::xml_schema::properties& p = ::xml_schema::properties ());
729 
730 ::std::unique_ptr< ::ECLEntry_t >
731 entry (::std::istream& is,
732  ::xml_schema::error_handler& eh,
733  ::xml_schema::flags f = 0,
734  const ::xml_schema::properties& p = ::xml_schema::properties ());
735 
736 ::std::unique_ptr< ::ECLEntry_t >
737 entry (::std::istream& is,
738  ::xercesc::DOMErrorHandler& eh,
739  ::xml_schema::flags f = 0,
740  const ::xml_schema::properties& p = ::xml_schema::properties ());
741 
742 ::std::unique_ptr< ::ECLEntry_t >
743 entry (::std::istream& is,
744  const ::std::string& id,
745  ::xml_schema::flags f = 0,
746  const ::xml_schema::properties& p = ::xml_schema::properties ());
747 
748 ::std::unique_ptr< ::ECLEntry_t >
749 entry (::std::istream& is,
750  const ::std::string& id,
751  ::xml_schema::error_handler& eh,
752  ::xml_schema::flags f = 0,
753  const ::xml_schema::properties& p = ::xml_schema::properties ());
754 
755 ::std::unique_ptr< ::ECLEntry_t >
756 entry (::std::istream& is,
757  const ::std::string& id,
758  ::xercesc::DOMErrorHandler& eh,
759  ::xml_schema::flags f = 0,
760  const ::xml_schema::properties& p = ::xml_schema::properties ());
761 
762 // Parse xercesc::InputSource.
763 //
764 
765 ::std::unique_ptr< ::ECLEntry_t >
766 entry (::xercesc::InputSource& is,
767  ::xml_schema::flags f = 0,
768  const ::xml_schema::properties& p = ::xml_schema::properties ());
769 
770 ::std::unique_ptr< ::ECLEntry_t >
771 entry (::xercesc::InputSource& is,
772  ::xml_schema::error_handler& eh,
773  ::xml_schema::flags f = 0,
774  const ::xml_schema::properties& p = ::xml_schema::properties ());
775 
776 ::std::unique_ptr< ::ECLEntry_t >
777 entry (::xercesc::InputSource& is,
778  ::xercesc::DOMErrorHandler& eh,
779  ::xml_schema::flags f = 0,
780  const ::xml_schema::properties& p = ::xml_schema::properties ());
781 
782 // Parse xercesc::DOMDocument.
783 //
784 
785 ::std::unique_ptr< ::ECLEntry_t >
786 entry (const ::xercesc::DOMDocument& d,
787  ::xml_schema::flags f = 0,
788  const ::xml_schema::properties& p = ::xml_schema::properties ());
789 
790 ::std::unique_ptr< ::ECLEntry_t >
791 entry (::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d,
792  ::xml_schema::flags f = 0,
793  const ::xml_schema::properties& p = ::xml_schema::properties ());
794 
795 #include <iosfwd>
796 
797 #include <xercesc/dom/DOMDocument.hpp>
798 #include <xercesc/dom/DOMErrorHandler.hpp>
799 #include <xercesc/framework/XMLFormatter.hpp>
800 
801 #include <xsd/cxx/xml/dom/auto-ptr.hxx>
802 
803 // Serialize to std::ostream.
804 //
805 
806 void
807 entry (::std::ostream& os,
808  const ::ECLEntry_t& x,
809  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
810  const ::std::string& e = "UTF-8",
811  ::xml_schema::flags f = 0);
812 
813 void
814 entry (::std::ostream& os,
815  const ::ECLEntry_t& x,
816  ::xml_schema::error_handler& eh,
817  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
818  const ::std::string& e = "UTF-8",
819  ::xml_schema::flags f = 0);
820 
821 void
822 entry (::std::ostream& os,
823  const ::ECLEntry_t& x,
824  ::xercesc::DOMErrorHandler& eh,
825  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
826  const ::std::string& e = "UTF-8",
827  ::xml_schema::flags f = 0);
828 
829 // Serialize to xercesc::XMLFormatTarget.
830 //
831 
832 void
833 entry (::xercesc::XMLFormatTarget& ft,
834  const ::ECLEntry_t& x,
835  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
836  const ::std::string& e = "UTF-8",
837  ::xml_schema::flags f = 0);
838 
839 void
840 entry (::xercesc::XMLFormatTarget& ft,
841  const ::ECLEntry_t& x,
842  ::xml_schema::error_handler& eh,
843  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
844  const ::std::string& e = "UTF-8",
845  ::xml_schema::flags f = 0);
846 
847 void
848 entry (::xercesc::XMLFormatTarget& ft,
849  const ::ECLEntry_t& x,
850  ::xercesc::DOMErrorHandler& eh,
851  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
852  const ::std::string& e = "UTF-8",
853  ::xml_schema::flags f = 0);
854 
855 // Serialize to an existing xercesc::DOMDocument.
856 //
857 
858 void
859 entry (::xercesc::DOMDocument& d,
860  const ::ECLEntry_t& x,
861  ::xml_schema::flags f = 0);
862 
863 // Serialize to a new xercesc::DOMDocument.
864 //
865 
866 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument >
867 entry (const ::ECLEntry_t& x,
868  const ::xml_schema::namespace_infomap& m = ::xml_schema::namespace_infomap (),
869  ::xml_schema::flags f = 0);
870 
871 void
872 operator<< (::xercesc::DOMElement&, const Tag_t&);
873 
874 void
875 operator<< (::xercesc::DOMElement&, const Attachment_t&);
876 
877 void
878 operator<< (::xercesc::DOMElement&, const Field_t&);
879 
880 void
881 operator<< (::xercesc::DOMElement&, const Form_t&);
882 
883 void
884 operator<< (::xercesc::DOMElement&, const ECLEntry_t&);
885 
886 #include <xsd/cxx/post.hxx>
887 
888 // Begin epilogue.
889 //
890 //
891 // End epilogue.
892 
893 #endif // ECL_HXX
Definition: ECL.hxx:277
Definition: ECL.hxx:547
Definition: ECL.hxx:410
Definition: ECL.hxx:474