Error parsing XML : The reference to entity "version" must end with the ';' delimiter

The Hungry Eurasian picture The Hungry Eurasian · Jun 5, 2014 · Viewed 33.9k times · Source

I'm fairly new to this, so sorry if this is a simple question.

I'm trying to install the FB like box onto my website www.thehungryeurasian.com

However, when I try inserting the Javascript SDK:

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

The following error comes up:

Error parsing XML, line 884, column 64:
The reference to entity "version" must end with the ';' delimiter.

Answer

Alex P picture Alex P · Jun 5, 2014

It looks like something is interpreting your document as XML rather than HTML. XML is much stricter than HTML - one of the rules is that ampersands (&) have a special meaning. They mean "here comes an XML entity", which is a special character. For instance, you can type &quot; to insert ", or &gt; to insert > into your document.

In this case, your code is interpreting &version on line 6 as the start of one of these entities. If you update line 6 as follows:

js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&amp;version=v2.0";

Then you should find that error disappears.