netbeans中的layer.xml有什么问题?

时间:2019-02-03 01:16:02

标签: netbeans netbeans-8 netbeans-10

我尝试在netbeans 10中创建一个新的调色板,但是以下两个错误使我无法编译该项目:

文档根元素“文件夹”必须与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 :(得分:1)

我没有按照教程进行操作,但据我所知,您的filesystem标签无效。如果看一下DTD,您会发现元素filesystem没有声明为EMPTY(有关更多信息,您可以阅读有关here的更多信息)。因此,您必须提供一个开始和结束标签。在您发布的示例中,您仅使用<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>