Issue 7215: TreeBuilder.end(tag) differs between cElementTree and ElementTree (original) (raw)
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.
- 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)
- Could the argument be removed, simply closing the last tag if not present?
- 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