39 #include <xsd/cxx/pre.hxx>
41 #include <otsdaq-utilities/ECLWriter/ECL.hxx>
46 const Tag_t::name_type& Tag_t::
49 return this->name_.get ();
52 Tag_t::name_type& Tag_t::
55 return this->name_.get ();
59 name (
const name_type& x)
65 name (::std::unique_ptr< name_type > x)
67 this->name_.set (std::move (x));
74 const Attachment_t::type_type& Attachment_t::
77 return this->type_.get ();
80 Attachment_t::type_type& Attachment_t::
83 return this->type_.get ();
87 type (
const type_type& x)
93 type (::std::unique_ptr< type_type > x)
95 this->type_.set (std::move (x));
98 const Attachment_t::filename_type& Attachment_t::
101 return this->filename_.get ();
104 Attachment_t::filename_type& Attachment_t::
107 return this->filename_.get ();
111 filename (
const filename_type& x)
113 this->filename_.set (x);
117 filename (::std::unique_ptr< filename_type > x)
119 this->filename_.set (std::move (x));
126 const Field_t::name_type& Field_t::
129 return this->name_.get ();
132 Field_t::name_type& Field_t::
135 return this->name_.get ();
139 name (
const name_type& x)
145 name (::std::unique_ptr< name_type > x)
147 this->name_.set (std::move (x));
154 const Form_t::field_sequence& Form_t::
160 Form_t::field_sequence& Form_t::
167 field (
const field_sequence& s)
172 const Form_t::name_type& Form_t::
175 return this->name_.get ();
178 Form_t::name_type& Form_t::
181 return this->name_.get ();
185 name (
const name_type& x)
191 name (::std::unique_ptr< name_type > x)
193 this->name_.set (std::move (x));
200 const ECLEntry_t::tag_sequence& ECLEntry_t::
206 ECLEntry_t::tag_sequence& ECLEntry_t::
213 tag (
const tag_sequence& s)
218 const ECLEntry_t::attachment_sequence& ECLEntry_t::
221 return this->attachment_;
224 ECLEntry_t::attachment_sequence& ECLEntry_t::
227 return this->attachment_;
231 attachment (
const attachment_sequence& s)
233 this->attachment_ = s;
236 const ECLEntry_t::form_optional& ECLEntry_t::
242 ECLEntry_t::form_optional& ECLEntry_t::
249 form (
const form_type& x)
255 form (
const form_optional& x)
261 form (::std::unique_ptr< form_type > x)
263 this->form_.set (std::move (x));
266 const ECLEntry_t::author_type& ECLEntry_t::
269 return this->author_.get ();
272 ECLEntry_t::author_type& ECLEntry_t::
275 return this->author_.get ();
279 author (
const author_type& x)
281 this->author_.set (x);
285 author (::std::unique_ptr< author_type > x)
287 this->author_.set (std::move (x));
290 const ECLEntry_t::category_type& ECLEntry_t::
293 return this->category_.get ();
296 ECLEntry_t::category_type& ECLEntry_t::
299 return this->category_.get ();
303 category (
const category_type& x)
305 this->category_.set (x);
309 category (::std::unique_ptr< category_type > x)
311 this->category_.set (std::move (x));
315 #include <xsd/cxx/xml/dom/parsing-source.hxx>
322 : ::xml_schema::type (),
328 Tag_t (
const name_type& name)
329 : ::xml_schema::type (),
335 Tag_t (
const Tag_t& x,
336 ::xml_schema::flags f,
337 ::xml_schema::container* c)
338 : ::xml_schema::type (x, f, c),
339 name_ (x.name_, f, this)
344 Tag_t (const ::xercesc::DOMElement& e,
345 ::xml_schema::flags f,
346 ::xml_schema::container* c)
347 : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
350 if ((f & ::xml_schema::flags::base) == 0)
352 ::xsd::cxx::xml::dom::parser< char > p (e,
false,
false,
true);
358 parse (::xsd::cxx::xml::dom::parser< char >& p,
359 ::xml_schema::flags f)
361 while (p.more_attributes ())
363 const ::xercesc::DOMAttr& i (p.next_attribute ());
364 const ::xsd::cxx::xml::qualified_name< char > n (
365 ::xsd::cxx::xml::dom::name< char > (i));
367 if (n.name () ==
"name" && n.namespace_ ().empty ())
369 this->name_.set (name_traits::create (i, f,
this));
374 if (!name_.present ())
376 throw ::xsd::cxx::tree::expected_attribute< char > (
383 _clone (::xml_schema::flags f,
384 ::xml_schema::container* c)
const
386 return new class Tag_t (*
this, f, c);
390 operator= (
const Tag_t& x)
394 static_cast< ::xml_schema::type&
> (*this) = x;
395 this->name_ = x.name_;
411 : ::xml_schema::base64_binary (),
418 Attachment_t (
const type_type& type,
419 const filename_type& filename)
420 : ::xml_schema::base64_binary (),
422 filename_ (filename, this)
427 Attachment_t (const ::xml_schema::base64_binary& _xsd_base64_binary_base,
428 const type_type& type,
429 const filename_type& filename)
430 : ::xml_schema::base64_binary (_xsd_base64_binary_base),
432 filename_ (filename, this)
438 ::xml_schema::flags f,
439 ::xml_schema::container* c)
440 : ::xml_schema::base64_binary (x, f, c),
441 type_ (x.type_, f, this),
442 filename_ (x.filename_, f, this)
447 Attachment_t (const ::xercesc::DOMElement& e,
448 ::xml_schema::flags f,
449 ::xml_schema::container* c)
450 : ::xml_schema::base64_binary (e, f | ::xml_schema::flags::base, c),
454 if ((f & ::xml_schema::flags::base) == 0)
456 ::xsd::cxx::xml::dom::parser< char > p (e,
false,
false,
true);
462 parse (::xsd::cxx::xml::dom::parser< char >& p,
463 ::xml_schema::flags f)
465 while (p.more_attributes ())
467 const ::xercesc::DOMAttr& i (p.next_attribute ());
468 const ::xsd::cxx::xml::qualified_name< char > n (
469 ::xsd::cxx::xml::dom::name< char > (i));
471 if (n.name () ==
"type" && n.namespace_ ().empty ())
473 this->type_.set (type_traits::create (i, f,
this));
477 if (n.name () ==
"filename" && n.namespace_ ().empty ())
479 this->filename_.set (filename_traits::create (i, f,
this));
484 if (!type_.present ())
486 throw ::xsd::cxx::tree::expected_attribute< char > (
491 if (!filename_.present ())
493 throw ::xsd::cxx::tree::expected_attribute< char > (
500 _clone (::xml_schema::flags f,
501 ::xml_schema::container* c)
const
511 static_cast< ::xml_schema::base64_binary&
> (*this) = x;
512 this->type_ = x.type_;
513 this->filename_ = x.filename_;
529 : ::xml_schema::string (),
535 Field_t (
const name_type& name)
536 : ::xml_schema::string (),
542 Field_t (
const char* _xsd_string_base,
543 const name_type& name)
544 : ::xml_schema::string (_xsd_string_base),
550 Field_t (const ::std::string& _xsd_string_base,
551 const name_type& name)
552 : ::xml_schema::string (_xsd_string_base),
558 Field_t (const ::xml_schema::string& _xsd_string_base,
559 const name_type& name)
560 : ::xml_schema::string (_xsd_string_base),
567 ::xml_schema::flags f,
568 ::xml_schema::container* c)
569 : ::xml_schema::string (x, f, c),
570 name_ (x.name_, f, this)
575 Field_t (const ::xercesc::DOMElement& e,
576 ::xml_schema::flags f,
577 ::xml_schema::container* c)
578 : ::xml_schema::string (e, f | ::xml_schema::flags::base, c),
581 if ((f & ::xml_schema::flags::base) == 0)
583 ::xsd::cxx::xml::dom::parser< char > p (e,
false,
false,
true);
589 parse (::xsd::cxx::xml::dom::parser< char >& p,
590 ::xml_schema::flags f)
592 while (p.more_attributes ())
594 const ::xercesc::DOMAttr& i (p.next_attribute ());
595 const ::xsd::cxx::xml::qualified_name< char > n (
596 ::xsd::cxx::xml::dom::name< char > (i));
598 if (n.name () ==
"name" && n.namespace_ ().empty ())
600 this->name_.set (name_traits::create (i, f,
this));
605 if (!name_.present ())
607 throw ::xsd::cxx::tree::expected_attribute< char > (
614 _clone (::xml_schema::flags f,
615 ::xml_schema::container* c)
const
617 return new class Field_t (*
this, f, c);
625 static_cast< ::xml_schema::string&
> (*this) = x;
626 this->name_ = x.name_;
642 : ::xml_schema::type (),
649 Form_t (
const name_type& name)
650 : ::xml_schema::type (),
658 ::xml_schema::flags f,
659 ::xml_schema::container* c)
660 : ::xml_schema::type (x, f, c),
661 field_ (x.field_, f, this),
662 name_ (x.name_, f, this)
667 Form_t (const ::xercesc::DOMElement& e,
668 ::xml_schema::flags f,
669 ::xml_schema::container* c)
670 : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
674 if ((f & ::xml_schema::flags::base) == 0)
676 ::xsd::cxx::xml::dom::parser< char > p (e,
true,
false,
true);
682 parse (::xsd::cxx::xml::dom::parser< char >& p,
683 ::xml_schema::flags f)
685 for (; p.more_content (); p.next_content (
false))
687 const ::xercesc::DOMElement& i (p.cur_element ());
688 const ::xsd::cxx::xml::qualified_name< char > n (
689 ::xsd::cxx::xml::dom::name< char > (i));
693 if (n.name () ==
"field" && n.namespace_ ().empty ())
695 ::std::unique_ptr< field_type > r (
696 field_traits::create (i, f,
this));
698 this->field_.push_back (::std::move (r));
705 while (p.more_attributes ())
707 const ::xercesc::DOMAttr& i (p.next_attribute ());
708 const ::xsd::cxx::xml::qualified_name< char > n (
709 ::xsd::cxx::xml::dom::name< char > (i));
711 if (n.name () ==
"name" && n.namespace_ ().empty ())
713 this->name_.set (name_traits::create (i, f,
this));
718 if (!name_.present ())
720 throw ::xsd::cxx::tree::expected_attribute< char > (
727 _clone (::xml_schema::flags f,
728 ::xml_schema::container* c)
const
730 return new class Form_t (*
this, f, c);
734 operator= (
const Form_t& x)
738 static_cast< ::xml_schema::type&
> (*this) = x;
739 this->field_ = x.field_;
740 this->name_ = x.name_;
756 : ::xml_schema::type (),
766 ECLEntry_t (
const author_type& author,
767 const category_type& category)
768 : ::xml_schema::type (),
772 author_ (author, this),
773 category_ (category, this)
779 ::xml_schema::flags f,
780 ::xml_schema::container* c)
781 : ::xml_schema::type (x, f, c),
782 tag_ (x.tag_, f, this),
783 attachment_ (x.attachment_, f, this),
784 form_ (x.form_, f, this),
785 author_ (x.author_, f, this),
786 category_ (x.category_, f, this)
791 ECLEntry_t (const ::xercesc::DOMElement& e,
792 ::xml_schema::flags f,
793 ::xml_schema::container* c)
794 : ::xml_schema::type (e, f | ::xml_schema::flags::base, c),
801 if ((f & ::xml_schema::flags::base) == 0)
803 ::xsd::cxx::xml::dom::parser< char > p (e,
true,
false,
true);
809 parse (::xsd::cxx::xml::dom::parser< char >& p,
810 ::xml_schema::flags f)
812 for (; p.more_content (); p.next_content (
false))
814 const ::xercesc::DOMElement& i (p.cur_element ());
815 const ::xsd::cxx::xml::qualified_name< char > n (
816 ::xsd::cxx::xml::dom::name< char > (i));
820 if (n.name () ==
"tag" && n.namespace_ ().empty ())
822 ::std::unique_ptr< tag_type > r (
823 tag_traits::create (i, f,
this));
825 this->tag_.push_back (::std::move (r));
831 if (n.name () ==
"attachment" && n.namespace_ ().empty ())
833 ::std::unique_ptr< attachment_type > r (
834 attachment_traits::create (i, f,
this));
836 this->attachment_.push_back (::std::move (r));
842 if (n.name () ==
"form" && n.namespace_ ().empty ())
844 ::std::unique_ptr< form_type > r (
845 form_traits::create (i, f,
this));
849 this->form_.set (::std::move (r));
857 while (p.more_attributes ())
859 const ::xercesc::DOMAttr& i (p.next_attribute ());
860 const ::xsd::cxx::xml::qualified_name< char > n (
861 ::xsd::cxx::xml::dom::name< char > (i));
863 if (n.name () ==
"author" && n.namespace_ ().empty ())
865 this->author_.set (author_traits::create (i, f,
this));
869 if (n.name () ==
"category" && n.namespace_ ().empty ())
871 this->category_.set (category_traits::create (i, f,
this));
876 if (!author_.present ())
878 throw ::xsd::cxx::tree::expected_attribute< char > (
883 if (!category_.present ())
885 throw ::xsd::cxx::tree::expected_attribute< char > (
892 _clone (::xml_schema::flags f,
893 ::xml_schema::container* c)
const
903 static_cast< ::xml_schema::type&
> (*this) = x;
905 this->attachment_ = x.attachment_;
906 this->form_ = x.form_;
907 this->author_ = x.author_;
908 this->category_ = x.category_;
922 operator<< (::std::ostream& o,
const Tag_t& i)
924 o << ::std::endl <<
"name: " << i.name ();
931 o << static_cast< const ::xml_schema::base64_binary& > (i);
933 o << ::std::endl <<
"type: " << i.type ();
934 o << ::std::endl <<
"filename: " << i.filename ();
939 operator<< (::std::ostream& o,
const Field_t& i)
941 o << static_cast< const ::xml_schema::string& > (i);
943 o << ::std::endl <<
"name: " << i.name ();
948 operator<< (::std::ostream& o,
const Form_t& i)
950 for (Form_t::field_const_iterator
951 b (i.field ().begin ()), e (i.field ().end ());
954 o << ::std::endl <<
"field: " << *b;
957 o << ::std::endl <<
"name: " << i.name ();
962 operator<< (::std::ostream& o,
const ECLEntry_t& i)
964 for (ECLEntry_t::tag_const_iterator
965 b (i.tag ().begin ()), e (i.tag ().end ());
968 o << ::std::endl <<
"tag: " << *b;
971 for (ECLEntry_t::attachment_const_iterator
972 b (i.attachment ().begin ()), e (i.attachment ().end ());
975 o << ::std::endl <<
"attachment: " << *b;
980 o << ::std::endl <<
"form: " << *i.form ();
983 o << ::std::endl <<
"author: " << i.author ();
984 o << ::std::endl <<
"category: " << i.category ();
989 #include <xsd/cxx/xml/sax/std-input-source.hxx>
990 #include <xsd/cxx/tree/error-handler.hxx>
992 ::std::unique_ptr< ::ECLEntry_t >
993 entry (const ::std::string& u,
994 ::xml_schema::flags f,
995 const ::xml_schema::properties& p)
997 ::xsd::cxx::xml::auto_initializer i (
998 (f & ::xml_schema::flags::dont_initialize) == 0,
999 (f & ::xml_schema::flags::keep_dom) == 0);
1001 ::xsd::cxx::tree::error_handler< char > h;
1003 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1004 ::xsd::cxx::xml::dom::parse< char > (
1007 h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > ();
1009 return ::std::unique_ptr< ::ECLEntry_t > (
1011 std::move (d), f | ::xml_schema::flags::own_dom, p));
1014 ::std::unique_ptr< ::ECLEntry_t >
1015 entry (const ::std::string& u,
1016 ::xml_schema::error_handler& h,
1017 ::xml_schema::flags f,
1018 const ::xml_schema::properties& p)
1020 ::xsd::cxx::xml::auto_initializer i (
1021 (f & ::xml_schema::flags::dont_initialize) == 0,
1022 (f & ::xml_schema::flags::keep_dom) == 0);
1024 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1025 ::xsd::cxx::xml::dom::parse< char > (
1029 throw ::xsd::cxx::tree::parsing< char > ();
1031 return ::std::unique_ptr< ::ECLEntry_t > (
1033 std::move (d), f | ::xml_schema::flags::own_dom, p));
1036 ::std::unique_ptr< ::ECLEntry_t >
1037 entry (const ::std::string& u,
1038 ::xercesc::DOMErrorHandler& h,
1039 ::xml_schema::flags f,
1040 const ::xml_schema::properties& p)
1042 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1043 ::xsd::cxx::xml::dom::parse< char > (
1047 throw ::xsd::cxx::tree::parsing< char > ();
1049 return ::std::unique_ptr< ::ECLEntry_t > (
1051 std::move (d), f | ::xml_schema::flags::own_dom, p));
1054 ::std::unique_ptr< ::ECLEntry_t >
1055 entry (::std::istream& is,
1056 ::xml_schema::flags f,
1057 const ::xml_schema::properties& p)
1059 ::xsd::cxx::xml::auto_initializer i (
1060 (f & ::xml_schema::flags::dont_initialize) == 0,
1061 (f & ::xml_schema::flags::keep_dom) == 0);
1063 ::xsd::cxx::xml::sax::std_input_source isrc (is);
1064 return ::entry (isrc, f, p);
1067 ::std::unique_ptr< ::ECLEntry_t >
1068 entry (::std::istream& is,
1069 ::xml_schema::error_handler& h,
1070 ::xml_schema::flags f,
1071 const ::xml_schema::properties& p)
1073 ::xsd::cxx::xml::auto_initializer i (
1074 (f & ::xml_schema::flags::dont_initialize) == 0,
1075 (f & ::xml_schema::flags::keep_dom) == 0);
1077 ::xsd::cxx::xml::sax::std_input_source isrc (is);
1078 return ::entry (isrc, h, f, p);
1081 ::std::unique_ptr< ::ECLEntry_t >
1082 entry (::std::istream& is,
1083 ::xercesc::DOMErrorHandler& h,
1084 ::xml_schema::flags f,
1085 const ::xml_schema::properties& p)
1087 ::xsd::cxx::xml::sax::std_input_source isrc (is);
1088 return ::entry (isrc, h, f, p);
1091 ::std::unique_ptr< ::ECLEntry_t >
1092 entry (::std::istream& is,
1093 const ::std::string& sid,
1094 ::xml_schema::flags f,
1095 const ::xml_schema::properties& p)
1097 ::xsd::cxx::xml::auto_initializer i (
1098 (f & ::xml_schema::flags::dont_initialize) == 0,
1099 (f & ::xml_schema::flags::keep_dom) == 0);
1101 ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1102 return ::entry (isrc, f, p);
1105 ::std::unique_ptr< ::ECLEntry_t >
1106 entry (::std::istream& is,
1107 const ::std::string& sid,
1108 ::xml_schema::error_handler& h,
1109 ::xml_schema::flags f,
1110 const ::xml_schema::properties& p)
1112 ::xsd::cxx::xml::auto_initializer i (
1113 (f & ::xml_schema::flags::dont_initialize) == 0,
1114 (f & ::xml_schema::flags::keep_dom) == 0);
1116 ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1117 return ::entry (isrc, h, f, p);
1120 ::std::unique_ptr< ::ECLEntry_t >
1121 entry (::std::istream& is,
1122 const ::std::string& sid,
1123 ::xercesc::DOMErrorHandler& h,
1124 ::xml_schema::flags f,
1125 const ::xml_schema::properties& p)
1127 ::xsd::cxx::xml::sax::std_input_source isrc (is, sid);
1128 return ::entry (isrc, h, f, p);
1131 ::std::unique_ptr< ::ECLEntry_t >
1132 entry (::xercesc::InputSource& i,
1133 ::xml_schema::flags f,
1134 const ::xml_schema::properties& p)
1136 ::xsd::cxx::tree::error_handler< char > h;
1138 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1139 ::xsd::cxx::xml::dom::parse< char > (
1142 h.throw_if_failed< ::xsd::cxx::tree::parsing< char > > ();
1144 return ::std::unique_ptr< ::ECLEntry_t > (
1146 std::move (d), f | ::xml_schema::flags::own_dom, p));
1149 ::std::unique_ptr< ::ECLEntry_t >
1150 entry (::xercesc::InputSource& i,
1151 ::xml_schema::error_handler& h,
1152 ::xml_schema::flags f,
1153 const ::xml_schema::properties& p)
1155 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1156 ::xsd::cxx::xml::dom::parse< char > (
1160 throw ::xsd::cxx::tree::parsing< char > ();
1162 return ::std::unique_ptr< ::ECLEntry_t > (
1164 std::move (d), f | ::xml_schema::flags::own_dom, p));
1167 ::std::unique_ptr< ::ECLEntry_t >
1168 entry (::xercesc::InputSource& i,
1169 ::xercesc::DOMErrorHandler& h,
1170 ::xml_schema::flags f,
1171 const ::xml_schema::properties& p)
1173 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1174 ::xsd::cxx::xml::dom::parse< char > (
1178 throw ::xsd::cxx::tree::parsing< char > ();
1180 return ::std::unique_ptr< ::ECLEntry_t > (
1182 std::move (d), f | ::xml_schema::flags::own_dom, p));
1185 ::std::unique_ptr< ::ECLEntry_t >
1186 entry (const ::xercesc::DOMDocument& doc,
1187 ::xml_schema::flags f,
1188 const ::xml_schema::properties& p)
1190 if (f & ::xml_schema::flags::keep_dom)
1192 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1193 static_cast< ::xercesc::DOMDocument* > (doc.cloneNode (
true)));
1195 return ::std::unique_ptr< ::ECLEntry_t > (
1197 std::move (d), f | ::xml_schema::flags::own_dom, p));
1200 const ::xercesc::DOMElement& e (*doc.getDocumentElement ());
1201 const ::xsd::cxx::xml::qualified_name< char > n (
1202 ::xsd::cxx::xml::dom::name< char > (e));
1204 if (n.name () ==
"entry" &&
1205 n.namespace_ () ==
"")
1207 ::std::unique_ptr< ::ECLEntry_t > r (
1208 ::xsd::cxx::tree::traits< ::ECLEntry_t, char >::create (
1213 throw ::xsd::cxx::tree::unexpected_element < char > (
1220 ::std::unique_ptr< ::ECLEntry_t >
1221 entry (::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d,
1222 ::xml_schema::flags f,
1223 const ::xml_schema::properties&)
1225 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > c (
1226 ((f & ::xml_schema::flags::keep_dom) &&
1227 !(f & ::xml_schema::flags::own_dom))
1228 ? static_cast< ::xercesc::DOMDocument* > (d->cloneNode (
true))
1231 ::xercesc::DOMDocument& doc (c.get () ? *c : *d);
1232 const ::xercesc::DOMElement& e (*doc.getDocumentElement ());
1234 const ::xsd::cxx::xml::qualified_name< char > n (
1235 ::xsd::cxx::xml::dom::name< char > (e));
1237 if (f & ::xml_schema::flags::keep_dom)
1238 doc.setUserData (::xml_schema::dom::tree_node_key,
1239 (c.get () ? &c : &d),
1242 if (n.name () ==
"entry" &&
1243 n.namespace_ () ==
"")
1245 ::std::unique_ptr< ::ECLEntry_t > r (
1246 ::xsd::cxx::tree::traits< ::ECLEntry_t, char >::create (
1251 throw ::xsd::cxx::tree::unexpected_element < char > (
1259 #include <xsd/cxx/tree/error-handler.hxx>
1260 #include <xsd/cxx/xml/dom/serialization-source.hxx>
1263 entry (::std::ostream& o,
1264 const ::ECLEntry_t& s,
1265 const ::xml_schema::namespace_infomap& m,
1266 const ::std::string& e,
1267 ::xml_schema::flags f)
1269 ::xsd::cxx::xml::auto_initializer i (
1270 (f & ::xml_schema::flags::dont_initialize) == 0);
1272 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1275 ::xsd::cxx::tree::error_handler< char > h;
1277 ::xsd::cxx::xml::dom::ostream_format_target t (o);
1278 if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1280 h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > ();
1285 entry (::std::ostream& o,
1286 const ::ECLEntry_t& s,
1287 ::xml_schema::error_handler& h,
1288 const ::xml_schema::namespace_infomap& m,
1289 const ::std::string& e,
1290 ::xml_schema::flags f)
1292 ::xsd::cxx::xml::auto_initializer i (
1293 (f & ::xml_schema::flags::dont_initialize) == 0);
1295 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1297 ::xsd::cxx::xml::dom::ostream_format_target t (o);
1298 if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1300 throw ::xsd::cxx::tree::serialization< char > ();
1305 entry (::std::ostream& o,
1306 const ::ECLEntry_t& s,
1307 ::xercesc::DOMErrorHandler& h,
1308 const ::xml_schema::namespace_infomap& m,
1309 const ::std::string& e,
1310 ::xml_schema::flags f)
1312 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1314 ::xsd::cxx::xml::dom::ostream_format_target t (o);
1315 if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1317 throw ::xsd::cxx::tree::serialization< char > ();
1322 entry (::xercesc::XMLFormatTarget& t,
1323 const ::ECLEntry_t& s,
1324 const ::xml_schema::namespace_infomap& m,
1325 const ::std::string& e,
1326 ::xml_schema::flags f)
1328 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1331 ::xsd::cxx::tree::error_handler< char > h;
1333 if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1335 h.throw_if_failed< ::xsd::cxx::tree::serialization< char > > ();
1340 entry (::xercesc::XMLFormatTarget& t,
1341 const ::ECLEntry_t& s,
1342 ::xml_schema::error_handler& h,
1343 const ::xml_schema::namespace_infomap& m,
1344 const ::std::string& e,
1345 ::xml_schema::flags f)
1347 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1349 if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1351 throw ::xsd::cxx::tree::serialization< char > ();
1356 entry (::xercesc::XMLFormatTarget& t,
1357 const ::ECLEntry_t& s,
1358 ::xercesc::DOMErrorHandler& h,
1359 const ::xml_schema::namespace_infomap& m,
1360 const ::std::string& e,
1361 ::xml_schema::flags f)
1363 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1365 if (!::xsd::cxx::xml::dom::serialize (t, *d, e, h, f))
1367 throw ::xsd::cxx::tree::serialization< char > ();
1372 entry (::xercesc::DOMDocument& d,
1373 const ::ECLEntry_t& s,
1374 ::xml_schema::flags)
1376 ::xercesc::DOMElement& e (*d.getDocumentElement ());
1377 const ::xsd::cxx::xml::qualified_name< char > n (
1378 ::xsd::cxx::xml::dom::name< char > (e));
1380 if (n.name () ==
"entry" &&
1381 n.namespace_ () ==
"")
1387 throw ::xsd::cxx::tree::unexpected_element < char > (
1395 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument >
1396 entry (const ::ECLEntry_t& s,
1397 const ::xml_schema::namespace_infomap& m,
1398 ::xml_schema::flags f)
1400 ::xml_schema::dom::unique_ptr< ::xercesc::DOMDocument > d (
1401 ::xsd::cxx::xml::dom::serialize< char > (
1411 operator<< (::xercesc::DOMElement& e,
const Tag_t& i)
1413 e << static_cast< const ::xml_schema::type& > (i);
1418 ::xercesc::DOMAttr& a (
1419 ::xsd::cxx::xml::dom::create_attribute (
1428 operator<< (::xercesc::DOMElement& e,
const Attachment_t& i)
1430 e << static_cast< const ::xml_schema::base64_binary& > (i);
1435 ::xercesc::DOMAttr& a (
1436 ::xsd::cxx::xml::dom::create_attribute (
1446 ::xercesc::DOMAttr& a (
1447 ::xsd::cxx::xml::dom::create_attribute (
1456 operator<< (::xercesc::DOMElement& e,
const Field_t& i)
1458 e << static_cast< const ::xml_schema::string& > (i);
1463 ::xercesc::DOMAttr& a (
1464 ::xsd::cxx::xml::dom::create_attribute (
1473 operator<< (::xercesc::DOMElement& e,
const Form_t& i)
1475 e << static_cast< const ::xml_schema::type& > (i);
1479 for (Form_t::field_const_iterator
1480 b (i.field ().begin ()), n (i.field ().end ());
1483 ::xercesc::DOMElement& s (
1484 ::xsd::cxx::xml::dom::create_element (
1494 ::xercesc::DOMAttr& a (
1495 ::xsd::cxx::xml::dom::create_attribute (
1504 operator<< (::xercesc::DOMElement& e,
const ECLEntry_t& i)
1506 e << static_cast< const ::xml_schema::type& > (i);
1510 for (ECLEntry_t::tag_const_iterator
1511 b (i.tag ().begin ()), n (i.tag ().end ());
1514 ::xercesc::DOMElement& s (
1515 ::xsd::cxx::xml::dom::create_element (
1524 for (ECLEntry_t::attachment_const_iterator
1525 b (i.attachment ().begin ()), n (i.attachment ().end ());
1528 ::xercesc::DOMElement& s (
1529 ::xsd::cxx::xml::dom::create_element (
1540 ::xercesc::DOMElement& s (
1541 ::xsd::cxx::xml::dom::create_element (
1551 ::xercesc::DOMAttr& a (
1552 ::xsd::cxx::xml::dom::create_attribute (
1562 ::xercesc::DOMAttr& a (
1563 ::xsd::cxx::xml::dom::create_attribute (
1571 #include <xsd/cxx/post.hxx>