This is really not a programming question per se, but I was wondering why the name of the tag is required in a closing tag in XML. For instance, couldn't
<a>
<b>stuff</b>
</a>
Be written
<a>
<b>stuff</>
</>
So that each closing tag </>
merely terminated the last opened tag?
So my questions are
If it would work, why didn't 'they' design it that way?
One reason is that SGML/XML are also designed to be human readable. Your /a/b
example is readable, but a structure much more complex would be a nightmare to try to interpret.
This would especially be true with mixed content (PCDATA and element structures mixed).