Я начал использовать 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)>
(обратите внимание, что имя_файла и имя_файла фактически являются необязательными)
и
<document>
<level>
<file>group1file01</file>
</level>
<level>
<file>group1file02</file>
<fileName>file 2</fileName>
<fileNumber>0</fileNumber>
</level>
...
как таковое все это прекрасно работает. (Я использую параметр "проверять" eclipse для проверки его на данный момент)
однако во время тестирования я получил то, что, по моему мнению, является wierd error
если я делаю
<level>
<levelName>Level 2</levelName>
<levelNumber>0</levelNumber>
<file>group1level02</file>
</level>
изменение порядка строк, Eclipse отказывается его проверять...
Мне было интересно, если это проблема с Eclipse или если порядок действительно важен.
Если порядок важен, как я могу изменить DTD, чтобы заставить его работать независимо от порядка его элементов?
Я не могу изменить XML, потому что у меня уже есть все файлы XML и написанный синтаксический анализатор (я знаю, что я сделал это неправильно).