2017-03-23 5 views
1
At a school, there are many classes and the following elements are identified. 
  • Es ist ein Haupt, hat er Namen, Alter und Adresse
  • Jede Klasse
  • Jeder Klassenlehrer hält die folgenden InformationenDie DTD für das folgende XML gibt Fehler

    einen Klassenlehrer bekam
    • Class_number
    • Teacher_Details
    • Numbe r_of_students
  • Teacher_details Abschnitt enthält die folgenden Informationen

    • TEACHER_NAME
    • DoB

    Die Frage ist DTD-Dokument für die oben genannten Informationen

I erstellt die XML und die DTD mit VS 2008. Aber es gibt einen Fehler in der ersten Zeile der DTD.

<!DOCTYPE school [ 
    <!ELEMENT school (principal|ClassTeacher)*> 
    <!ELEMENT principal (name,age,address)> 
    <!ELEMENT name (#PCDATA)> 
    <!ELEMENT age  (#PCDATA)> 
    <!ELEMENT address (#PCDATA)> 
    <!ELEMENT ClassTeacher (cno,td*,nos)> 
    <!ELEMENT cno (#PCDATA)> 
    <!ELEMENT td (name,dob)> 
    <!ELEMENT name (#PCDATA)> 
    <!ELEMENT dob (#PCDATA)> 
    <!ELEMENT nos (#PCDATA)> 
]> 

<school> 
    <principal> 
    <name>sdasd</name> 
    <age>456</age> 
    <address>jhkh</address> 
    </principal> 

    <ClassTeacher> 
    <cno>456</cno> 
    <td> 
     <name>gyj</name> 
     <dob>fgd</dob> 
    </td> 
    <nos>45</nos> 
    </ClassTeacher> 
</school> 

The DTD and XML with error in 1st line

Antwort

0

Hauptproblem

Das primäre Problem ist, dass Sie name zweimal erklären. Entfernen Sie eine der Deklarationen, um den unmittelbaren Fehler zu beheben.

Zusätzliches Problem

<!ELEMENT school (principal|ClassTeacher)*> 

Dies ist eine „Auswahlliste“ eine „Elementinhalt“ Erklärung, was bedeutet, school entweder mehr principal oder mehrere ClassTeacher Kinder haben kann, aber nicht beide. Siehe Element Type Declarations.

Versuchen

<!ELEMENT school (principal, ClassTeacher*)> 

Dies erfordert, dass principal das erste Element ist, gefolgt von einer beliebigen Anzahl (einschließlich null) von ClassTeacher Elemente.

+0

Es gibt den gleichen Fehler für den Vorschlag ... –

+0

@ S. Sakthybaalan Siehe Update auf die Antwort –

+0

keine Verbesserungen –