DTD 错误验证

DTD error validate

我有XML这样的

 <catalogue>
    <book year="1992">
        <title>Advanced Programming in the Unix environment</title>
        <publisher>AW</publisher>
        <price kind="retail">65.95</price>
        <price kind="wholesale">50.00</price>
    <ISBN>ISBN-020163346X</ISBN>
    </book>
    <publisher>
        <abbreviation>AW</abbreviation>
        <name>Morgan Kaufmann Publishers</name>
        <country>USA</country>
    </publisher>
</catalogue>

如果我有这个标签 2 次,我不能创建和添加发布者吗?我这样尝试

<!ELEMENT catalogue (book+,publisher+)>
<!ELEMENT book (title,publisher,price+,ISBN)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT ISBN (#PCDATA)>
<!ATTLIST book year CDATA #REQUIRED>
<!ATTLIST price kind CDATA #IMPLIED>

<!ELEMENT publisher (abbreviation,name,country)>

<!ELEMENT abbreviation (#PCDATA)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT country (#PCDATA)>

但是在Netbians中出现错误 元素类型 "publisher" 的内容必须匹配“(abbreviation,name,country)”。 [6] 元素类型 "publisher" 的内容必须匹配“(abbreviation,name,country)”。 [13] 元素类型 "publisher" 的内容必须匹配“(abbreviation,name,country)”。 [21] 元素类型 "publisher" 的内容必须匹配“(abbreviation,name,country)”。 [28]

我找到了解决办法

<!ELEMENT publisher (#PCDATA | abbreviation |name | country )*>