From f501505709341f61744fb8d1568702eedad5e520 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 19 Nov 2009 14:50:07 +0200 Subject: Do not set element text if it is empty --- libxsd/xsd/cxx/tree/serialization.txx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'libxsd/xsd/cxx/tree/serialization.txx') diff --git a/libxsd/xsd/cxx/tree/serialization.txx b/libxsd/xsd/cxx/tree/serialization.txx index b8c8631..5bb0d28 100644 --- a/libxsd/xsd/cxx/tree/serialization.txx +++ b/libxsd/xsd/cxx/tree/serialization.txx @@ -32,7 +32,9 @@ namespace XERCES_CPP_NAMESPACE operator<< (xercesc::DOMElement& e, const C* s) { xsd::cxx::xml::dom::clear (e); - e.setTextContent (xsd::cxx::xml::string (s).c_str ()); + + if (*s != C (0)) + e.setTextContent (xsd::cxx::xml::string (s).c_str ()); } template @@ -51,7 +53,9 @@ namespace XERCES_CPP_NAMESPACE operator<< (xercesc::DOMElement& e, const std::basic_string& s) { xsd::cxx::xml::dom::clear (e); - e.setTextContent (xsd::cxx::xml::string (s).c_str ()); + + if (!s.empty ()) + e.setTextContent (xsd::cxx::xml::string (s).c_str ()); } template @@ -131,8 +135,6 @@ namespace xsd void operator<< (xercesc::DOMElement& e, const list& v) { - xml::dom::clear (e); - std::basic_ostringstream os; list_stream ls (os, e); -- cgit v1.1