2011-12-01 4 views
20

El validador HTML 5 está fallando en mi código a pesar de que sigo la documentación de Facebook al pie de la letra. Hay una variedad de problemas, pero empecemos con un ejemplo para comenzar.Fallo del validador HTML5 en Facebook OpenGraph Espacio de nombres XML xmlns: og

que sigo la Facebook "Getting Started" documentation y el uso de th5is código:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:og="http://ogp.me/ns#" 
    xmlns:fb="http://www.facebook.com/2008/fbml"> 

La única diferencia es que yo le preceden con <!DOCTYPE html> para HTML5. Cuando se ejecuta a través de la W3C HTML5 validator consigo este error:

Attribute xmlns:og not allowed here 

Las únicas cosas que puedo pensar de lo que el error son:

  1. documentación de Facebook es malo
  2. supone que tengo que añadir un poco tipo de espacio de nombres a la declaración <!DOCTYPE html>.

Sin embargo, en cualquier caso, no sé cuál es la solución. Me encantaría algo de ayuda!

+0

mejor, pregunta duplicada, con respuesta utilizable: http://stackoverflow.com/questions/6501189/opengraph-validation-for-html5 – artlung

+0

duplicado también aquí: https://stackoverflow.com/questions/23339725/w3c- validator-shows-error-for-facebook-open-graph – r3x

Respuesta

17

La documentación de fb no es incorrecta, pero su enfoque para abrir la web sí lo es. esos son valores de atributos propietarios de fb, por lo que no se van a validar nunca, a menos que w3c los convierta en estándares. eso puede sonar sombrío, pero siempre que esos sean sus únicos errores de validación, no se preocupe. la validación es una herramienta increíble, pero recuerde, es solo una herramienta.

+0

Gracias por esta información. Ayuda! – TMC

+6

No es recomendable, pero si necesita un documento válido (x) html. Necesita este Doctype ' 'pero ya no es HTML 5 ... por lo tanto, no hay una solución real, ¡lo siento! –

+0

buena captura! No estaba al tanto de esa DTD. – albert

0

Así que me he encontrado con una versión de este mismo error, parece que 3 años después. Tratando de validar mi sitio usando HTML5 y aunque es experimental, todo lo valida excepto estos atributos xmlns.

por ejemplo ..

Error Line 2, Column 105: Attribute xmlns:fb not allowed here. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" > 
Warning Line 2, Column 105: Attribute with the local name xmlns:fb is not serializable as XML 1.0. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" > 
Error Line 2, Column 105: Attribute xmlns:addthis not allowed here. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" > 
Warning Line 2, Column 105: Attribute with the local name xmlns:addthis is not serializable as XML 1.0. …b="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" > 

Línea 2 de mi código es el siguiente:

2.<html lang="en-US" xmlns:fb="http://ogp.me/ns/fb#" xmlns:addthis="http://www.addthis.com/help/api-spec" > 

haber investigado este error, que refleja su error, parece que incluso 3 años más tarde, no es una solución viable para esto. Sin embargo, parece que los complementos que siguen esta técnica lo están haciendo cuando hay un código HTML5 correcto disponible. Por lo tanto, asegúrese de seleccionar el código correcto si al hacerlo el complemento en su sitio, como el siguiente enlace de facebook:

HTML5 Facebook Info

que debe tener cuidado de sus errores en lo más mínimo, para aquellos de nosotros tratando de utilizar un complemento para gestionar varios "me gusta", "compartidos" y "más", lo mejor sería simplemente hacer cada instancia por sí mismo.

Cuestiones relacionadas