XML中element、tag、type、name四个术语的定义与用法区别
XML术语区分说明
问题直答
你给出的示例<p></p>相关术语对应关系如下:
<p>是起始标签(start tag),属于tag的一种- 其中的
p是该标签的名称(name),同时也是对应元素的类型(type) - 完整的
<p></p>(包含中间可填充的内容、子节点)才是元素(element)
四个术语的适用场景
- tag(标签):仅指代
<xxx>、</xxx>、<xxx/>这类用尖括号包裹的语法标记,是XML的语法符号,不包含标签包裹的内容。仅在讨论XML语法结构、标签书写规则时使用。 - element(元素):XML的逻辑组成单元,由「起始标签 + 内容域 + 结束标签」组成(自闭合元素不需要单独的结束标签),包含标签、文本内容、子元素、属性等所有下属部分。日常讨论XML节点结构、业务数据单元时常用,非严谨场景下常和标签混用。
- name(名称):标签的组成部分,指标签中尖括号后、属性/闭合符前的标识符,是语法层面的称呼。在XML解析、字符串匹配标签标识时常用。
- type(类型):元素的逻辑分类属性,W3C XML 1.0标准明确规定:
The Name in the start- and end-tags gives the element's type.
即标签的name就是对应元素的type。在讨论元素语义分类、XML结构校验、节点类型判断时常用。
混用说明
日常非专业场景下四个术语混用非常常见,只有在XML规范制定、解析器开发、Schema定义等需要严格区分语法和逻辑概念的场景下,才需要严格遵守上述定义区分使用。
内容的提问来源于stack exchange,提问作者JDB
相关产品推荐
相关产品推荐

