这个 DTD 声明的措辞是否正确?

Is this DTD declaration correctly phrased?

XML 和 DTD 的新手,试图做一个家庭作业,据此我得到了 DTD,但我需要写出 XML 内容并解析它。

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<!ELEMENT ConutryList (CountryReccord) +>
<!ATTLIST CountryList
  xmlns CDATA #FIXED ' '>

<!ELEMENT CountryRecord (name,alpha-2,alpha-3,country-code,iso_3166-2,region,sub-region,intermediate-region,region-code,sub-region-code,
intermediate-region-code,capital-city,currency,currency-code, population)>

<!ATTLIST CountryRecord
  xmlns CDATA #FIXED ' '>

<CountryList>
  <CountryRecord>
  <name> Afganistan </name>
  <alpha-2> AF </alpha-2>
  <country-code> AFG </country-code>
  <iso_3166-2>
  <region>
  <sub-region>
  <intermediate-region>
  <region-code>
  <sub-region-code>
  <intermediate-region-code>
  <capital-city>
  <currency>
  <currency-code>
  <population>
  </CountryRecord>
</CountryList>

我的编码格式正确吗?我对此非常不确定,害怕不得不重新启动一切。我正在处理一个巨大的列表。如有任何帮助,我们将不胜感激!

这里有太多错误,很难知道从哪里开始。我很快注意到的前四个是 (a) DTD 需要在 DOCTYPE 声明中,(b) 实例中需要有一个 alpha-3 元素,(c) CountryRecord 需要有一个 xmlns 属性(DTD 是不知道名称空间,并将名称空间声明视为普通属性)(d) 大多数子元素没有结束标记。

但退一步说,更深层次的问题是错误的,那就是你获取信息和解决问题的方法。你不应该在 Whosebug 上问这个问题。在编写任何代码之前,您应该阅读教科书,获取教程中的示例,学习概念和原则;当出现问题时,您应该查看错误消息并将其用作找出问题所在的指导。