Problème de validation w3c

Eléphanteau du PHP | 15 Messages

18 juil. 2008, 16:29

Bonjour,

il ne me reste plus que 4 fois la même erreur pour pouvoir valider w3c ...

Mon erreur est la suivante :
document type does not allow element "html" here .

… xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).
Mon code :

Code : Tout sélectionner

<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title> L'Arche du Val de Sambre</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" /> </head> <body> <div id="header"> <h1> L'ARCHE DU VAL DE SAMBRE</h1> <h2> Association de protection animale - loi 1901</h2> </div> <div id="navigation" style="margin-bottom:5px;"> <ul> <li><a href="index.php" title="Accueil">Accueil</a></li> <li><a href="presentation.php" title="Présentation">Présentation</a></li> <li><a href="conditionsAdoption.php" title="Conditions d'adoption">Conditions d'adoption</a></li> <li><a href="animauxAdoptes.php" title="Les animaux adoptés">Les adoptés</a></li> <li><a href="conseil.php" title="Conseils">Conseils</a></li> <li><a href="legislation.php" title="La législation">Législation</a></li> <li><a href="autresRefuges.php" title="Coordonnées d'autres refuges">Autres refuges </a></li> <li><a href="livreDor.php" title="Le livre d'or">Livre d'or</a></li> <li><a href="forum.php" title="Le forum">Forum </a></li> </ul> </div> <div id="main-image" style="margin-bottom:5px;"></div> </body> </html>
Si quelqu'un aurait une idée ??
Merci d'avance!

Eléphant du PHP | 396 Messages

18 juil. 2008, 16:44

Il te manque la declaration du doctype.
http://css.alsacreations.com/Bases-et-i ... nt-choisir

Eléphanteau du PHP | 15 Messages

20 juil. 2008, 22:44

J'ai oublié de préciser désolée ^^
Ces 4 pages sont mes menus (banniére, footer, menu à droite ...) et je les appel dans mes différentes pages.
Le doctype est donc précisé dans les autres pages en question ..

Mammouth du PHP | 2937 Messages

20 juil. 2008, 22:47

Et, vu le code, il faut choisir un Doctype XHTML 1.0 (Strict ou Transitional), à ajouter au tout début du code.

Doctype XHTML 1.0 Strict

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Doctype XHTML 1.0 Transitional

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Eléphanteau du PHP | 15 Messages

21 juil. 2008, 00:21

j'ai déjà ça dans mes pages :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
je n'ai pas d'erreur de doctype !!!
J'ai juste 4 pages ( .html) qui me servent pour chaque autre page de mon site... ( .php)
Je ne mets pas le doctype dedans sinon il me dit qu'il est déjà déclaré (en effet, il est déclaré dans toutes les pages de mon site

Je les appel comme ceci :

Code : Tout sélectionner

<?php include('menu.htm'); // Nous appelons notre menu ?>
C'est pour ça qu'il n'y a pas besoin de déclarer le doctype dedans ...
mais j'ai quand même l'erreur décrite au dessus

Mammouth du PHP | 959 Messages

21 juil. 2008, 01:42

Ah ben alors appel à la validation les pages où ton menu est inclue, ça ne sers à rien de valider juste ton menu ;)

Si ta page avec le
<?php
  include('menu.htm');  // Nous appelons notre menu
?>
est valide, ça veut dire que ton menu est aussi valide ;)

Eléphanteau du PHP | 15 Messages

21 juil. 2008, 12:25

J'ai enlevé le html, head, title et body des pages que j'inclue
ça fonctionne ^^

en fait, ces balises n'apparaissent donc que dans les pages entières de mon site, pas dans les pages auxquelles je fais appel

Mammouth du PHP | 959 Messages

21 juil. 2008, 13:00

Ok, mais qu'on sois bien d'accord, il ne faut pas que dans ton menu tu mettes un DOCTYPE, sinon, pour la validation de la page qui contient ce menu, ça va poser problème ;)

Eléphanteau du PHP | 15 Messages

21 juil. 2008, 13:31

Ouaip entièrement d'accord !!
Si dans mon menu je mets le doctype ça va poser des problèmes !

Mammouth du PHP | 2937 Messages

21 juil. 2008, 21:58

Attention ! pas de doctype induit le basculement des navigateurs (surtout IE) en mode Quirks.