changeset 3:7ce08dea935b

Special case handling for Example elements.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 10 May 2021 12:24:10 +0300
parents e6a7726ea1e5
children 34a89d61dbe7
files lxmldump.py
diffstat 1 files changed, 17 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/lxmldump.py	Mon May 03 13:39:25 2021 +0300
+++ b/lxmldump.py	Mon May 10 12:24:10 2021 +0300
@@ -112,15 +112,24 @@
 ### Main
 ###
 def pkk_recursive_dump(lnode, indent):
-    stmp = ""
-    if lnode.text != None:
-        tmp = str(lnode.text).strip()
-        if tmp != "":
-            stmp = " \""+ tmp +"\""
+    if lnode.tag == "Example":
+        stmp = "".join(lnode.itertext()).strip()
+        print("{}{} \"{}\"".format("    " * indent, lnode.tag, stmp))
+    else:
+        stmp = ""
+        if lnode.text != None:
+            tmp = str(lnode.text).strip()
+            if tmp != "":
+                stmp = " \""+ tmp +"\""
 
-    print("{}{} {}{}".format("    " * indent, lnode.tag, lnode.attrib, stmp))
-    for qnode in lnode.findall("./*"):
-        pkk_recursive_dump(qnode, indent + 1)
+        if len(lnode.attrib) > 0:
+            atmp = " "+str(lnode.attrib)
+        else:
+            atmp = ""
+
+        print("{}{}{}{}".format("    " * indent, lnode.tag, atmp, stmp))
+        for qnode in lnode.findall("./*"):
+            pkk_recursive_dump(qnode, indent + 1)
 
 
 for filename in pkk_filenames: