使用 DTD 我可以指定元素出现的确切数量吗?

Using DTD can I specify an exact number of element occurrences?

我正尝试在 XML 中进行此练习,但我卡在了这个特定点上。我被要求创建一个满足一系列要求的 DTD,但我找不到实现以下目标的方法:

The seasonal_prices' list can have none, one, two or three occurrences of the 'season_price' element

有没有办法仅使用 DTD 来实现此目的?

Is there a way to achieve this using only a DTD?

没有。

你只能做:

  • season_price(正好一个)
  • season_price?(零或一)
  • season_price+(一个或多个)
  • season_price*(零个或多个)

有关详细信息,请参阅 https://www.w3.org/TR/xml11/#sec-element-content

----- 编辑 -----

就像您在 another question 中提到的那样,您 可以 使用 ? 来做到这一点,例如:

<!ELEMENT seasonal_prices (season_price?, season_price?, season_price?)>

但没有像 XML 架构 (minOccurs/maxOccurs) 中那样的直接方法。