我的XML文件无法运行。我在DTD上遇到了一些错误。我的DTD代码有什么问题?我试过在Internet Explorer上运行它,但它不起作用。当我没有包含DTD代码时,它工作正常。但是一旦我包含DTD,它就会显示一个空白页面。在http://validator.w3.org/中验证xml文件后,我收到了这些错误
第25行,第23栏:文档类型不允许元素" book"这里
< book instock =" yes" >
上面提到的元素是在不是的上下文中找到的 允许。这可能意味着你有错误的嵌套元素 - 比如" style" " body"中的元素部分而不是内部 "头" - 或两个重叠的元素(不允许)
此错误的一个常见原因是在HTML中使用XHTML语法 文档。由于HTML隐式封闭元素的规则,这个 错误可以创建级联效果。例如,使用XHTML' s "自闭合"标签为" meta"和"链接"在"头部"一节 HTML文档可能会导致解析器推断出" head" 部分和"身体的开头"部分(其中"链接"和 "元"不允许;因此报告的错误)
<?xml version = "1.0" encoding="UTF-8" standalone="yes" ?>
<?xml-stylesheet type ="text/css" href="Books.css"?>
<!DOCTYPE inventory [
<!ELEMENT inventory(book)>
<!ELEMENT book(title,author,isbn,publisher,pages,price)>
<!ATTLIST book instock CDATA #REQUIRED>
<!ELEMENT title(#PCDATA)>
<!ELEMENT author(#PCDATA)>
<!ELEMENT isbn(#PCDATA)>
<!ELEMENT publisher(#PCDATA)>
<!ELEMENT pages(#PCDATA)>
<!ELEMENT price(#PCDATA)>
]>
<inventory>
<book instock = "yes">
<title>Beginning web programming with html, xhtml, and css </title>
<author>Duckett, jon </author>
<isbn>0764570781</isbn>
<publisher>Wrox pr inc</publisher>
<pages>840</pages>
<price>MYR 119.80</price>
</book>
<book instock = "yes">
<title>Core web programming(2nd edition)</title>
<author>Marty hall, larry brown</author>
<isbn>0130897930 </isbn>
<publisher>Prentice hall ptr </publisher>
<pages>1385</pages>
<price> MYR 125.00</price>
</book>
<book instock = "no">
<title>An introduction to web design and programming</title>
<author>Paul s. wang, sanda katila</author>
<isbn>0534395287</isbn>
<publisher>Course technology</publisher>
<pages>592</pages>
<price> MYR 251.00</price>
</book>
</inventory>
答案 0 :(得分:0)
<!ELEMENT inventory(book)>
这表示inventory
元素只能包含一个book
。你想要
<!ELEMENT inventory(book)*>
或者
<!ELEMENT inventory(book)+>