Ошибка синтаксического анализа XML: объявления разметки, содержащиеся в объявлении типа документа или на которые указывает объявление типа документа, должны быть правильно сформированы.

У меня есть XML-документ, как показано ниже:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE IMPORTANT_DAYS PUBLIC "-//XYZ//DTD Declarations(ImportantDays)//EN" "dtds/important_days.dtd">
<IMPORTANT_DAYS>
    <MONTH name="January">
        <DAY    date="9"    occassion="NRI Day"/>
        <DAY    date="10"   occassion="World Laughter Day"/>
        <DAY    date="12"   occassion="National Youth Day"/>
        <DAY    date="15"   occassion="Army Day"/>
        <DAY    date="25"   occassion="National Tourism Day"/>
        <DAY    date="26"   occassion="Republic Day Of India;International Customs Day"/>
        <DAY    date="30"   occassion="Martyr's Day;World Leprosy Day"/>
    </MONTH>
</IMPORTANT_DAYS>

И следующий файл DTD с именем Important_days.dtd:

<!ELEMENT IMPORTANT_DAYS (MONTH+)>
<!ELEMENT MONTH (DAY+)>
<!ELEMENT DAY EMPTY>
<!ATTLIST MONTH name NMTOKEN #REQUIRED>
<!ATTLIST DAY date NMTOKEN #IMPLIED>
<!ATTlIST DAY count NMTOKEN #IMPLIED>
<!ATTlIST DAY day NMTOKEN #IMPLIED>
<!ATTLIST DAY occassion CDATA #REQUIRED>

Когда я пытаюсь проанализировать файл XML, я получаю следующую ошибку в строке 6 в «important_days.dtd»:

6:The markup declarations contained or pointed to by the document type declaration must be well-formed.

Может ли кто-нибудь указать, в чем проблема?


person GuruPrasad Das    schedule 26.06.2016    source источник


Ответы (1)


XML чувствителен к регистру. Обратите внимание на символы L в нижнем регистре, которые должны быть в верхнем регистре:

Line 6: <!ATTlIST DAY count NMTOKEN #IMPLIED>
             ^

Line 7: <!ATTlIST DAY day NMTOKEN #IMPLIED>
             ^
person Jim Garrison    schedule 26.06.2016