2015-03-11 6 views
0

Я работаю над XML-файлом, и у меня возникают проблемы с ним.Ошибки при проверке XML и DTD

Вот DTD:

<!ELEMENT book (bookinfo,chapter*)> 
<!ELEMENT chapter (title,section*)> 
<!ELEMENT title (#PCDATA)> 
<!ELEMENT bookinfo (title,author,copyright)> 
<!ELEMENT author (firstname,surname)> 
<!ELEMENT copyright (year,holder)> 
<!ENTITY % divers "para|programlisting|itemizedlist|orderedlist"> 
<!ELEMENT section (title,(%divers;)+)> 
<!ELEMENT para (#PCDATA)> 
<!ELEMENT programlisting (#PCDATA)> 
<!ELEMENT holder (#PCDATA)> 
<!ELEMENT surname (#PCDATA)> 
<!ELEMENT firstname (#PCDATA)> 
<!ELEMENT year (#PCDATA)> 
<!ELEMENT itemizedlist (listitem+)> 
<!ELEMENT orderedlist (listitem+)> 
<!ELEMENT listitem (%divers;)+> 

Вот что я сделал до сих пор (проверка в порядке с этой частью)

<?xml version="1.0" encoding='ISO-8859-1' standalone="no"?> 
<!DOCTYPE book SYSTEM "simpledocbook.dtd"> 
<?xml-stylesheet href="docbook.xml" type="application/xml"?> 
<book> 
<bookinfo> 
<title></title> 
<author> 
<firstname></firstname> 
<surname></surname> 
</author> 
<copyright> 
<year></year> 
<holder></holder> 
</copyright> 
</bookinfo> 
<chapter> 
<title></title> 
<section> 
<title></title> 
<para></para> 
<programlisting></programlisting> 
</section> 
</chapter> 
<chapter> 
<title></title> 
<section> 
<title></title> 
<para></para> 
<programlisting></programlisting> 
<itemizedlist></itemizedlist> 
<orderedlist></orderedlist> 
</section> 
</chapter> 
</book> 

Моя проблема возникает, когда я пытаюсь добавить ITEMLIST, я дон Не знаете, куда я должен поместить его в код? Все, что я пытаюсь поместить, где-то, я получаю ошибки.

Можете ли вы, ребята, помочь мне найти, почему это не работает? Спасибо большое!

ответ

1

Вот что я сделал до сих пор (проверка в порядке с этой частью)

проверки не должно быть в порядке с этой частью. Вы должны получать ошибки около itemizedlist и orderedlist будучи неполными. Они требуют по крайней мере 1 listitem (что похоже на то, что вы пытаетесь добавить).

Вот модифицированная версия, которая действительна:

<!DOCTYPE book SYSTEM "simpledocbook.dtd"> 
<?xml-stylesheet href="docbook.xml" type="application/xml"?> 
<book> 
    <bookinfo> 
     <title></title> 
     <author> 
      <firstname></firstname> 
      <surname></surname> 
     </author> 
     <copyright> 
      <year></year> 
      <holder></holder> 
     </copyright> 
    </bookinfo> 
    <chapter> 
     <title></title> 
     <section> 
      <title></title> 
      <para></para> 
      <programlisting></programlisting> 
     </section> 
    </chapter> 
    <chapter> 
     <title></title> 
     <section> 
      <title></title> 
      <para></para> 
      <programlisting></programlisting> 
      <itemizedlist> 
       <listitem> 
        <para/> 
       </listitem> 
      </itemizedlist> 
      <orderedlist> 
       <listitem> 
        <para/> 
       </listitem> 
      </orderedlist> 
     </section> 
    </chapter> 
</book> 

Я добавил пустые para элементы к listitem «потому, что по крайней мере один из перечисленных ниже требуется: para, programlisting, itemizedlist или orderedlist

Смежные вопросы