Что не так с моим layer.xml от netbeans? - PullRequest
0 голосов
/ 03 февраля 2019

Я пытаюсь создать новую палитру в 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 Ответ

0 голосов
/ 13 февраля 2019

Я не следовал руководству, но, насколько я могу судить, ваш тег 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>
...