Ответ 1
Все они эквивалентны и все будут работать.
Используйте префикс, поскольку он является новым рекомендуемым способом и меньше символов.
Я обновляю всю нашу документацию до префикса.
Я видел противоречивую информацию о том, как наилучшим образом реализовать пространства имен Open Graph. В частности, веб-сайт Open Graph использует несколько разных методов, а примеры Facebook Open Graph используют другие методы.
Пример веб-сайта Open Graph (с использованием атрибута префикса HTML):
<html prefix="og: http://ogp.me/ns#">
Исходный код веб-сайта Open Graph (с использованием атрибута XML XMLNS):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
Документация Facebook Open Graph (с использованием атрибута префикса HEAD):
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#">
Facebook Open Graph documentation # 2 (с использованием атрибута XML XMLNS):
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">
Каков рекомендуемый метод или он даже не имеет значения?
Все они эквивалентны и все будут работать.
Используйте префикс, поскольку он является новым рекомендуемым способом и меньше символов.
Я обновляю всю нашу документацию до префикса.
Я попробовал ответить @Paul Tarjan на использование префикса в голове. Однако У меня возникла проблема с Internet Explorer 8. Поэтому в конце я все еще использую путь xmlns для пространства имен fb:
<!DOCTYPE HTML>
<html xmlns:fb="http://ogp.me/ns/fb#">
<head prefix="og: http://ogp.me/ns# object: http://ogp.me/ns/object#">
<html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns# fb:
http://www.facebook.com/2008/fbml"> <head>
Существует лучший способ проверки.
prefix/xmlns полезен для определения коротких рук. rdf - от xml lineage, поэтому следует считать, что нотация xmlns не зависит от детали doctype. rdfa расширяет html с атрибутами, включая префикс, как указано http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax Однако для этого требуется придерживаться http://dev.w3.org/html5/rdfa/rdfa-module.html Кроме того, поддержка инструмента для rel= "profile", как упоминалось в нем, еще не ожидалась. До этого выбор заключается в использовании старых доктринов или вручную размещении rdf: для целей проверки или ожидания проверки и таких инструментов для догоняющего. Правильным местом для объявления является любой тег открытия элемента, который является предком везде, где будет использоваться короткая нотация. В частности, для префикса og он предопределен исходным контекстом RDFa Core http://www.w3.org/2011/rdfa-context/rdfa-1.1.html, поэтому его вообще пропускать для новых доктринов - это хорошо. И специально для html5 исходный контекст RDFa http://www.w3.org/2011/rdfa-context/html-rdfa-1.1 загружается только после начального контекста RDFa, упомянутого ранее.
Это даже не важно. Базовый начальный контекст RDFa распознает og
как широко используемый словарный префикс:
Пользователи RDFa могут использовать эти префиксы, не имея обязанности определять префиксы в коде HTML. Тот же список префиксов также был определен для JSON-LD как контекст JSON-LD в URI
http://www.w3.org/2013/json-ld-context/rdfa11
; Пользователи JSON-LD могут использовать ключ@context
с этим URI в качестве сокращения, чтобы использовать те же префиксы.
Акцент добавлен для ясности.
Поэтому вам не нужно добавлять пространство имен в ваши HTML-документы. Больше информации здесь.