5568 sujets

Sémantique web et HTML

Bonjour à tous voilà j'essaye de faire un site valide w3c mes pages sont quasiment ok sauf que je me heurte a une erreur que je ne comprend pas

# Line 41, Column > 80: XML Parsing Error: attributes construct error.

…text" onfocus="if ( !this.cliquer ) { this.value=''; this.cliquer=true; } " n…

✉
# Error Line 41, Column > 80: XML Parsing Error: Couldn't find end of Start Tag input line 41.

Voici le code genere en html et je n'arrive pas a trouver d'ou vient mon erreur merci de m'aider.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>Accueil</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
<style type="text/css">
/*<![CDATA[*/
 p.c2 {color:rgb(204,102,0); font-size:20px}
fieldset.c3{text-align:justify;}
/*]]>*/
</style>

</head>
<body>


<div class="div_principale">
<div class="banniereduhaut">


<img class="normal" src="Images/Banner3.gif" alt="banniere du site" />

</div>
</div>
<div class="rech_rapide">


<script type="text/javascript">
        var clk=false;
        function main(chp)
        {    if (!clk)   
            {    chp.value="";
                  clk=true;   
            }
        }
    </script>

<form action="rech.php" method="post">
Entrez ici le nom d une ville <input type="text" onfocus="if ( !this.cliquer ) { this.value=''; this.cliquer=true; } " name="rech" value="ex [langue]aris"class="inputconnexion2" />

 <input type="submit" value="Rechercher" class="inputconnexion" />

</form>


</div>

<div class="connexion">



<fieldset><legend class="legendconnexion">Connexion</legend>

<script type="text/javascript">
        var clk=false;
        function main(chp)
        {    if (!clk)   
            {    chp.value="";
                  clk=true;   
            }
        }
    </script>
<h3 class=legendconnexion>Bienvenue &aacute; admin</h3>

<form action="Co.php" method="post">
 <input type="submit" value="D&eacute;connexion" class="inputconnexion" />
</form>

</fieldset>

</div>

<div>

<script type="text/javascript">
//<![CDATA[
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
        for (var i = 1; i<=10; i++) {
                if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
        }
if (d) {d.style.display='block';}
}
//-->
//]]>
</script>

<!-- Menu  -->
<dl class="menu">
<dt onmouseover="javascript:montre('smenu1');"><a href="accueil.php">Accueil</a></dt>

<dt onmouseover="javascript:montre('smenu1');"><a href="recherche.php">Recherche d&eacute;taill&eacute;e</a></dt>
<dt onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre();"><a href="visuphotos.php">Galerie photos</a></dt>
<dd id="smenu2" onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre();">
                        
                                        <a href="ajout_photos.php"class="cl">Ajouter/Supprimer photos</a><br/>
                                                                               <a href="visuphotos.php"class="cl">Visualiser les photos</a></dd>
 <dt onmouseover="javascript:montre();"><a href="ajoutdest.php">Ajout destination</a></dt><dt onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre();"><a href="gestion_membres.php">Gestion membres</a></dt>

<dd id="smenu3" onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre();">
<a href="ajout_membres.php" class="cl">Ajouter membre</a><br />
<a href="suppr_membres.php" class="cl">Supprimer membre</a></dd>
<dt onmouseover="javascript:montre('smenu1');"><a href="infos.php">Informations personnelles</a></dt>
<dt onmouseover="javascript:montre('smenu1');"><a href="plandusite.php">Plan du site</a></dt>
</dl>

</div>
<div class="contenu">

<p class="c2"> Fa&icirc;tes vos recherches  avant de partir pour voyager en toute tranquilit&eacute;.<br/> En effet grace &aacute; ce site vous allez pouvoir vous renseigner sur les diff&eacute;rents h&eacute;bergements, restaurants ou encore lieux touristiques que vous pourrez trouver tout au long de votre voyage. Il est vous sera aussi possible de visualiser des photos des voyages r&eacute;alis&eacute;s. Pour les membres du site il vous sera possible d'ajouter vos propres destinations ainsi que vos photos prises lors de voyages. Il vous sera aussi possible d'ajouter des commentaires concernant les destinations d&eacute;j&aacute; pr&eacute;sentes sur le site.  Vous trouverez au passage quelques liens qui pourront vous être utiles.<br/> </p>

<fieldset class="c3">



<a  href="http://www.mappy.fr">-Préparer vos itinéraires avec Mappy</a><br/> 






<a  href="www.google.fr">-effectuer toutes vos recherches avec google</a><br/> 



<form action="gestlien.php" method="post">
<center> <input type="submit" value="Modifier"/></center>
</form>

</fieldset>

</div>


</body>
</html>




Je precise que l'outil validateur en francais valide mon code ...
Salut,

en jetant un oeil rapide :

* le DOCTYPE est invalide :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//[b][#blue]EN[/#][/b]" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

* il faut des espaces entre les guillemets fermants et la suite. Par exemple :
<a href="ajout_photos.php[b][#blue]"class[/#][/b]="cl">
anthonydb1 a écrit :
merci de ta reponse mais je dois mettre quoi alors au niveau du doctype ? FR pour francais ?
Non : tu as mis FR et c'est EN. Smiley cligne
anthonydb1 a écrit :
merci de ta reponse mais je dois mettre quoi alors au niveau du doctype ? FR pour francais ?

Rien du tout. Le Doctype ne doit pas être modifié, et les indications de langue se font à d'autre niveau:
- attribut HTML lang et XHTML xml:lang pour indiquer la langue de traitement du document (en plaçant l'attribut sur <html>) ou de parties du document (en plaçant l'attribut sur les conteneurs ou éléments concernés);
- en-tête HTTP Content-Language pour la langue principale du document.

Par ailleurs le code que tu nous donnes contient de nombreuses erreurs qui me font penser qu'il en manque un bout quelque part (ou alors c'est grave...):
- élément FIELDSET en dehors de tout élément FORM;
- éléments FIELDSET qui englobent des formulaires, des scripts et autres contenus (???);
- élément INPUT commencé mais pas fermé (pas de />)!

Tout cela ne te donne qu'une erreur HTML? Là je pencherais plutôt pour un résultat entre 20 et 100 erreurs. Smiley sweatdrop
Ben merci bien pour toutes vos reponses et Florent V. aprés correction de quelques erreurs mon code est valide w3c donc je ne voit pas ou est le souci des fieldset dans un form ou quoi. voici le nouveau code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>Accueil</title>
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
<style type="text/css">
/*<![CDATA[*/
 p.c2 {color:rgb(204,102,0); font-size:20px}
fieldset.c3{text-align:justify;}
/*]]>*/
</style>

</head>
<body>


<div class="div_principale">
<div class="banniereduhaut">


<img class="normal" src="Images/Banner3.gif" alt="banniere du site" />

</div>
</div>
<div class="rech_rapide">


<script type="text/javascript">
        var clk=false;
        function main(chp)
        {    if (!clk)   
            {    chp.value="";
                  clk=true;   
            }
        }
    </script>

<form action="rech.php" method="post">
Entrez ici le nom d une ville <input type="text" onfocus="if ( !this.cliquer ) { this.value=''; this.cliquer=true; } " name="rech" value="ex [langue]aris" class="inputconnexion2" />

 <input type="submit" value="Rechercher" class="inputconnexion" />

</form>


</div>

<div class="connexion">



<fieldset><legend class="legendconnexion">Connexion</legend>

<script type="text/javascript">
        var clk=false;
        function main(chp)
        {    if (!clk)   
            {    chp.value="";
                  clk=true;   
            }
        }
    </script>

<form action="gest.php" method="post">
 <input type="text" name="pseudo" onfocus="if(!this.cliquer ){ this.value=''; this.cliquer=true; }" value="pseudo" class="inputconnexion2" />

 <input type="password" name="pass" onfocus="if( !this.cliquer ){ this.value=''; this.cliquer=true; }" value="pass" class="inputconnexion2"/>
 <input type="submit"  name="connexion" value="Connexion" class="inputconnexion" />

</form>

</fieldset>

</div>

<div>

<script type="text/javascript">
//<![CDATA[
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
        for (var i = 1; i<=10; i++) {
                if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
        }
if (d) {d.style.display='block';}
}
//-->
//]]>
</script>

<!-- Menu  -->

<dl class="menu">
<dt onmouseover="javascript:montre('smenu1');" ><a href="accueil.php">Accueil</a></dt>
<dt onmouseover="javascript:montre('smenu1');" ><a href="recherche.php">Recherche d&eacute;taill&eacute;e</a></dt>
<dt onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre();" ><a href="visuphotos.php">Galerie photos</a></dt>
<dd id="smenu2" onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre();" >                                        <a href="visuphotos.php" class="legendconnexion" >Visualiser les photos</a></dd>
<dt onmouseover="javascript:montre('smenu1');"><a href="plandusite.php">Plan du site</a></dt>
</dl>

</div>

<div class="contenu">

<p class="c2"> Fa&icirc;tes vos recherches  avant de partir pour voyager en toute tranquilit&eacute;.<br/> En effet grace &aacute; ce site vous allez pouvoir vous renseigner sur les diff&eacute;rents h&eacute;bergements, restaurants ou encore lieux touristiques que vous pourrez trouver tout au long de votre voyage. Il est vous sera aussi possible de visualiser des photos des voyages r&eacute;alis&eacute;s. Pour les membres du site il vous sera possible d'ajouter vos propres destinations ainsi que vos photos prises lors de voyages. Il vous sera aussi possible d'ajouter des commentaires concernant les destinations d&eacute;j&aacute; pr&eacute;sentes sur le site.  Vous trouverez au passage quelques liens qui pourront vous être utiles.<br/> </p>

<fieldset class="c3">



<a  href="http://www.mappy.fr">-Préparer vos itinéraires avec Mappy</a><br/> 






<a  href="www.google.fr">-effectuer toutes vos recherches avec google</a><br/> 






<a  href="http://www.airfrance.fr">-Reserver vos voyages en ligne avec air france</a><br/> 




</fieldset>

</div>



</body>

</html>
passer la validation via un automatisme, ça garantit que certaines rêgles simple à vérifier sont respectées, ça ne garantit pas absolument pas un code 100% valide et (encore moins) sémantique.
Hello,

Apparemment, on peut utiliser FIELDSET en dehors du contexte d'un formulaire. Fort bien. Il reste que ça n'a pas vraiment de sens. Je dirais ici que l'utilisation du FIELDSET est abusive, et que tu peux avantageusement la remplacer par l'utilisation d'un titre de section (H1, H2, H3, ...), et éventuellement d'un DIV conteneur si tu as besoin d'afficher une sorte de cadre.