2011-06-26 140 views
62

Tengo Google checkout sandbox código HTML generado que funciona bien en la página HTML. Cuando pongo el mismo código en la página XHTML, que arroja el siguiente excepción:La referencia a la entidad "foo" debe terminar con ';' delimitador

la referencia a la entidad "w" debe terminar con el ';' delimitador

Se hace referencia al parámetro de la petición w en el URL en el atributo src a continuación:

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

cómo es esto provocó y cómo puedo solucionarlo?

Respuesta

145

El ampersand & es un carácter especial en HTML y XML. Si desea usarlo como un personaje normal, debe codificarlo correctamente. Escribir &amp; en lugar de &:

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

& indica el comienzo de una entidad codificada, como &lt; para <, o &amp; para &. En su caso, el analizador intenta interpretar &w como una entidad. Pero las entidades siempre terminan con un ;, por lo tanto, si falta el ;, aparece el mensaje de error.

+0

¡Simple y directo al punto! De hecho, utilicé esta respuesta para resolver un problema con la biblioteca SIMPLE xml de Android jaja ... – ryvianstyron

+0

Y acabo de usarlo para resolver un problema con la API de Google Spreadsheets =) – ggwarpig

Cuestiones relacionadas