/ / Помилка на внутрішньому DTD у файлі XML - xml, dtd

Помилка на внутрішньому DTD у файлі XML - xml, dtd

Не вдалося запустити мій XML-файл. Я отримав деякі помилки на DTD. Що не так з моїм кодом DTD? Я спробував запустити його на Internet Explorer, але він не працює. Коли я не включав код DTD, він працює нормально. Але як тільки я включу DTD, він відображає порожню сторінку. Після перевірки файлу xml у http://validator.w3.org/ , Я отримав ці помилки

Рядок 25, стовпець 23: тип документа тут не допускає елемент "книга"

<книга instock = "так">

Названий елемент був знайдений у контекстіде це не так дозволено. Це може означати, що у вас є неправильно вкладені елементи - наприклад, елемент "стиль" в розділі "тіло" замість всередині "head" - або два елементи, які накладаються (що не допускається)

Однією з поширених причин цієї помилки є використанняСинтаксис XHTML у HTML документів. Завдяки правилам HTML неявно замкнутих елементів, це помилка може створювати каскадні ефекти. Наприклад, за допомогою XHTML "самозакривающиеся" теги для "meta" і "link" в розділі "head" Документ HTML може призвести до того, що парсер зробить висновок про кінець "голови" Розділ і початок розділу "тіло" (де "посилання" і "meta" заборонено; отже, повідомляється про помилку)

<?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 для відповіді № 1
<!ELEMENT inventory(book)>

Це говорить inventory елемент може містити рівно один book. Ти хочеш

<!ELEMENT inventory(book)*>

або можливо

<!ELEMENT inventory(book)+>