Я начал с использования XML-файла и парсера как удобного способа хранения моих данных
Я хочу использовать DTD для проверки структуры xml файлы по прибытии.
Вот мой файл DTD
< ?xml version="1.0" encoding="UTF-8"?>
< !ELEMENT document (level*)>
< !ELEMENT level (file,filelName?,fileNumber?)>
< !ELEMENT file (#PCDATA)>
< !ELEMENT filelName (#PCDATA)>
< !ELEMENT fileNumber (#PCDATA)>
(обратите внимание, что fileName и fileNumber на самом деле являются необязательными)
и
<document>
<level>
<file>group1file01</file>
</level>
<level>
<file>group1file02</file>
<fileName>file 2</fileName>
<fileNumber>0</fileNumber>
</level>
...
, как таковые, все это работает нормально. (Я использую опцию eclipse "validate", чтобы проверить это на данный момент)
однако во время тестирования я получил то, что я считаю странной ошибкой
, если я
<level>
<levelName>Level 2</levelName>
<levelNumber>0</levelNumber>
<file>group1level02</file>
</level>
изменяю порядок строк, Eclipse отказывается проверять ее ...
Мне было интересно, была ли это проблема с Eclipse, или же порядок действительно важен.
Если порядок важен, как я могу изменить DTD, чтобы оно работало независимо от порядка элементов?
Я действительно не могу изменить XML, потому что у меня уже есть все файлы XML и синтаксический анализатор (я знаю, что сделал это неправильно, лол).