Правильно ли сформулирована эта декларация DTD? - PullRequest
0 голосов
/ 09 ноября 2019

Новичок в 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>

Правильно ли используется мой формат кодирования? Я очень не уверен в этом, боюсь перезапустить все. Существует огромный список, над которым я работаю. Любая помощь будет оценена!

1 Ответ

1 голос
/ 10 ноября 2019

Здесь так много всего плохого, что трудно понять, с чего начать. Первые четыре, которые я заметил очень быстро: (a) DTD должен быть в объявлении DOCTYPE, (b) в экземпляре должен быть элемент alpha-3, (c) CountryRecord должен иметь атрибут xmlns (DTD являютсяне знает пространства имен, и рассматривает объявления пространства имен как обычные атрибуты) (d) большинство дочерних элементов не имеют закрывающего конечного тега.

Но отступите назад, и что-то более глубокое неверно, и это ваш подход к получению информации ирешения проблем. Вы не должны спрашивать об этом в StackOverflow. Вы должны читать учебники, приводить примеры в учебниках для работы, изучать концепции и принципы, прежде чем писать какой-либо код;и когда что-то не работает, вы должны смотреть на сообщения об ошибках и использовать их в качестве руководства, чтобы выяснить, в чем дело.

...