结束标记内的XML/HTML标记名称是否真的必要?

Set*_*gie 8 xml tags language-design

本身并不是一个编程问题,但我想知道为什么在XML的结束标记中需要标记的名称.例如,不能

<a>
    <b>stuff</b>
</a>
Run Code Online (Sandbox Code Playgroud)

写的

<a>
    <b>stuff</>
</>
Run Code Online (Sandbox Code Playgroud)

那么每个结束标签</>只是终止了最后打开的标签?

所以我的问题是

  1. 这是否有效(即是否有任何我不会想到的角落情况,这将是模糊/失败)?
  2. 如果它可以工作,为什么不'他们'那样设计呢?

Dan*_*ley 5

如果它可以工作,为什么不'他们'那样设计呢?

一个原因是SGML/XML也被设计为人类可读的.您的/a/b示例是可读的,但更复杂的结构将是尝试解释的噩梦.

混合内容(PCDATA和元素结构混合)尤其如此.