From c95e01f355ab72d2a1cb2d65fd97caf12a83d944 Mon Sep 17 00:00:00 2001 From: dkuhlman <none@none> Date: Wed, 3 Sep 2014 11:55:39 -0700 Subject: [PATCH] Added check to generation of get_valueOf_ in generateToEtreeChildren --- README | 5 +++++ generateDS.py | 5 +++-- tests/to_etree1_sup.py | 2 ++ tests/to_etree2_sup.py | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/README b/README index fc0286a..8ab152e 100644 --- a/README +++ b/README @@ -141,6 +141,11 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Change history -------------- +Version 2.12g (09/03/2014) +- Minor fix to function generateToEtreeChildren. Must generate + call to get_valueOf only when defined (i.e. when element is + simpleContent or isMixed). + Version 2.12f (08/12/2014) - Fix for substitutionGroup conflict with keyword name mapping. Thanks to Leonid Minchin for finding and helping with this diff --git a/generateDS.py b/generateDS.py index 4c94c9a..ba951c5 100755 --- a/generateDS.py +++ b/generateDS.py @@ -2319,8 +2319,9 @@ def generateToEtreeChildren(wrt, element, Targetnamespace): "mapping_=mapping_)\n" % ( name, unmappedName,)) else: - wrt(" if self.hasContent_():\n") - wrt(" element.text = self.gds_format_string(self.get_valueOf_())\n") + if element.getSimpleContent() or element.isMixed(): + wrt(" if self.hasContent_():\n") + wrt(" element.text = self.gds_format_string(self.get_valueOf_())\n") #end generateToEtreeChildren diff --git a/tests/to_etree1_sup.py b/tests/to_etree1_sup.py index 3fc3ea6..75d42db 100644 --- a/tests/to_etree1_sup.py +++ b/tests/to_etree1_sup.py @@ -1557,6 +1557,8 @@ class paramType(GeneratedsSuper): element.set('type', self.gds_format_string(self.type_)) if self.id is not None: element.set('id', self.gds_format_string(self.id)) + if self.hasContent_(): + element.text = self.gds_format_string(self.get_valueOf_()) if mapping_ is not None: mapping_[self] = element return element diff --git a/tests/to_etree2_sup.py b/tests/to_etree2_sup.py index 3fc3ea6..75d42db 100644 --- a/tests/to_etree2_sup.py +++ b/tests/to_etree2_sup.py @@ -1557,6 +1557,8 @@ class paramType(GeneratedsSuper): element.set('type', self.gds_format_string(self.type_)) if self.id is not None: element.set('id', self.gds_format_string(self.id)) + if self.hasContent_(): + element.text = self.gds_format_string(self.get_valueOf_()) if mapping_ is not None: mapping_[self] = element return element -- GitLab