Page 1 sur 1

Problème de validation w3c

Posté : 18 juil. 2008, 16:29
par sofuzion
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!

Posté : 18 juil. 2008, 16:44
par Rei Itchido
Il te manque la declaration du doctype.
http://css.alsacreations.com/Bases-et-i ... nt-choisir

Posté : 20 juil. 2008, 22:44
par sofuzion
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 ..

Posté : 20 juil. 2008, 22:47
par Victor BRITO
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">

Posté : 21 juil. 2008, 00:21
par sofuzion
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

Posté : 21 juil. 2008, 01:42
par chrislabricole
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 ;)

Posté : 21 juil. 2008, 12:25
par sofuzion
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

Posté : 21 juil. 2008, 13:00
par chrislabricole
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 ;)

Posté : 21 juil. 2008, 13:31
par sofuzion
Ouaip entièrement d'accord !!
Si dans mon menu je mets le doctype ça va poser des problèmes !

Posté : 21 juil. 2008, 21:58
par Victor BRITO
Attention ! pas de doctype induit le basculement des navigateurs (surtout IE) en mode Quirks.