Что не так с моим layer.xml от netbeans?

Я пытаюсь создать новую палитру в netbeans 10, но следующие 2 ошибки не позволяют мне скомпилировать проект:

Корневой элемент документа "папка", должен соответствовать корневому элементу DOCTYPE "JavaPalette". [3]

Разметка в документе после корневого элемента должна быть правильно сформирована. [11]

Мой XML выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN"     "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<folder name="JavaPalette">
<folder name="Items">
    <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.javasourcefilepalette.Bundle"/>
    <file name="Item.xml" url="resources/Item.xml">
        <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.javasourcefilepalette.Bundle"/>
    </file>
</folder>
</folder>
<filesystem/>

Я понятия не имею, что означают оба сообщения об ошибках, но я сделал именно то, что сказано в руководстве. Онлайн проверка файла xml также показывает эту ошибку.

https://platform.netbeans.org/tutorials/nbm-palette-api2.html

1 ответ

Решение

Я не следовал этому уроку, но насколько я могу судить, ваш filesystem тег недействителен Если вы посмотрите на DTD, вы увидите, что элемент filesystem не объявлен как EMPTY (для получения дополнительной информации вы можете прочитать об этом здесь). Таким образом, вы должны предоставить начальный и конечный тег. В опубликованном вами примере вы используете только <filesystem/> что не разрешено

Вы должны изменить XML следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN"     "http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
    <folder name="JavaPalette">
        <folder name="Items">
            <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.javasourcefilepalette.Bundle"/>
            <file name="Item.xml" url="resources/Item.xml">
                <attr name="SystemFileSystem.localizingBundle" stringvalue="org.netbeans.modules.javasourcefilepalette.Bundle"/>
            </file>
        </folder>
    </folder>
</filesystem>
Другие вопросы по тегам