[ Toutes les pages - html - javascript ]

Caractères spéciaux et XHTML Préférences

Pargager sur facebook

Afficher le menu

Les caractères spéciaux dans les documents XHTML

Les javascripts et les feuilles de style internes aux pages xhtml posent problème dès qu'elle contiennent le caractère < ou le caractère &, ces caractères étant interprétés par le parseur xml.

Ainsi, si vous placez un caractère comme < dans un élément XML, en écrivant par exemple <balise>Si salaire < 1000</balise>, une erreur sera fénérée car le navigateur va interpréter ce caractère <comme le début d'un nouvel élément.

Utilisation des entités

On peut éviter cela en remplacant le caractère < par &lt;, ce qui donne <balise>Si salaire &lt; 1000</balise>

Il y a 5 entités prédéfinies en XML:

&lt;	<	plus petit que
&gt;	>	plus grand que
&amp;	&	esperluette
&apos;	'	apostrophe
&quot;	"	guillement

Les seuls caractères strictement illégaux en XML sont < et &. Les apostrophes, guillements et plus grand que sont légaux mais il est de bonne habitude de les remplacer aussi.

L'espace insécable &nbsp; est également reconnu.

Utilisation de fichiers externes

Pour les scripts et les feuilles de style, un moyen de résoudre le problème est de placer ces éléments dans des fichiers externes.

Utilisation de la balise CDATA

La balise CDATA permet d'écrire du texte quelconque qui sera interpérté comme du HTML sans l'analyser en tant que XML.

Une section CDATA commence avec <![CDATA[ et se termine avec ]]>

Pour un javascript par exemple, on écrira

<script type="text/javascript">
//<![CDATA[
  les instructions javascript
//]]>
</script>

ou autrement,

<script type="text/javascript">
/*<![CDATA[*/
  les instructions javascript
/*//]]>*/
</script>

Toujours bien mettre les balises CDATA en commentaire (// ou /* */) pour le très habituel cas ou le navigateur traite le document en tant que text/html et n'interprète pas les balises CDATA.

La deuxième forme permet d'écrire le tout sur une seule ligne, comme

<script type="text/javascript"> /*<![CDATA[*/ les instructions javascript /*//]]>*/ </script>

A l'exception de ]]>, on peut mettre ce que l'on veut dans une section CDATA, un code source par exemple, ou même des balises interdites en XHTML!

Utilisation du caractère d'échappement \ dans les chaînes javascript

Ce qui suit s'applique également aux chaînes php entre guillemets.

\b	Backspace - retour arrière d'un caractère
\n	Newline - Saut de ligne
\f	Form feed - Nouvelle page
\t	Tab - Tabulation
\r	Return - Retour chariot
\\	Backslash - Le caractère backslash lui-même
\'	Single quote - Apostrophe
\"	Double quote - Guillemets
\...	N'importe quel caractère dont ... représente le code octal (3 chiffres)
\x..	N'importe quel caractère dont .. représente le code hexadécimal (2 chiffres)
\u....	N'importe quel caractère dont .... représente le code Unicode (4 chiffres hexa)

On peut donc encoder les entités comme suit:

\x3C	<	plus petit que
\x3E	>	plus grand que
\x26	&	esperluette
\x27	'	apostrophe
\x22	"	guillement

Valid XHTML 1.0Strict Valid CSS

AccueilPage précédenteHaut de pagePage suivante