This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: TreeBuilder.end(tag) differs between cElementTree and ElementTree
Type: behavior Stage: resolved
Components: Library (Lib) Versions: Python 2.6
process
Status: closed Resolution: duplicate
Dependencies: Superseder: TreeBuilder.end(tag) differs between cElementTree and ElementTree
View: 7214
Assigned To: Nosy List: merrellb
Priority: low Keywords:

Created on 2009-10-26 23:32 by merrellb, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (1)
msg94543 - (view) Author: Brian (merrellb) Date: 2009-10-26 23:32
In the pure python ElementTree, the tag passed to the end() tag is
verified to be closing the last tag opened (self._last).

This cElementTree performs no such validation and closes the last tag
regardless of what tag is passed to the method.

In my mind this raises a couple questions beyond simply fixing this
discrepancy.
1)  Why make this tag mandatory if it has no effect in the cElementTree
version (and in the pure python version is only used to verify the user
isn't confused what tag they are closing)
2)  Could the argument be removed, simply closing the last tag if not
present?
3)  Or could the behavior be changed to actually influence which tag is
closed, allowing one to close all tags out to a specific
outer/encompassing tag (much like close(), closes all tags)?

-brian
History
Date User Action Args
2022-04-11 14:56:54adminsetgithub: 51464
2009-10-27 01:40:40r.david.murraysetpriority: low
resolution: duplicate
superseder: TreeBuilder.end(tag) differs between cElementTree and ElementTree
stage: resolved
2009-10-26 23:33:36merrellbsetstatus: open -> closed
2009-10-26 23:32:31merrellbcreate