XML DTD错误消息:在元素类型声明中需要元素类型

XML DTD错误消息:在元素类型声明中需要元素类型

问题描述:

我已经在Internet和本网站中搜索,试图找到我的问题的答案。 Althoug我发现了类似的问题,建议的解决方案不能解决我的问题。XML DTD错误消息:在元素类型声明中需要元素类型

所以它就是这样。我正在处理xml和相关的类DTD,当我在Exchanger XML Editor中检查它时,出现以下错误:“元素类型为元素类型”publication“的声明中需要的元素类型。

以下是我的DTD和XML文档。

<!ELEMENT Bibliography  (document*)> 
<!ELEMENT document   (author+, title, publication, media)> 
<!ELEMENT author   (#PCDATA)> 
<!ELEMENT title    (#PCDATA)> 
<!ELEMENT publication  (#PCDATA,(city?|year?))> 
<!ELEMENT city    (#PCDATA)> 
<!ELEMENT year    (#PCDATA)> 
<!ELEMENT media    (#PCDATA)> 



<Bibliography> 
    <document> 
    <author>Brennan, Niamh M., and John P. Conroy. </author> 
    <title>"Executive Hubris: The Case of a Bank CEO. "</title> 
    <publication>Accounting, Auditing and Accountability Journal 26.2 
    (<year>2013</year>): 175–95. </publication> 
    <media> Print. </media> 
    </document> 
</Bibliography> 

感谢您看我的伫立。

我从朋友那里得到了答案。这真的很简单。 XML不会处理PCDATA和标签,因此我将“发布”元素从第一行修改为第二行:

<!ELEMENT publication  (#PCDATA,(city?|year?))> 

<!ELEMENT publication  ANY> 

现在它可以工作。