Ссылка на сущность "foo" должна заканчиваться символом ';'ограничитель - PullRequest
82 голосов
/ 26 июня 2011

У меня есть HTML-код Google Checkout sandbox, который отлично работает на HTML-странице. Когда я помещаю тот же код на страницу XHTML, он выдает следующее исключение:

ссылка на сущность "w" должна заканчиваться символом ";" Разделитель

Он ссылается на параметр запроса w в URL-адресе в атрибуте src ниже:

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

Как это вызвано и как я могу это решить?

1 Ответ

185 голосов
/ 26 июня 2011

Амперсанд & - это специальный символ в HTML и XML. Если вы хотите использовать его как обычный символ, вы должны правильно его кодировать. Напишите &amp; вместо &:

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

& обозначает начало закодированного объекта, например &lt; для < или &amp; для &. В вашем случае парсер пытается интерпретировать &w как сущность. Но сущности всегда завершаются ;, поэтому, если ; отсутствует, вы получите сообщение об ошибке.

...