You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DTD文件中|、?、+、*、,等符号及括号含义与示例代码解析

DTD 元素声明规则与示例详解

基础符号含义说明

  • 括号():包裹的是master元素允许包含的子元素的内容模型规则,相当于把一组子元素规则打包成一个整体进行控制
  • 竖线|:代表或的关系,多个选项中任选其一即可
  • 逗号,:代表按顺序同时出现的关系,逗号前的元素必须出现在逗号后的元素之前,且所有规则项都要按顺序匹配
  • 问号?:代表前面的元素/规则组可以出现0次或1次,属于可选项,最多出现1次
  • 加号+:代表前面的元素/规则组可以出现1次或多次,最少出现1次,不限制上限
  • 星号*:代表前面的元素/规则组可以出现0次或多次,既可以不出现,也可以出现任意次数

逐行代码含义解释

  • <!ELEMENT master (big | small)*>
    master 元素可以是空内容,也可以包含任意数量的big或small元素,两类元素的排列顺序无限制,允许混合出现
  • <!ELEMENT master (big* | small*)>
    master 元素的子元素只能二选一:要么包含任意数量(含0个)的big元素,要么包含任意数量(含0个)的small元素,不允许big和small同时出现
  • <!ELEMENT master (big+, small*)>
    master 元素的子元素必须按顺序排列:至少先出现1个big元素,后面可以跟任意数量(含0个)的small元素,不允许颠倒big和small的顺序,也不允许缺少big元素
  • <!ELEMENT master (big, small)*>
    子元素的基础规则组是「1个big + 1个small」的固定顺序组合,该组合可以重复0次或多次。也就是说 master 可以是空内容,也可以包含多组按big→small排列的元素,单独出现big或单独出现small都不符合规则
  • <!ELEMENT master (big, small+)*>
    子元素的基础规则组是「1个big + 至少1个small」的固定顺序组合,该组合可以重复0次或多次。空内容符合规则,每组内small的数量不限制,但不允许单独出现big或单独出现small
  • <!ELEMENT master (big | small+)*>
    每次新增子元素可以二选一:要么新增1个big,要么新增至少1个small,整个规则可以重复0次或多次。空内容符合规则,两类元素的排列顺序无限制
  • <!ELEMENT master (big | small+)>
    master 元素的子内容只能二选一:要么是1个big元素,要么是至少1个small元素,不允许同时出现两类元素,也不允许内容为空
  • <!ELEMENT master (big? | small+)>
    master 元素的子内容只能二选一:要么不出现元素(空内容)、要么出现1个big元素,要么出现至少1个small元素,不允许big和small同时出现

内容的提问来源于stack exchange,提问作者Namiro_Holadino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:06:01