From: Reinhold Kainhofer Date: Tue, 18 Nov 2008 19:15:32 +0000 (+0100) Subject: MusicXML: Add function to dump a whole XML node tree recursively X-Git-Tag: release/2.11.65-1~45 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=636a33f2007da49b2e50f1c4e9b9a643b6cd9a75;p=lilypond.git MusicXML: Add function to dump a whole XML node tree recursively --- diff --git a/python/musicxml.py b/python/musicxml.py index 0e1cb4ae6d..498661e621 100644 --- a/python/musicxml.py +++ b/python/musicxml.py @@ -74,6 +74,18 @@ class Xml_node: sys.stderr.write (' In: <%s %s>\n' % (p._name, ' '.join (['%s=%s' % item for item in p._attribute_dict.items ()]))) p = p.get_parent () + def dump (self, indent = ''): + sys.stderr.write ('%s<%s%s>' % (indent, self._name, ''.join ([' %s=%s' % item for item in self._attribute_dict.items ()]))) + non_text_children = [c for c in self._children if not isinstance (c, Hash_text)] + if non_text_children: + sys.stderr.write ('\n') + for c in self._children: + c.dump (indent + " ") + if non_text_children: + sys.stderr.write (indent) + sys.stderr.write ('\n' % self._name) + + def get_typed_children (self, klass): if not klass: return [] @@ -224,7 +236,8 @@ class Duration (Music_xml_node): class Hash_comment (Music_xml_node): pass class Hash_text (Music_xml_node): - pass + def dump (self, indent = ''): + sys.stderr.write ('%s' % string.strip (self._data)) class Pitch (Music_xml_node): def get_step (self):