He visto información contradictoria sobre cómo implementar mejor los espacios de nombres Open Graph. Específicamente, el sitio web de Open Graph usa algunos métodos diferentes, y los ejemplos de Facebook Open Graph usan otros métodos.
Ejemplo de sitio web Open Graph (usando el atributo de prefijo HTML):
<html prefix="og: http://ogp.me/ns#">
Código fuente del sitio web de Open Graph (usando el atributo HTML XMLNS):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
Documentación de Open Graph de Facebook (usando el atributo de prefijo HEAD):
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
Documentación de Facebook Open Graph # 2 (usando el atributo HTML XMLNS):
<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 ni siquiera importa?
facebook
facebook-opengraph
xml-namespaces
Matt Beckman
fuente
fuente
Respuestas:
Todos son equivalentes y todos funcionarán.
Utilice el prefijo, ya que es la nueva forma recomendada y tiene menos caracteres.
Obtendré toda nuestra documentación actualizada al prefijo.
fuente
xmlns
. Además, ¿seprefix
debe usarhtml
ohead
etiquetar? ¿Estaría bien de cualquier manera? ¿Cuál es recomendado?prefix
en elhead
. Funciona en ambos, pero más cerca de las etiquetas es mejor.Intenté seguir la respuesta de @Paul Tarjan de usar el prefijo en la cabeza. Sin embargo , tuve un problema con Internet Explorer 8 . Así que al final todavía uso la forma xmlns para el espacio de nombres fb:
fuente
Ni siquiera importa. RDFa Core Initial Context reconoce
og
como un prefijo de vocabulario ampliamente utilizado:Énfasis agregado para mayor claridad.
Por lo tanto, no necesita agregar un espacio de nombres a sus documentos HTML. Más información aquí .
fuente
Hay la mejor manera de validar.
fuente
El atributo prefix / xmlns es útil para definir abreviatura. rdf es de linaje xml, por lo que se debe esperar que la notación xmlns funcione independientemente de los detalles del doctype. 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, el soporte de herramientas para rel = "profile" como se menciona allí todavía está pendiente. Hasta entonces, la elección es entre usar doctypes más antiguos o colocar manualmente rdf: para fines de validación o esperar a que el validador y esas herramientas se pongan al día. El lugar correcto para hacer una declaración es cualquier etiqueta de apertura de elemento que sea ancestro de donde 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 por completo para los 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.
fuente