RéponsesLes réponses sont affichées dans ce style là. |
Notre ami Forrest a décidé d'écrire ses mémoires en XML. Aidez-le à corriger son document en conservant la structure logique et le contenu autant que faire se peut.
Si le fichier corrigé ne se charge pas dans votre browser, ce n'est pas dû à une erreur syntaxique XML mais probablement dû au comportement de votre navigateur qui réagit sur l'instruction de traitement <?xsl-stylesheet?> et ne trouve pas la ressource référencée. Essayez de mettre entre commentaire cette instruction de traitement pour voir comment votre navigateur va afficher le document. |
UTF-8
au lieu de iso-8859-1
standalone
style
dans l'élément <titre>
<auteur>
au lieu de </auteur>
<p align=center>
î
</b>
et </i>
non rapprochées<hr width/>
xmlns:xlink=""
]]>
dans CDATA--
dans un commentaire<p>
xml_parse
<document>
et <remarques>
Vous utiliserez le parseur intégré à votre navigateur préféré pour vous aider. Lorsqu'il sera corrigé, répondez aux questions suivantes :
Programmez un parseur pour valider l'instance avec la DTD. On utilisera JAXP (package javax.xml.parsers). Pour lancer le programme :
java -cp . MonParserValidantQuiValide forrest.xml
Ecrivez une DTD pour ce document et modifiez-le pour qu'elle soit référencée dans l'instance XML (<!DOCTYPE ...>). Utilisez votre parseur validant pour vérifier que votre instance est conforme à la DTD.
Vous êtes l'informaticien d'un Zoo (un peu comme certains doivent l'être à l'université). On vous demande d'organiser les données du Zoo en XML.
java -cp . MonParserValidantQuiValide zoo.xml
bash-2.05b$ java -cp . MonParserValidantQuiValide zoo-ko.xml Warning: validation was turned on but an org.xml.sax.ErrorHandler was not set, which is probably not what is desired. Parser will use a default ErrorHandler to print the first 10 errors. Please call the 'setErrorHandler' method to fix this. Error: URI=file:/path/to/zoo-ko.xml Line=13: Element "zoo" does not allow "mammifères-marins" here. Error: URI=file:/path/to/zoo-ko.xml Line=36: Element "zoo" does not allow "poissons" here.
import org.w3c.dom.*; .../... Document doc = parser.parse( args[0] ); System.out.println( doc.getDocumentElement().getNodeName() );