« STIC Discussion:STIC II - exercice 10 (Volt) » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 124 : Ligne 124 :


Ok merci, j'ai réduit au maximum les erreurs, mais la balise video et audio du html5 ne peuvent pas être validées via le W3C même en utilisant votre méthode car si on veut les rendre valide, c'est le xsl qui pose problème.
Ok merci, j'ai réduit au maximum les erreurs, mais la balise video et audio du html5 ne peuvent pas être validées via le W3C même en utilisant votre méthode car si on veut les rendre valide, c'est le xsl qui pose problème.
Je trouve dommage d'être obligé de validé en HTML car du coup on peut plus vraiment être créatif au niveau des balises qui définissent mon nouveau langage HTML et qui n'existe pas dans le "vraie" HTML...

Version du 23 février 2015 à 13:40

voir aussi:

Questions Ex10 -- Arocca 29 février 2012 à 16:41 (CET)

  • comment fait-on pour la documentation technique: Interne (notamment dans la DTD) et/ou externe), je ne trouve pas dans le logiciel exchanger xml !?
  • Bonus : associer une CSS au résultat HTML (à quel moment avons-nous du html?)
  • Je ne me souviens plus de l'utilité de cette procédure : Une fois sur le fichier XML, faites transform, Execute Advanced XSLT, et là il ne faut pas oublier de choisir "current document", "use processing instructions" (avec option processor Saxon (XSLT 2.0)) et "new document" ?

Re: Questions Ex10 -- Daniel K. Schneider 29 février 2012 à 21:28 (CET)

  • La DTD se documente dans la DTD (voir les exemplse) ou encore dans un document à part. A vous de choisir.
  • A un moment donné, il vaut mieux analyser le HTML qui est produit par le XSLT. La procédure fait exactement cela. Vous pouvez créer un document HTML que vous pouvez ensuite valider. Un bon XSLT produit du bon HTML .... Alternativement, il existe des extensions de navigateurs qui montrent aussi le HTML (mais il faut les trouver).

Re: Re: Questions Ex10 -- Arocca 8 mars 2012 à 16:24 (CET)

Voici ma question en video http://tecfaetu.unige.ch/etu-maltt/R2D2/rocca6/stic-2/ex10/QuestionVideo.flv
Re: Re: Re: Questions Ex10 -- Daniel K. Schneider 8 mars 2012 à 18:00 (CET)

La réponse est simple: Il faut pas valider avec cet outil, car c'est juste un éditeur XML. Autrement dit, il ne comprend pas HTML (seulement XHTML). Donc soit:

  • sauver le fichier et valider ailleurs (par exemple avec une extension dans votre navigateur ou encore sur le service de validation W3C.
  • produire du XHTML

Problème dtd. -- Raphaël Gracia 18 mars 2013 à 18:07 (CET) -- Raphaël Gracia 18 mars 2013 à 18:07 (CET)

Bonjour,

Je n'arrive pas à associer la dtd à mon fichier xml. Quand je clique sur "validate", j'ai l'erreur suivante: no protocol entrainement.dtd

voici la déclaration au début du fichier xml

<?xml version="1.0"?>
<!DOCTYPE entrainement SYSTEM "entrainement.dtd">

le fichier xml s'appelle "entrainement.xml", et le fichier dtd, s'appelle "entrainement.dtd". Ils sont sauvés dans le même répertoire.

Comment faire pour que ça marche ?

Re: Problème dtd. -- Raphaël Gracia 18 mars 2013 à 18:07 (CET) -- Daniel K. Schneider 18 mars 2013 à 18:15 (CET)

Difficile à dire. A priori vous faites juste. Ceci dit, avez-vous fermé et réouvert le fichier XML une fois que vous avez ajouté le lien vers la DTD et l'élément racine ?

<?xml version="1.0"?>
<!DOCTYPE entrainement SYSTEM "entrainement.dtd">
<entrainement>
</entrainement>

Autre possibilité: Votre éditeur XML. Utilisez-vous Exchanger ou un autre ? Certains éditeurs ne savent rien faire ....

Si cela marche tjrs pas, il faut poser les 2 fichiers sur le serveur Web et inclure un lien ici. Ensuite je vais regarder.

Re: Re: Problème dtd. -- Raphaël Gracia 18 mars 2013 à 18:07 (CET) -- Raphaël Gracia 24 mars 2013 à 14:03 (CET)

J'utilise exchanger. J'ai fermé, réouvert les fichier. Quand je valide, j'ai toujours la même erreur. Je me demande si ça ne peu pas provenir du fait que, quand j'ai créé les fichiers, j'ai coché "dtd document" pour la dtd, et "document from clipboard" pour le fichier xml (et non "default xml document", parce que cela crée une balise "xngr" dont je ne sais pas ce à quoi elle sert).


http://tecfaetu.unige.ch/etu-maltt/stella/gracia0/stic-1/ex10/

Voici le lien vers mes deux fichiers. Le fichier xml ne contient que la première balise

Re: Re: Problème dtd. -- Raphaël Gracia 18 mars 2013 à 18:07 (CET) -- Daniel K. Schneider 24 mars 2013 à 16:17 (CET)

Non, tout est bon ou presque ....

C'est normal d'avoir une erreur de validation, puisque votre DTD définit des élements obligatoires. Il faut remplir le XML, sinon le XML n'est pas valide. La DTD a justement pour but d'assurer à ce que toute information exigée soit présente et dans une "bonne" forme.

Maintenant, la validation de la DTD (Schema->Validate DTD) regarde en fait juste la forme, c-a-d cela regarde si vous avez bien défini règle par règle. Dans votre DTD il y a au moins erreur: Il manque la définition de l'élément seancenumero.

Finalement, XML est du texte pur et se crée/ouvre avec n'importe quel éditeur de texte (sauf le notepad de Windows qui abime tout contenu). la balise xngr est juste un clin d'oeil au nom du logiciel ... suffit de les tuer.

Re: Re: Re: Problème dtd. -- Raphaël Gracia 18 mars 2013 à 18:07 (CET) -- Raphaël Gracia 28 mars 2013 à 16:40 (CET)

Toujours le même problème. J'ai rempli le xml, quand je sauvegarde, exchanger me dit que le xml est "well-formed", mais quand je valide, j'ai toujours l'erreur "no-protocol:entrainement.dtd". J'ai re-uploadé les deux fichiers sur le serveur

http://tecfaetu.unige.ch/etu-maltt/stella/gracia0/stic-1/ex10/

Re: Re: Re: Problème dtd. -- Raphaël Gracia 18 mars 2013 à 18:07 (CET) -- Daniel K. Schneider 28 mars 2013 à 18:40 (CET)

Mhh inexplicable. J'ai moi cela marche sans aucun problème. Enfin, votre DTD doit être corrigé et le XML aussi.

[Xerces-J 2.9.1] Validating "entrainement.xml" against "file:/home/schneide/schneide/tmp/entrainement.dtd" ...
Ln 4 Col 13 - Element type "objectifs" must be declared.
Ln 8 Col 19 - The content of element type "planification" must match "(volume,objectifperiode)".
Ln 21 Col 14 - The content of element type "principes" must match "(physiologie,mental,nutrition,recuperation)".
Ln 29 Col 28 - The content of element type "entrainementspecifique" must match "(force,souplesse,endurance,vitesse)".
Ln 33 Col 14 - The content of element type "exercice" must match "(exercicenumber,cibleexercice)".
Ln 39 Col 20 - The content of element type "resultatseance" must match "(discipline,ameliorations,commentaires)".
Ln 40 Col 11 - The content of element type "seance" must match "(seancenumber,exercice,entrainementspecifique,logistique,resultatseance)".
7 Errors

Donc, questions:

  • Avez-vous configuré manuellement qc. dans l'éditeur, genre dans les préférences du menu XML
  • Quelle est votre version de l'Editeur (faut utiliser version 3.3.01
  • Quel est votre OS ?
Re: Re: Re: Re: Problème dtd. -- Raphaël Gracia 18 mars 2013 à 18:07 (CET) -- Arnaud (discussion) 22 février 2015 à 21:24 (CET)

Même erreur lors de la validation, Ln -1 Col -1 - no protocol: htmlfr.dtd avec Exchanger XML Editor (3.3.01), ce qui est étrange c'est que l'erreur se produit uniquement quand j'execute mes fichiers depuis le dossier synchronisé avec mon cloud qui se trouve sur mon ordinateur mais pas quand les fichiers se trouvent sur mon bureau.

C'est peut-être une question de droit dans windows?!

Mon XML est bien formé et n'a aucune autre erreur de validation.

XSLT ne peut pas produire du HTML parfait, normal? -- Arnaud (discussion) 22 février 2015 à 21:37 (CET)

Je pense que c'est normal puisque par exemple dans mon "langage" j'ai inventé quelques nouvelles balises dans le "head" qui n'ont pas d'équivalent en HTML (j'ai fait un HTML français extrêmement simplifié^^), il me rajoute un meta avec le format mais ne le ferme pas et cela créé une erreur... Et la <!DOCTYPE html> n'est pas inséré non plus lors de la traduction ce qui provoque de nombreuses erreurs lors de la validation w3c mais est normal non?

Bref, de toute façon les navigateurs tel que FireFox arrive a lire le xml donc c'est pas si important ou cela risque-t-il de me pénaliser?

Re: XSLT ne peut pas produire du HTML parfait, normal? -- Daniel K. Schneider (discussion) 22 février 2015 à 22:10 (CET)

Non, essayez de produire un HTML presque parfait :=) Cela implique que vous devez absolument utiliser une déclaration de sortie:

Attention: Un éditeur XML ne peut valider du HTML4 ou HTML5 (les 2 ne sont pas XML!). Donc il faut effectivement valider avec un autre outil et ignorer la validation de XML Exchanger. Ce dernier ne valide que du XHTML. La balise meta non fermé ne pose donc pas problème....

Re: Re: XSLT ne peut pas produire du HTML parfait, normal? -- Arnaud (discussion) 23 février 2015 à 12:37 (CET)

Ok merci, j'ai réduit au maximum les erreurs, mais la balise video et audio du html5 ne peuvent pas être validées via le W3C même en utilisant votre méthode car si on veut les rendre valide, c'est le xsl qui pose problème. Je trouve dommage d'être obligé de validé en HTML car du coup on peut plus vraiment être créatif au niveau des balises qui définissent mon nouveau langage HTML et qui n'existe pas dans le "vraie" HTML...