XML DTD 验证错误

XML DTD Validation error

您好,我刚开始学习 XML 和 DTD,但我无法验证我的代码。我正在使用 http://www.validome.org/xml/validate/ 来验证我的代码。

XML:

<projects>
    <project pid="p123">
        <leader>
            <name>Amanda</name>
        </leader>
        <analyst>
            <name>Bob</name>
        </analyst>
    </project>
    <project pid="p456">
        <leader>
            <name>John</name>
        </leader>   
    </project>
    <project pid="p789">
        <leader>
            <name>David</name>
        </leader>
        <analyst>
            <name>Amanda</name>
        </analyst>
    </project>
</projects>

DTD:

<?xml version="1.0"?>
<!DOCTYPE projects [
<!ELEMENT projects (project*)>
<!ELEMENT project (pid, leader+, analyst*)>
<!ATTLIST project pid ID #REQUIRED>
<!ELEMENT leader (name)>
<!ELEMENT analyst (name)>
<!ELEMENT name (#PCDATA)>
]>

我省略了 XML 代码的 xml 版本部分,因为此验证程序只允许一个 xml 版本声明。

如果有人能提供一些帮助,我们将不胜感激。谢谢

只需从元素项目中删除 pid:

<!ELEMENT project (leader+, analyst*)>

一个project至少有一个leader,还有0个或多个analyst。它没有 pid 个子元素。

一个项目有一个 pid 属性,定义为:

<!ATTLIST project pid ID #REQUIRED>