The reference to entity "foo" must end with the ';' delimiter

HtmlXml ParsingXhtml

Html Problem Overview


I have Google checkout sandbox generated HTML code which works fine in HTML page. When I put the same code in XHTML page, it throws the below exception:

> the reference to entity "w" must end with the ';' delimiter

It's referring the request parameter w in the URL in the below src attribute:

<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" />

How is this caused and how can I solve it?

Html Solutions


Solution 1 - Html

The ampersand & is a special character in HTML and XML. If you want to use it as a normal character, you have to encode it correctly. Write &amp; instead of &:

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

& denotes the start of an encoded entity, such as &lt; for <, or &amp; for &. In your case the parser tries to interpret &w as an entity. But entities are always terminated by an ;, thus if the ; is missing you get the error message.

Solution 2 - Html

This worked on my side, when using search iq's installation code on my Blogger blog's HTML file:

<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);
})();

Gave me error here: &engineKey, after adding & replacing the & I was able to save my HTML file.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAdnanView Question on Stackoverflow
Solution 1 - HtmlFloernView Answer on Stackoverflow
Solution 2 - HtmlcyberabelView Answer on Stackoverflow