tutorial open example debug checker app_id facebook opengraph xml-namespaces

facebook - example - Declaración de espacio de nombres de Open Graph: HTML con XMLNS o prefijo de cabecera?



open graph facebook html (4)

He visto información conflictiva sobre cómo implementar mejor los espacios de nombres de Open Graph. Específicamente, el sitio web Open Graph usa algunos métodos diferentes, y los ejemplos Open Graph de Facebook usan otros métodos.

Ejemplo del sitio Open Graph (usando el atributo de prefijo HTML):

<html prefix="og: http://ogp.me/ns#">

Código fuente del sitio web Open Graph (utilizando el atributo HTML XMLNS):

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

Documentación de Facebook Open Graph (usando el atributo HEAD prefix):

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">

Documentación de Facebook Open Graph n. ° 2 (utilizando el atributo XMLNS de HTML):

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

¿Cuál es el método recomendado o no importa?


El atributo prefix / xmlns es útil para definir short-hand. rdf es del linaje xml, por lo que debe esperarse que la notación xmlns funcione independientemente del detalle del tipo de documento. rdfa extiende html con atributos que incluyen el prefijo dado por http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax Sin embargo, esto requiere adherirse a http://dev.w3.org/html5/rdfa/rdfa-module.html Además, todavía se espera el soporte de la herramienta para rel = "profile" como se menciona allí. Hasta entonces, la elección es entre usar doctypes antiguos o colocar rdf manualmente: para fines de validación o esperar a que validador y esas herramientas se pongan al día. El lugar correcto para hacer la declaración es cualquier etiqueta de apertura de elemento que sea antecesor de donde sea que se use la notación abreviada. Específicamente para el caso del prefijo og, está predefinido por el contexto inicial de RDFa Core http://www.w3.org/2011/rdfa-context/rdfa-1.1.html por lo que omitirlo completamente para doctypes más nuevos está bien. Y específicamente para html5, el contexto inicial de RDFa http://www.w3.org/2011/rdfa-context/html-rdfa-1.1 se carga solo después del contexto inicial de RDFa mencionado anteriormente.


Intenté seguir la respuesta de @Paul Tarjan de usar el prefijo en la cabeza. Sin embargo , tengo un problema con Internet Explorer 8 . Así que al final sigo usando la forma xmlns para el espacio de nombres fb:

<!DOCTYPE HTML> <html xmlns:fb="http://ogp.me/ns/fb#"> <head prefix="og: http://ogp.me/ns# object: http://ogp.me/ns/object#">


Todos son equivalentes y todos funcionarán.

Use el prefijo ya que es la nueva forma recomendada y tiene menos caracteres.

Conseguiré toda nuestra documentación actualizada al prefijo.


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

Hay la mejor manera de validar.