Ordre des balises

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Répondre
DJiK
Lézard à collerette
Messages : 474
Inscription : 17 févr. 2004, 13:18

Ordre des balises

Message par DJiK »

J'ai parfois cette erreur en validant mes pages: "document type does not allow element "xx" here".

Où est-ce qu'on peut trouver l'ordre autorisé des éléments un peu plus clairement que dans le DTD?



PS et HS: J'ai lu ici qu'il valait mieux faire du XHTML 1.0 que 1.1. Vous pouvez me rappelez pourquoi SVP? Compatibilité des navigateurs? :?:
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

En gros il faut qu'il y ait un élément de bloc à la base : div, p, ul, ol, dl, adress, etc.
Cette erreur peut aussi provenir d'un tag mal fermé un kilomètre plus haut (je viens de passer un bon moment à en trouver un de ce genre :? )

Pour le XHTML 1.1, si je me souviens bien, tu dois l'envoyer au format application/xhtml+xml, et donc bien sur la majorité des internautes ne pourront pas le voir. Tant pis pour eux, me diras-tu, c'est à toi de voir :wink:
DJiK
Lézard à collerette
Messages : 474
Inscription : 17 févr. 2004, 13:18

Message par DJiK »

Je parlais pas en cas d'erreur. Mais par exemple:
<p><p> est interdit, alors que <div><div> est autorisé.
Comme il n'y a pas vraiment de logique, s'il y avait un aide mémoire... :wink:

calimo a écrit :Pour le XHTML 1.1, si je me souviens bien, tu dois l'envoyer au format application/xhtml+xml
Pas obligatoirement je pense. En tout cas, sans l'entête XML (ou m^ avec) ça marche tout aussi bien que le 1.0 avec les derniers IE et Opera.


L'embêtant avec FF et l'entête XML: s'il y a une erreur FF n'affiche pas la page, mais un gros msg d'erreur jaune. :?
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

DJiK a écrit :Je parlais pas en cas d'erreur. Mais par exemple:
<p><p> est interdit, alors que <div><div> est autorisé.
Comme il n'y a pas vraiment de logique, s'il y avait un aide mémoire... :wink:
Ça doit exister mais je ne sais pas ou :oops:
DJiK a écrit :Pas obligatoirement je pense. En tout cas, sans l'entête XML (ou m^ avec) ça marche tout aussi bien que le 1.0 avec les derniers IE et Opera.
Ce n'est pas parce que ça marche que c'est fait correctement :wink:
Mais ça on l'a déjà dit ailleurs.
DJiK a écrit :L'embêtant avec FF et l'entête XML: s'il y a une erreur FF n'affiche pas la page, mais un gros msg d'erreur jaune. :?
Eh oui, une erreur de parsing ne passe pas la rampe en xml. Ça évite souvent de devoir passer par la validation.
C'est comme ça, on n'y peut rien.
Remarque que sous Opera c'est pareil (mais l'erreur est souvent mieux expliquée je trouve).
AllanTK
Salamandre
Messages : 38
Inscription : 06 août 2003, 23:43

Message par AllanTK »

L'embêtant avec FF et l'entête XML: s'il y a une erreur FF n'affiche pas la page, mais un gros msg d'erreur jaune.
C'est normal, car le tag xml (<? ?>) met la page XHTML en mode XML qui n'accepte aucune erreur de syntaxe, le HTML est plus laxiste.
DJiK
Lézard à collerette
Messages : 474
Inscription : 17 févr. 2004, 13:18

Message par DJiK »

Ouais, mais souvent l'erreur ne vient pas de moi dans ces cas là: erreur de PHP ou de base de données -> spouf, on peut m^ pas la lire! :twisted:
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Re: Ordre des balises

Message par Bobe »

DJiK a écrit :J'ai parfois cette erreur en validant mes pages: "document type does not allow element "xx" here".

Où est-ce qu'on peut trouver l'ordre autorisé des éléments un peu plus clairement que dans le DTD?
DJiK a écrit : Je parlais pas en cas d'erreur. Mais par exemple:
<p><p> est interdit, alors que <div><div> est autorisé.
Comme il n'y a pas vraiment de logique, s'il y avait un aide mémoire...
Tu trouveras ces informations dans les fragments de DTD.
Exemple pour l'élément <p>:

Code : Tout sélectionner

<!ELEMENT P - O (%inline;)*            -- paragraphe -->
<!ATTLIST P
  %attrs;                              -- %coreattrs, %i18n, %events --
  >
L'élément P dont la balise ouvrante est obligatoire et la balise fermante est optionnelle accepte zéro, un ou plusieurs éléments listés dans la parenthèse (là, il faut cliquer sur le lien %inline; pour aller à la partie de la DTD définissant la liste '%inline;').

Autant fermer quand même ses balises même si on travaille en html. En xhtml, les balises fermantes sont toujours obligatoires. (ou comme ça pour les balises vides: <balise />).

Bon, le gros problème avec les recommandations du W3C, c'est qu'elles s'adressent la plupart du temps à deux catégories de personnes:
  • Les personnes qui vont utiliser l'outil en tant que tel (faire des pages (x)html, écrire une feuille de style css, etc)
  • Et les personnes qui vont implémenter ces outils (les concepteurs de navigateurs, etc)
C'est pour cela que ces documents sont assez techniques et parfois abruptes dans leur approche. Mais lire une DTD n'est pas vraiment compliqué, c'est juste une question d'habitude.

Hop:
Lire une DTD ( Document Type Definition)
DJiK a écrit : PS et HS: J'ai lu ici qu'il valait mieux faire du XHTML 1.0 que 1.1. Vous pouvez me rappelez pourquoi SVP? Compatibilité des navigateurs? :?:
Un document interessant:
http://www.dionidium.com/2003/09/00112
Ouais, mais souvent l'erreur ne vient pas de moi dans ces cas là: erreur de PHP ou de base de données -> spouf, on peut m^ pas la lire!
Qui a écrit le code PHP ? C'est en tout cas la personne qui l'a écrit qui est à l'origine de l'erreur.
La base de données stocke ce qu'on lui demande de stocker.
php fait les traitements qu'on lui demande de faire.
« La vie d’un geek est un combat perpétuel contre l’imperfection »
bobo
Iguane
Messages : 764
Inscription : 18 août 2003, 11:04

Message par bobo »

DJiK a écrit :Je parlais pas en cas d'erreur. Mais par exemple:
<p><p> est interdit, alors que <div><div> est autorisé.
Comme il n'y a pas vraiment de logique, s'il y avait un aide mémoire... :wink:
Bin si, il y a une logique. <div>, c'est un élément pauvre sémantiquement, il sert à regrouper des éléments comme on veut.
<p>, c'est un paragraphe. Dans un texte ordinaire, il est impossible d'imbriquer des paragraphes, ça n'a pas de sens ! Donc c'est interdit.
Les standards c'est bon, mangez en !
Flore & Sébastien
Unité dans la diversité.
DJiK
Lézard à collerette
Messages : 474
Inscription : 17 févr. 2004, 13:18

Message par DJiK »

calimo a écrit :Ce n'est pas parce que ça marche que c'est fait correctement :wink:
En effet!

Bobe a écrit :Mais lire une DTD n'est pas vraiment compliqué
Heu... :oops:

Bobe a écrit :Qui a écrit le code PHP ?
Ben moi...
Bobe a écrit :C'est en tout cas la personne qui l'a écrit qui est à l'origine de l'erreur.
Personne n'est parfait! :P Disons qu'il faut désactiver le XML le temps de faire le PHP correct, puis le remettre après pour vérifier les balises.

Bobe a écrit :La base de données stocke ce qu'on lui demande de stocker.
C'est là le hic surtout. :roll: Je sais pas ce que les neuneus qui vont se servir du site après vont y mettre.
Donc je peut pas mettre en XML: s'ils font une erreur ça marchera plus, mais ils s'en rendront pas compte (sous IE je suppose). :(


Bref... je laisse XHTML 1.0. Merci pour vos réponses. :)
olab
Varan
Messages : 1254
Inscription : 30 juil. 2003, 20:20

Message par olab »

DJiK a écrit :C'est là le hic surtout. :roll: Je sais pas ce que les neuneus qui vont se servir du site après vont y mettre.
Donc je peut pas mettre en XML: s'ils font une erreur ça marchera plus, mais ils s'en rendront pas compte (sous IE je suppose). :(

Bref... je laisse XHTML 1.0. Merci pour vos réponses. :)
Pourquoi, ils vont y mettre des balises ? Je suis pas sûr que ça soit une bonne idée...
DJiK
Lézard à collerette
Messages : 474
Inscription : 17 févr. 2004, 13:18

Message par DJiK »

olab a écrit :Pourquoi, ils vont y mettre des balises ? Je suis pas sûr que ça soit une bonne idée...
Moi non plus, mais il doit y avoir un peu de présentation dans le texte.

Je pourrai faire comme dans les forums, dans mon panneau d'admin, avec des balises [comme ça] qui seront remplacées. :?
olab
Varan
Messages : 1254
Inscription : 30 juil. 2003, 20:20

Message par olab »

Bah, ça reviendrait au même
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités