-2
der angegebene Code ist:erzeugt DTD für einen bestimmten Code
<?xml version="1.0" encoding="UTF-8"?>
<student id="12C042">
<fName>John</fName>
<lName>Nelson</lName>
<plan>
<courses year="3">
<course>
<name> Extensible Markup Language</name>
<shortName>XML</shortName>
<record>
<grade>30</grade>
<date>12-Jan-2017</date>
</record>
</course>
<course>
<name>Object Oriented Concepts and Unified Modeling Language</name>
<shortName><![CDATA[OOP & UML]]></shortName>
</course>
</courses>
</plan>
</student>
Ich brauche eine DTD XML-Datei für diese zu erzeugen.
machte ich einen Code:
<!ELEMENT student (fName,lName,plan)>
<!ELEMENT fName (#PCDATA)>
<!ELEMENT lName (#PCDATA)>
<!ELEMENT plan (courses)>
<!ELEMENT courses (course?)>
<!ELEMENT course (name,shortName*,record*)>
<!ELEMENT name ANY>
<!ELEMENT shortName ANY>
<!ELEMENT record (grade,date)>
<!ELEMENT grade ANY>
<!ELEMENT date ANY>
<!ATTLIST student id NMTOKEN #REQUIRED>
<!ATTLIST courses year CDATA #IMPLIED>
es mir einen Fehler wirft:
Error:
Public ID: null
System ID: file:/home/p/student.xml
Line number: 20
Column number: 13
Message: The content of element type "courses" must match "(course)".
error
Kurs wird zweimal in der DTD definiert. Das ist natürlich nicht erlaubt, wie die Fehlermeldung sagt. – Markus
Ich löschte die Zeile jetzt zeigt es mir. Fehler: öffentliche ID: null System-ID: file: /home/p13290/student.xml Zeilennummer: 20 Spaltennummer: 13 Nachricht: Der Inhalt des Elementtypen "Kurse" Must-match "(natürlich)". Fehler –