5568 sujets

Sémantique web et HTML

Bonjour je souhaite valider mon site en Xhtml, mais il me reste 3 erreurs qui viennent du Doctype, je ne comprend pas d'où vient le problème... Si quelqu'un peut m'aider...
Voici le code du Doctype:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Language" content="en" />
  <meta name="GENERATOR" content="PHPeclipse 1.9" />
  <meta http-equiv="Content-Type" content="text/html; 
charset=iso-8859-1" /> 
  <link rel = "stylesheet" href = "../style/style.css" type = "text/css" />
  <script type="text/javascript" src="script.js"></script>
  <title>Accueil</title>
</head>



Et voici les erreurs:
1.
Error Line 27, Column 2: "DOCTYPE" declaration not allowed in instance.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

2.
Error Line 30, Column 56: document type does not allow element "html" here.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">



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).


3.
Error Line 27, Column 1: XML Parsing Error: StartTag: invalid element name.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

Merci d'avance Smiley smile
Modifié par Elixis (22 Jan 2008 - 13:20)
Salut,

Ben déjà c'est bizarre que ton doctype se trouve à la ligne 27, il y a quoi avant?

Pour éviter que IE passe en mode quirk, il doit absolument commencer à la première ligne, au premier caractère.

Sinon c'est plus facile avec le code entier de la page, tu n'aurais pas un lien?

P.S. : pour l'indication de la langue de la page (envoyée en text/html) il faut utiliser deux attributs :

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Modifié par Patidou (22 Jan 2008 - 11:26)
Merci pour la réponse, j'ai fait la modification pour les 2 attributs pour l'indication de la langue, ça n'y change rien.
Effectivement, il doit y'avoir un problème avec les numéros de ligne, puisque mon Doctype se trouve en début de page, il commence donc a la ligne 1 et non pas 27.
Pour info j'utilise Firefox 2.0.
Je viens de tester le Doctype tout seul dans une page vide avec ce code:

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

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
  <meta http-equiv="Content-Language" content="en" />
  <meta name="GENERATOR" content="PHPeclipse 1.9" />
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title>Index</title>
  
  <link rel = "stylesheet" href = "../style/style.css" type = "text/css" />
  
</head>
<body>
</body>
</html>


maintenant il est valide Smiley sweatdrop , donc j'imagine que le problème vient d'ailleurs... mais étant donné que je n'ai que les 3 erreurs indiqués plus haut je ne sais pas trop ou chercher...
Bête question : tu n'aurais pas joué avec les includes php, et importé une page complète dans ta page? À ce moment là tu te retrouves avec deux doctype, deux body,etc...
Ta question n'est pas bête, en l'occurence c'est plutôt moi qui le suis Smiley confused ... J'ai effectivement mis le Doctype sur ma page incluse... Cela explique les numéros de ligne aussi, j'aurais dû y penser.
Merci pour l'aide en tout cas.
A bientôt!