-2
le code donné est:générer DTD pour un code donné
<?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>
Je dois générer un fichier xml DTD pour cela.
J'ai fait un 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>
il me jette une erreur:
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
cours est défini deux fois dans votre DTD. Ce n'est évidemment pas autorisé comme le message d'erreur dit. – Markus
j'ai supprimé la ligne maintenant il me montre. Erreur: ID public: null ID système: fichier: /home/p13290/student.xml Numéro de ligne: 20 Numéro de colonne: 13 Message: Le contenu du type d'élément «courses» doit correspondre à «(cours)». erreur –