After replacing the pure-tcl tclxml parser by a libxml2 parser (version 3.1), I noticed some errors. My application only uses -elementstartcommand, -elementendcommand and -characterdatacommand to parse a XML file.
The -elementendcommand is not (always) issued after a single XML-tag (with a closing '/' at the end), such as <hello/>
(Note: Version 3.0 does it even worse)
Logged In: NO
I have also seen this problem. In the 3.1 version, it happens only when the empty tag also has attributes. The problem can be traced down to the tcllibxml2.c file. In ReaderParse, the following line:
empty = xmlTextReaderIsEmptyElement(info->reader);
should be moved up a few lines to before the parsing of the attributes. Otherwise, the reader state changes after the attributes are read and xmlTextReaderIsEmptyElement always reports false, whether or not the start tag actually is empty.