diff options
author | Fred Drake <fdrake@acm.org> | 1999-01-19 21:46:48 (GMT) |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 1999-01-19 21:46:48 (GMT) |
commit | 2664db9f763568dee0f53426ab9885ea3c624395 (patch) | |
tree | 471855320231855519965edc280895b8050d55cd /Doc/tools | |
parent | a7998f650a0c674b475be7bba71a5bdb0aa95b77 (diff) | |
download | cpython-2664db9f763568dee0f53426ab9885ea3c624395.zip cpython-2664db9f763568dee0f53426ab9885ea3c624395.tar.gz cpython-2664db9f763568dee0f53426ab9885ea3c624395.tar.bz2 |
handle_labels(): Fix problem for document fragments containing more
than one "root" that prevented all the <label id=...> items
from being promoted to id attributes on the enclosing chapter/
section/... properly.
Diffstat (limited to 'Doc/tools')
-rwxr-xr-x | Doc/tools/sgmlconv/docfixer.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/Doc/tools/sgmlconv/docfixer.py b/Doc/tools/sgmlconv/docfixer.py index 2aa7284..985195f 100755 --- a/Doc/tools/sgmlconv/docfixer.py +++ b/Doc/tools/sgmlconv/docfixer.py @@ -165,18 +165,20 @@ def handle_appendix(doc): def handle_labels(doc): - labels = doc.getElementsByTagName("label") - for label in labels: - id = label.getAttribute("id") - if not id: - continue - parent = label.parentNode - if parent.tagName == "title": - parent.parentNode.setAttribute("id", id) - else: - parent.setAttribute("id", id) - # now, remove <label id="..."/> from parent: - parent.removeChild(label) + for node in doc.childNodes: + if node.nodeType == xml.dom.core.ELEMENT: + labels = node.getElementsByTagName("label") + for label in labels: + id = label.getAttribute("id") + if not id: + continue + parent = label.parentNode + if parent.tagName == "title": + parent.parentNode.setAttribute("id", id) + else: + parent.setAttribute("id", id) + # now, remove <label id="..."/> from parent: + parent.removeChild(label) def fixup_trailing_whitespace(doc, wsmap): |