XML文件中的内部DTD出错

时间:2018-03-20 04:08:15

标签: xml dtd

我的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>

1 个答案:

答案 0 :(得分:0)

<!ELEMENT inventory(book)>

这表示inventory元素只能包含一个book。你想要

<!ELEMENT inventory(book)*>

或者

<!ELEMENT inventory(book)+>