From a20581c1e56faeb9b90f6d9e887d5fb92fe395be Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Thu, 26 Aug 1999 17:51:56 +0000 Subject: write_esis(): Added support for ENTITY_REFERENCE nodes. --- Doc/tools/sgmlconv/docfixer.py | 84 ++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 40 deletions(-) diff --git a/Doc/tools/sgmlconv/docfixer.py b/Doc/tools/sgmlconv/docfixer.py index a56ac6e..21d3522 100755 --- a/Doc/tools/sgmlconv/docfixer.py +++ b/Doc/tools/sgmlconv/docfixer.py @@ -15,6 +15,7 @@ import xml.dom.core from xml.dom.core import \ ELEMENT, \ + ENTITY_REFERENCE, \ TEXT @@ -74,7 +75,7 @@ xml.dom.core.Document.get_childNodes = get_childNodes def get_first_element(doc, gi): for n in doc.childNodes: - if n.nodeName == gi: + if n.get_nodeName() == gi: return n def extract_first_element(doc, gi): @@ -86,11 +87,11 @@ def extract_first_element(doc, gi): def find_all_elements(doc, gi): nodes = [] - if doc.nodeName == gi: + if doc.get_nodeName() == gi: nodes.append(doc) for child in doc.childNodes: if child.nodeType == ELEMENT: - if child.tagName == gi: + if child.get_tagName() == gi: nodes.append(child) for node in child.getElementsByTagName(gi): nodes.append(node) @@ -99,7 +100,7 @@ def find_all_elements(doc, gi): def find_all_child_elements(doc, gi): nodes = [] for child in doc.childNodes: - if child.nodeName == gi: + if child.get_nodeName() == gi: nodes.append(child) return nodes @@ -107,10 +108,10 @@ def find_all_elements_from_set(doc, gi_set): return __find_all_elements_from_set(doc, gi_set, []) def __find_all_elements_from_set(doc, gi_set, nodes): - if doc.nodeName in gi_set: + if doc.get_nodeName() in gi_set: nodes.append(doc) for child in doc.childNodes: - if child.nodeType == ELEMENT: + if child.get_nodeType() == ELEMENT: __find_all_elements_from_set(child, gi_set, nodes) return nodes @@ -143,7 +144,7 @@ def simplify(doc, fragment): docelem.insertBefore(text, docelem.firstChild) docelem.insertBefore(node, text) docelem.insertBefore(doc.createTextNode("\n"), docelem.firstChild) - while fragment.firstChild and fragment.firstChild.nodeType == TEXT: + while fragment.firstChild and fragment.firstChild.get_nodeType() == TEXT: fragment.removeChild(fragment.firstChild) @@ -153,9 +154,9 @@ def cleanup_root_text(doc): for n in doc.childNodes: prevskip = skip skip = 0 - if n.nodeType == TEXT and not prevskip: + if n.get_nodeType() == TEXT and not prevskip: discards.append(n) - elif n.nodeName == "COMMENT": + elif n.get_nodeName() == "COMMENT": skip = 1 for node in discards: doc.removeChild(node) @@ -177,8 +178,8 @@ def fixup_descriptors(doc, fragment): def find_and_fix_descriptors(doc, container): children = container.childNodes for child in children: - if child.nodeType == ELEMENT: - tagName = child.tagName + if child.get_nodeType() == ELEMENT: + tagName = child.get_tagName() if tagName in DESCRIPTOR_ELEMENTS: rewrite_descriptor(doc, child) elif tagName == "subsection": @@ -200,7 +201,7 @@ def rewrite_descriptor(doc, descriptor): # 6. Put it back together. # # 1. - descname = descriptor.tagName + descname = descriptor.get_tagName() index = 1 if descname[-2:] == "ni": descname = descname[:-2] @@ -235,7 +236,7 @@ def rewrite_descriptor(doc, descriptor): pos = skip_leading_nodes(children) if pos < len(children): child = children[pos] - if child.nodeName == "args": + if child.get_nodeName() == "args": ## bwrite("found in descriptor, moving to \n") ## ewrite(descriptor.toxml() + "\n---\n") # create an in : @@ -251,8 +252,8 @@ def rewrite_descriptor(doc, descriptor): # 3, 4. pos = skip_leading_nodes(children, pos) while pos < len(children) \ - and children[pos].nodeName in (linename, "versionadded"): - if children[pos].tagName == linename: + and children[pos].get_nodeName() in (linename, "versionadded"): + if children[pos].get_tagName() == linename: # this is really a supplemental signature, create sig = methodline_to_signature(doc, children[pos]) newchildren.append(sig) @@ -307,7 +308,7 @@ def move_children(origin, dest, start=0): def handle_appendix(doc, fragment): # must be called after simplfy() if document is multi-rooted to begin with docelem = get_documentElement(fragment) - toplevel = docelem.tagName == "manual" and "chapter" or "section" + toplevel = docelem.get_tagName() == "manual" and "chapter" or "section" appendices = 0 nodes = [] for node in docelem.childNodes: @@ -339,13 +340,14 @@ def handle_labels(doc, fragment): if not id: continue parent = label.parentNode - if parent.tagName == "title": + parentTagName = parent.get_tagName() + if parentTagName == "title": parent.parentNode.setAttribute("id", id) else: parent.setAttribute("id", id) # now, remove