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

XML文档类型定义中<!Element>里+、*标识符含义咨询

关于XML DTD中元素声明的+和*符号含义

嘿,这俩符号是XML DTD里的量词,用来指定子元素的出现次数规则,结合你给出的<!Element Player (Name+,Race*)>例子,给你掰明白:

  • + 符号:代表前面的元素必须出现至少1次(1次或多次)
    对应例子里的Name+:意思是<Player>元素里必须包含至少一个<Name>子元素。比如合法的写法可以是:

    <Player>
      <Name>Link</Name>
    </Player>
    

    也可以是多个<Name>:

    <Player>
      <Name>Link</Name>
      <Name>Hero of Hyrule</Name>
    </Player>
    

    但如果<Player>里没有任何<Name>,那就是不符合DTD规则的。

  • * 符号:代表前面的元素可以出现0次或多次(可选,想加多少加多少,不加也没问题)
    对应例子里的Race*:意思是<Player>里可以完全没有<Race>元素,也可以有一个或者多个。比如合法的写法:

    <Player>
      <Name>Zelda</Name>
    </Player>
    

    或者带一个<Race>:

    <Player>
      <Name>Zelda</Name>
      <Race>Hylian</Race>
    </Player>
    

    甚至多个<Race>(虽然实际场景可能少见,但DTD允许):

    <Player>
      <Name>Ganon</Name>
      <Race>Demon</Race>
      <Race>Gerudo</Race>
    </Player>
    

顺便补个小知识点:DTD里还有个常用量词?,表示元素出现0次或1次(也就是可选,且最多只能有一个),比如Age?就意味着<Age>子元素可以有或者没有,但不能出现多次。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:29:24