103 votes

La référence à l'entité "foo" doit se terminer par le délimiteur " ;".

J'ai généré le code HTML de Google checkout sandbox qui fonctionne bien dans une page HTML. Lorsque je mets le même code dans une page XHTML, l'exception suivante se produit :

la référence à l'entité "w" doit se terminer par le délimiteur " ;".

Il se réfère au paramètre de la requête w dans l'URL dans l'exemple ci-dessous src attribut :

<input type="image" name="Google Checkout" alt="Fast checkout through Google"
    src="http://sandbox.google.com/checkout/buttons/checkout.gif?merchant_id=211512493599623&w=180&h=46&style=white&variant=text&loc=en_US"
    height="46" width="180" />

Comment cela se produit-il et comment puis-je le résoudre ?

241voto

Floern Points 11484

L'esperluette & est un caractère spécial en HTML et XML. Si vous voulez l'utiliser comme un caractère normal, vous devez l'encoder correctement. Écrire à &amp; au lieu de & :

src="...9623&amp;w=180&amp;h=46&amp;style=white&amp;variant=text&amp;loc=en_US"

& indique le début d'une entité codée, telle que &lt; pour < o &amp; pour & . Dans votre cas, le parseur essaie d'interpréter &w en tant qu'entité. Mais les entités sont toujours terminées par un ; Ainsi, si le ; est manquant, vous obtenez le message d'erreur.

0voto

cyberabel Points 1

Cela a fonctionné de mon côté, en utilisant le code d'installation de search iq sur le fichier HTML de mon blog Blogger :

<script type="text/javascript">
(function () {
    window.siqConfig = {
        engineKey: "6e14b3aacb2b93b658f8729adec0c030",
        forceLoadSettings: false        // change false to true if search box on your site is adding dynamically
    };
    window.siqConfig.baseUrl = "//pub.searchiq.co/";
    var script = document.createElement("SCRIPT");
    script.src = window.siqConfig.baseUrl + '/js/container/siq-container-2.js?cb=' + (Math.floor(Math.random()*999999)) + '&engineKey=' + siqConfig.engineKey;
    script.id = "siq-container";
    document.getElementsByTagName("HEAD")[0].appendChild(script);
})();

J'ai eu une erreur ici : &engineKey, après avoir ajouté & en remplaçant le & J'ai pu sauvegarder mon fichier HTML.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X