In 2, not sure they must always be matched in pairs. Think somewhere (possibly in Parser::extractTagsAndParams()) allows unterminated tags to run to the end of the text.
might be, though it's debatabel if that'S a bug or a feature. anyway, content-less tags (like <foo/>) are possible too.
3, unrecoginised tags should just cause the parser to output a < and carry on parsing.
basically, yes, if the parse itself has that knowledge. otherwise this would have to be done in some kind of post-processing step, after looking at which tags can be dealt with by extensions. that'S what i meant by "going back".
-- Daniel