如何在 DTD 中声明一组元素

How to declare group of elements in DTD

我在 XML 架构文件中声明了一组元素。如何在 DTD 中做同样的事情?

<xs:element name="adress">   
 <xs:complexType>
  <xs:sequence>
   <xs:group ref="adress-group" minOccurs="3" maxOccurs="3"/> 
  </xs:sequence>
 </xs:complexType>
</xs:element>

<xs:group name="adress-group">
 <xs:sequence>
  <xs:element name="country" type="country-type"/>
  <xs:element name="city" type="xs:string"/>
  <xs:element name="street" type="xs:string"/>
 </xs:sequence>
</xs:group>

与您的 XSD 示例等效的最简单的 DTD 是这样的:

<!ENTITY % address-group '(country, city, street)' >
<!ELEMENT address (%address-group;, %address-group;, %address-group;) >

我不确定要求地址组恰好出现三次的动机,但这是另一个话题。