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.
This commit is contained in:
Fred Drake 1999-01-19 21:46:48 +00:00
parent a7998f650a
commit 2664db9f76
1 changed files with 14 additions and 12 deletions

View File

@ -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):