Lisez cet article pour savoir comment spécifier les entités caractère manquantes afin de remplacer des caractères spéciaux XSLT sous Dreamweaver.

Remarque :

L’interface utilisateur a été simplifiée sous Dreamweaver CC et versions ultérieures. Par conséquent, il se peut que vous ne trouviez pas certaines options décrites dans cet article sous Dreamweaver CC et versions ultérieures. Pour plus d’informations, consultez cet article.

Spécification d’une entité de caractère manquant

Dans le langage XSLT, certains caractères ne sont pas pris en charge dans certains contextes. Il est par exemple impossible d’utiliser le signe inférieur à (<) et l’esperluette (&) dans du texte placé entre des balises ou dans une valeur d’attribut. Le moteur de transformation XSLT renvoie une erreur si ces caractères sont utilisés incorrectement. Pour résoudre ce problème, vous pouvez remplacer les caractères spéciaux par des entités de caractères.

Une entité de caractère est une chaîne de caractères représentant d’autres caractères. Les entités de caractères sont nommées ou numérotées. Une entité nommée commence par une esperluette (&) suivie du nom ou des caractères et se termine par un point-virgule (;). Par exemple, &lt; représente le chevron gauche (<). Les entités numérotées commencent et se terminent de la même façon, mais le signe dièse (#) et un nombre spécifient le caractère.

XSLT propose cinq entités prédéfinies :

Caractère

Code d’entité

< (inférieur à)

&lt;

& (esperluette)

&amp;

> (supérieur à)

&gt;

" (guillemets)

&quot;

‘ (apostrophe)

&apos;

Si vous utilisez d’autres entités de caractères dans un fichier XSL, vous devez les définir dans la section DTD du fichier XSL. Dreamweaver fournit plusieurs définitions d’entité par défaut que vous pouvez voir en haut de tout fichier XSL qui y est créé. Ces entités par défaut couvrent un grand nombre de caractères courants.

Lorsque vous affichez un aperçu de votre fichier XSL dans un navigateur, Dreamweaver vérifie la présence d’entités indéfinies dans le fichier XSL et vous avertit lorsqu’une telle entité est détectée.

Si vous affichez l’aperçu d’un fichier XML associé à un fichier XSLT ou une page côté serveur associée à une transformation XSLT, c’est le serveur ou le navigateur (en lieu et place de Dreamweaver ) qui affiche ce message d’avertissement. L’exemple suivant illustre le message qu’Internet Explorer est susceptible de renvoyer lorsque vous demandez la transformation d’un fichier XML par un fichier XLS dans lequel une entité n’est pas définie : Référence à une entité non définie ’auml’. Erreur lors du traitement de la ressource ’http://localhost/testthis/list.xsl’. Ligne 28, Position 20 <p class=’’test’’>&auml;</p> -------------------^

Pour corriger l’erreur sur votre page, vous devez y ajouter la définition d’entité manuellement.

Reference to undefined entity 'auml'. Error processing resource 'http://localhost/testthis/list.xsl'. Line 28, Position 20 
<p class=''test''>&auml;</p> 
-------------------^

Spécification d’une définition d’entité manquante

  1. Recherchez le caractère manquant dans la page de référence des entités de caractères sur le site web du W3C à l’adresse www.w3.org/TR/REC-html40/sgml/entities.html.

    Cette page web contient les 252 entités prises en charge par les langages HTML 4 et XHTML 1.0.

    Si, par exemple, l’entité de caractère Egrave (e accent grave) n’est pas définie, recherchez « Egrave » sur la page web du W3C. Vous y trouverez les informations suivantes :

    <!ENTITY Egrave CDATA "&#200;" -- latin capital letter E with grave, U+00C8 ISOlat1 -->
  2. Prenez note du nom et du code de l’entité.

    Dans notre exemple, Egrave est le nom de l’entité et &#200 est le code de l’entité.

  3. Muni de ses informations, passez en mode Code et tapez la balise d’entité suivante en haut de votre fichier XSL (après la déclaration Doctype et au sein des autres balises d’entités) :
    <!ENTITY entityname "entitycode;">

    Dans notre exemple, vous taperiez la balise d’entité suivante :<!ENTITE Egrave "&#200;">

    <!ENTITY Egrave "&#200;">
  4. Enregistrez le fichier.

    Si vous utilisez régulièrement les mêmes entités de caractères, il est préférable d’ajouter leur définition dans les fichiers XSL créés par défaut par Dreamweaver lorsque vous utilisez Fichier > Nouveau.

Ajout de définitions d’entité dans les fichiers XSL créés par défaut par Dreamweaver

  1. Localisez le fichier de configuration suivant dans le dossier d’application Dreamweaver et ouvrez-le dans un éditeur de texte :

    Configuration/DocumentTypes/MMDocumentTypeDeclarations.xml

  2. Localisez la déclaration mm_xslt_1 :
    <documenttypedeclaration id="mm_xslt_1">
  3. Tapez la ou les nouvelles balises d’entité dans la liste de balises d’entité, comme suit :
    <!ENTITY entityname "entitycode;">
  4. Enregistrez le fichier et redémarrez Dreamweaver.

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne