From 18d65665206192eae1def5da47691cc88d73cf10 Mon Sep 17 00:00:00 2001 From: JSCHILL1 Date: Mon, 6 Apr 2009 19:37:58 -0500 Subject: [PATCH] Remove empty defs, metadata, g elements --- scour.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/scour.py b/scour.py index c4b0330..15498fa 100755 --- a/scour.py +++ b/scour.py @@ -300,6 +300,23 @@ while bContinueLooping: numStylePropsFixed = repairStyle(doc.documentElement) +# remove empty defs, metadata, g +# NOTE: these elements will be removed even if they have (invalid) text nodes +elemsToRemove = [] +for tag in ['defs', 'metadata', 'g'] : + for elem in doc.documentElement.getElementsByTagNameNS(NS['SVG'], tag) : + removeElem = not elem.hasChildNodes() + if removeElem == False : + for child in elem.childNodes : + print child.nodeType, + if child.nodeType in [1, 4, 8] : + break + else: + removeElem = True + if removeElem : + elem.parentNode.removeChild(elem) + numElemsRemoved += 1 + # output the document doc.documentElement.writexml(output)