Open Graph namespace declaration: HTML with XMLNS or head prefix?

Widziałem sprzeczne informacje o tym,jak najlepiej zaimplementować otwarte przestrzenie nazw. W szczególności strona Open Graph używa kilku różnych metod, a przykłady Facebook Open Graph używają innych metod.

Open Graph website example (using HTML prefix atrybut):

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

Kod źródłowy strony Open Graph (przy użyciu atrybutu HTML XMLNS):

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

Facebook Open Graph documentation (using HEAD prefix atrybut):

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

Facebook Open Graph dokumentacja # 2 (przy użyciu atrybutu xmlns HTML):

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

Jaka jest zalecana metoda, czy to w ogóle nie ma znaczenia?

Author: pnuts, 2011-11-23

4 answers

Wszystkie są równoważne i będą działać.

Użyj prefiksu, ponieważ jest to nowy zalecany sposób i ma mniej znaków.

Zaktualizuję całą dokumentację do prefiksu.

 71
Author: Paul Tarjan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-14 05:42:40

Starałem się podążać za odpowiedzią @ Pawła Tarjana na użycie prefiksu w głowie. Jednak mam problem z Internet Explorerem 8 . Tak więc w końcu nadal używam sposobu xmlns dla przestrzeni nazw fb:

<!DOCTYPE HTML>
<html xmlns:fb="http://ogp.me/ns/fb#">
  <head prefix="og: http://ogp.me/ns# object: http://ogp.me/ns/object#">
 4
Author: lulalala,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:45
<html xmlns="http://www.w3.org/1999/xhtml" prefix="og: http://ogp.me/ns# fb:
http://www.facebook.com/2008/fbml"> <head>

Jest najlepszy sposób na potwierdzenie.

 3
Author: Егор Щапов,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-01 21:39:55

Atrybut

Prefix/xmlns jest przydatny do zdefiniowania krótkiej ręki. rdf pochodzi z linii xml, więc notacja xmlns powinna działać niezależnie od szczegółów doctype. RDFa rozszerza html z atrybutami zawierającymi prefiks podany przez http://www.w3.org/TR/rdfa-in-html/#extensions-to-the-html5-syntax Wymaga to jednak przestrzegania http://dev.w3.org/html5/rdfa/rdfa-module.html Ponadto, wsparcie narzędzia dla rel="profile", jak wspomniano w nim, jest jeszcze oczekiwane. Do tego czasu wybór jest pomiędzy używaniem starszych doctypów lub ręcznym umieszczaniem rdf: w celu walidacji lub poczekaj na walidator i takie narzędzia, aby nadrobić zaległości. Właściwym miejscem do złożenia deklaracji jest dowolny element otwierający znacznik, który jest przodkiem wszędzie tam, gdzie będzie używana notacja krótka. Specjalnie dla przypadku przedrostka og, jego predefiniowany przez kontekst początkowy rdzenia RDFa http://www.w3.org/2011/rdfa-context/rdfa-1.1.html więc pomijanie go dla nowszych doctypów jest w porządku. I specjalnie dla html5 RDFa initial context http://www.w3.org/2011/rdfa-context/html-rdfa-1.1 jest wczytywane tylko po wspomnianym wcześniej wstępnym kontekście RDFa.

 1
Author: Chawathe Vipul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-14 13:41:53