Webmaster Hub: xhtml1.0 strict : déclaration xml ou pas ? - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

xhtml1.0 strict : déclaration xml ou pas ? déclararion xml ? Noter : -----

#1 L'utilisateur est hors-ligne   jaco24 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 01-mai 04

Posté 03 mai 2004 - 08:09

Si on veut être compatible avec le plus de versions de browsers possible doit -on écrire :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  lang="fr"  xml:lang="fr">


ou:


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  lang="fr"  xml:lang="fr">




ou encore :


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



autrement dit risque-t-il d'y avoir plus ou moins de problème selon que l'on ajoute la déclaration xml ou pas ?

Merci pour toute réponse
0

#2 L'utilisateur est hors-ligne   Clair de Lune 

  • Groupe : Membre+
  • Messages : 210
  • Inscrit(e) : 16-avril 04
  • Genre:Homme
  • Localisation:Giens
  • Société:Camping Clair de Lune

Posté 03 mai 2004 - 08:37

salut

je ne sais pas te répondre, mais voilà ce que je mets, et ça a l'air de marcher partout :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">


et dans le head

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />


j'ai vu dans d'autres forums que certains webmasters ont des problèmes si la déclaration
<?xml version="1.0" encoding="iso-8859-1"?>
est placée avant le DOCTYPE

mais c'est peut-être obligatoire en xhtml 1.1 :unsure:
0

#3 L'utilisateur est hors-ligne   Raphael 

  • Groupe : Membre
  • Messages : 565
  • Inscrit(e) : 16-octobre 03
  • Localisation:Strasbourg
  • Société:Alsacréations

Posté 03 mai 2004 - 08:43

Le prologue XML n'est pas obligatoire selon les usages que l'on fait du XHTML.
Si on utilise XHTML pour faire du HTML (comme 90% des gens), le prologue n'est pas nécessaire.
Par contre, si XHTML est utilisé comme du XML ou du MathML, le prologue est obligatoire.
De même, il est obligatoire si l'encodage du document est autre que UTF-8 ou UTF-16.

A l'heure actuelle, le prologue XML ne fait que basculer certains navigateurs dans le modèle de boite (erroné) de Microsoft.
Alsacréations.com (communauté) - Alsacréations.fr (agence web alsacienne)
le livre sur XHTML/CSS
0

#4 L'utilisateur est hors-ligne   Denis 

  • Assainisseur Web
  • Groupe : Membre
  • Messages : 1 387
  • Inscrit(e) : 15-avril 04
  • Genre:Homme
  • Localisation:Montréal
  • Société:WebConforme

Posté 03 mai 2004 - 12:09

Malgré le fait que j'utilise moi-même ceci :

<?xml version='1.0' encoding='iso-8859-1'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1"  />
<title>Title de la page en question</title>


Je m'assure de passer le prologue XML seulement aux navigateurs capable de le supporter convenablement comme ceci (code php gracieusement offert par deux copains, tel que mentionné ici) :

http://www.cybercodeur.net/weblog/commenta...p?idmessage=614

<?php
// Indique un Mime type correct si le client accepte le vrai xhtml
	if( stristr($HTTP_SERVER_VARS["HTTP_ACCEPT"], "application/xhtml+xml") ) 
	{
  header("Content-type: application/xhtml+xml");
  echo "<?xml version='1.0' encoding='iso-8859-1'?>\n";
	}
	else 
	{
  header("Content-type: text/html; charset=iso-8859-1");
	}
?>


Le code sert essentiellement à vérifier si l'agent utilisateur est en mesure de recevoir du application/xhtml+xml. En cas contraire, il ne présente pas le prologue xml et lui file du text/html (ce qui rejoint le propos de Sibelius).

Si tu ne peux pas pour une raison ou une autre utiliser quelque chose comme ça pour départager les adultes des enfants (à savoir, les navigateurs plus performants des navigateurs moins performants comme la série des MSIE, incluant la v6.0), alors je te suggère de t'en tenir à ceci si tu veux faire du xhtml 1.1 (tout bêtement ne pas mettre le prologue) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
	<meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1"  />
<title>Title de la page en question</title>


Ou de modifier en conséquence si tu souhaites servir du xhtml strcit ou transitionnel, ce qui signifie tout simplement changer ton doctype et ajouter un lang="fr" (seulement au transitionnel).

J'espère que ça peut aider un peu ! :D
Denis Boudreau, assainisseur Web
Corporatif : webconforme.com | Associatif : w3qc.org
0

#5 L'utilisateur est hors-ligne   jd_ 

  • Groupe : Membre
  • Messages : 45
  • Inscrit(e) : 29-avril 04
  • Genre:Homme

Posté 03 mai 2004 - 12:49

Elle est géniale ton astuce PHP. C'est tout bête et tout performant :yoot:
pompage.net : ils font le web, nous le traduisons - dead3.net : kiss the pig !
0

#6 L'utilisateur est hors-ligne   jaco24 

  • Groupe : Membre
  • Messages : 6
  • Inscrit(e) : 01-mai 04

Posté 03 mai 2004 - 13:53

Merci pour vos réponses.
Maintenant c'est clair pour moi.
0

#7 L'utilisateur est hors-ligne   Denis 

  • Assainisseur Web
  • Groupe : Membre
  • Messages : 1 387
  • Inscrit(e) : 15-avril 04
  • Genre:Homme
  • Localisation:Montréal
  • Société:WebConforme

Posté 05 mai 2004 - 05:57

C'est pas moi qu'il faut remiercier... c'est mes copains Darken et Anubis ! :thumbup: Heureux que ça te plaise. Tant mieux si ça peut être utile à d'autres.
Denis Boudreau, assainisseur Web
Corporatif : webconforme.com | Associatif : w3qc.org
0

#8 L'utilisateur est hors-ligne   Yonji 

  • Groupe : Membre
  • Messages : 33
  • Inscrit(e) : 03-octobre 04

Posté 03 octobre 2004 - 10:52

Bonjour,

Très intéressante comme astuce,je suis d'ailleur en train de l'essayer,mais j'ai une question.
Si je fait ceci :

<?php
// Indique un Mime type correct si le client accepte le vrai xhtml
 if( stristr($HTTP_SERVER_VARS["HTTP_ACCEPT"], "application/xhtml+xml") ) 
	{
		header("Content-type: application/xhtml+xml");
		echo "<?xml version='1.0' encoding='UTF-8'?>\n";
	}
	else 
	{
		header("Content-type: text/html; charset=UTF-8");
	}
?>
<html>
<head>
<title>Titre de ma page</title>
<style type="text/css">
  _AT_import url(style.css);
</style>
</head>
 <body>
......

Sous IE si je regard la source j'ai bien ça :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Mais sous Firefox rien,la source commence a <html>.
Est ce normale ?
Merci d'avance pour vos réponse.

Ce message a été modifié par Yonji - 03 octobre 2004 - 10:52.

0

#9 L'utilisateur est hors-ligne   LaurentDenis 

  • Groupe : Membres
  • Messages : 1 243
  • Inscrit(e) : 26-mars 04

Posté 03 octobre 2004 - 13:29

Si tu obtiens ces résultats, ce n'est pas vraiment normal en effet ;)

En utilisant tel quel le code que tu cites, j'obtiens au contraire:
- un prologue xml et le type mime application/xhtml+xml dans Firefox et Opera
- pas de prologue et le type mime text/html dans IE

Heureusement, d'ailleurs, puisque ces résultats correspondent aux capacités respectives de ces navigateurs ;)

Au passage, le code ci-dessus devrait être complété pour ajouter en particulier :
- la DTD XHTML1.0 dans tous les cas
- l'élément <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> en application/xhtml+xml et un simple <html lang="fr"> en text/html
- la CSS par défaut avec <?xml-stylesheet type="text/css" href="..." ?> en application/xhtml+xml et un simple <link rel="..."> en text/html

Ce message a été modifié par LaurentDenis - 03 octobre 2004 - 13:31.


#10 L'utilisateur est hors-ligne   Yonji 

  • Groupe : Membre
  • Messages : 33
  • Inscrit(e) : 03-octobre 04

Posté 03 octobre 2004 - 14:02

Bon c'est bon maintenant j'obtient le prologue XML sous Firefox & Opéra (plus sous IE).

+1 avec la dernière remarque de Laurent si vous pouviez rajouter les changement pour le css ... (je ne maitraisie pas php d'ou cette demande :) )

Merci d'avance.

Ce message a été modifié par Yonji - 03 octobre 2004 - 14:23.

0

#11 L'utilisateur est hors-ligne   Denis 

  • Assainisseur Web
  • Groupe : Membre
  • Messages : 1 387
  • Inscrit(e) : 15-avril 04
  • Genre:Homme
  • Localisation:Montréal
  • Société:WebConforme

Posté 03 octobre 2004 - 20:01

Pour ma part, je dois avouer que pour ce qui est de passer ma CSS en xml-stylesheet, Laurent m'avait mis au défi de le faire et je n'y suis jamais parvenu... :wacko:
Denis Boudreau, assainisseur Web
Corporatif : webconforme.com | Associatif : w3qc.org
0

#12 L'utilisateur est hors-ligne   LaurentDenis 

  • Groupe : Membres
  • Messages : 1 243
  • Inscrit(e) : 26-mars 04

Posté 04 octobre 2004 - 04:39

ça n'était pas un défi, Denis, juste une suggestion ;)

Cela dit, tout en vous prévenant que j'écris comme un cochon en PHP et que ce script est à améliorer, voici ce que j'utilise :

<?php  
$accept_xml =
  	!empty($_SERVER['HTTP_ACCEPT']) &&
  	strpos($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml') !== false;
  
if ($accept_xml) {
  header('Content-Type: application/xhtml+xml; charset=ISO-8859-1');
	echo '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n";
	echo '<?xml-stylesheet type="text/css" href="style.css" ?>'."\n";	
}
else {
	header('Content-Type: text/html; charset=ISO-8859-1');
}
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?php if ($accept_xml) { ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
	<head>
  <link rel="schema.DC" href="http://purl.org/DC/elements/1.0/" />
  	<meta name="DC.Format" content="application/xhtml+xml; charset=ISO-8859-1" />
<?php }
else { ?>
	<html lang="fr">
	<head>
  <link rel="schema.DC" href="http://purl.org/DC/elements/1.0/" />
  <meta name="DC.Format" content="text/html; charset=ISO-8859-1" />
  <style type="text/css" media="screen" title="defaut">@import url(style.css);</style>
<?php } ?>
  <title>...</title>
  </head>
etc...


La fonction récupérant le type-mime souhaité par le navigateur est un peu différente (empruntée à DotClear), mais le principe est identique. Le schéma Dublin Core est plus une coquetterie qu'autre-chose et devrait être remplacé/complété par une <meta http-equiv="Content-Type" content="..." /> plus classique.

Ce message a été modifié par LaurentDenis - 04 octobre 2004 - 04:41.


#13 L'utilisateur est hors-ligne   Monique 

  • Le Web à tous
  • Groupe : Hubmaster
  • Messages : 3 952
  • Inscrit(e) : 19-août 03
  • Genre:Femme
  • Localisation:rue Georges Mabile, Havré
  • Société:Webatou

Posté 04 octobre 2004 - 14:20

Bonjour,

A lire, un article intéressant (même s'il date de prés d'un an) de Karl Dubost :
Comment servir XHTML avec le bon type mime
sans oublier de suivre le renvoi vers un billet... où Denis donne un argument choc pour bien choisir son navigateur :1eye:
Amicalement,
Monique
en campagne pour des sites de qualité, conformes aux standards et accessibles... avec mon navigateur préféré (Firefox) et les Bonnes pratiques qualité pour les sites Web (Opquast)
Webatou : accessibilité et qualité des sites Web
0

#14 L'utilisateur est hors-ligne   Denis 

  • Assainisseur Web
  • Groupe : Membre
  • Messages : 1 387
  • Inscrit(e) : 15-avril 04
  • Genre:Homme
  • Localisation:Montréal
  • Société:WebConforme

Posté 04 octobre 2004 - 17:39

Incroyable ce que je peux écrire comme conneries ! ^_^
Denis Boudreau, assainisseur Web
Corporatif : webconforme.com | Associatif : w3qc.org
0

#15 L'utilisateur est hors-ligne   Xavier 

  • Groupe : Membre
  • Messages : 377
  • Inscrit(e) : 05-juillet 04

Posté 05 octobre 2004 - 12:47

Un problème soulevé par cette (ces en fait, php ou configuration du serveur) techniques est que les navigateurs de type KHTML (Konqueror ou Safari pour ne pas les nommer) n'indiquent pas accepter le type MIME application/xhtml+xml dans leur HTTP_ACCEPT :whistling:
Du coup on leur sert du text/html alors que bien entendu ils supportent très bien le xhtml :wacko:
Ce n'est pas très grave mais ça mérite tout de même d'être mentionné ;)
0

#16 L'utilisateur est hors-ligne   LaurentDenis 

  • Groupe : Membres
  • Messages : 1 243
  • Inscrit(e) : 26-mars 04

Posté 05 octobre 2004 - 16:04

Dans la mesure où de toute façon, ces navigateurs reçoivent une version HTML complète du contenu, partaitement exploitable bien qu'en deça de leurs capacités, ça n'a en effet aucune importance. L'erreur serait en fait de recourir à un script basé sur l'identification du navigateur plutôt que sur ses capacités déclarées...

Heu... En fait, adresser du XHTML1.0 en application/xhtml+xml ou en text/html n'a actuellement aucune importance pour le visiteur quelque-soit le navigateur. C'est juste une satisfaction pour l'auteur ;)

#17 L'utilisateur est hors-ligne   Denis 

  • Assainisseur Web
  • Groupe : Membre
  • Messages : 1 387
  • Inscrit(e) : 15-avril 04
  • Genre:Homme
  • Localisation:Montréal
  • Société:WebConforme

Posté 05 octobre 2004 - 16:36

Bien dit Laurent. C'est vrai qu'encore une fois, on perd de vue l'objectif de cette grande chasse aux sorcières : faire tout propre,propre, propre... ^_^
Denis Boudreau, assainisseur Web
Corporatif : webconforme.com | Associatif : w3qc.org
0

#18 L'utilisateur est hors-ligne   Yonji 

  • Groupe : Membre
  • Messages : 33
  • Inscrit(e) : 03-octobre 04

Posté 07 octobre 2004 - 21:50

Super ton code Laurent !!! :D
Marche niquel j'ai filer le tuyeau a des potes qui sont eux aussi ravi. :P
Topic qui ma était tres instrutif pour ma part merci les gars et Monique pour le liens
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)