9
votes

Support HTML5 et RDFA

Je suis sur le point d'introduire le protocole de graphique ouvert à une application Web HTML5 existante et j'aimerais inclure les données RDFA nécessaires sans introduire de crud inutile.

J'ai regardé le html+rdfa 1.1 le projet et en comparant avec Documentation de protocole d'open graphique de Facebook , je dois juste définir l'attribut lang code> sur l'élément html code> et c'est HTML5 prêt: p>

<html lang="en">
<head xmlns:og="http://opengraphprotocol.org/schema/">
    <title>The Rock (1996)</title>
    <meta property="og:title" content="The Rock"/>
    <meta property="og:type" content="movie"/>
    ...


9 commentaires

RDFA est une spécification distincte de HTML5 tout à fait, la prise en charge de HTML5 n'existera pas. Je ne dis pas que vous ne pouvez pas le faire fonctionner, car il est XML et HTML5 peut gérer XML envoyé sous forme de RDF.


C'est là que le Web me fait tout confondu. Je vais extraire le sous-titre du brouillon HTML + RDFA 1.1: "Prise en charge de RDFA dans HTML4 et HTML5". Regardez ceci, s'il vous plaît!


@ROB: La spécification HTML + RDFA n'est-elle pas connectée à une spécification distincte de HTML5 et de RDFA? Décrire comment utiliser RDFA dans HTML5? De ma lecture de la spécification HTML + RDFA, il souhaite définir comment vous utilisez RDFA dans HTML, même lorsque vous ne servez pas votre HTML comme XML, bien qu'ils ne soient pas sûrs si cela fonctionnerait comme cela dépend de ce que cela dépend de ce que cela dépend de ce que cela dépend de ce que cela dépend de ce que cela dépend de ce que Spec décide des attributs de ppétage des noms.


@ROB: Je suis assez mal informé de ce sujet, alors s'il vous plaît dites-moi si je suis un idiot ralentissement.


@Paul - Comme je le comprends, les XMLNS: * Les attributs de la série de Text / HTML sont destinés à définir des curies, et non des espaces de noms XML, comme cela ne dépend pas de la prise en charge de l'espace de noms XML dans des analyseurs texte / HTML.


@Kron - Vous pourriez être intéressé par cet article ( lis.w3 .org / Archives / Public / Public-HTML / 2010Nov / 0221.html ) Et les pages qu'il relie, à propos du support Drupal 7 a pour RDFA.


@ALOHCI: À droite, cela a du sens. (Curie Spec: w3.org/tr/curie )


@ALOHCI: J'ai donné le brouillon d'un regard plus étroit. Vous avez raison (section 3.5, 4.3)! Différents algorithmes existent pour les API de DOM ou XML afin d'extrapoler correctement les données RDFA. Bien que la question reste toujours: comment le projet est-il actuellement soutenu?


@kron. Dans les navigateurs, ils seraient traités comme n'importe quel autre attribut non reconnu. Il n'y a rien pour les navigateurs à faire avec ces données. Dans les processeurs essayant d'extraire des données sémantiques du RDFA, je suppose que le soutien est probablement rudamentary au mieux en ce moment, mais je n'ai aucune connaissance spécifique dans ce domaine.


5 Réponses :


6
votes

HTML5 et HTML + RDFA 1.1 sont toujours en développement, cela implique que tout ce que nous disons peut maintenant être susceptible de changer. Il y a deux côtés de vos questions:

  • est-il valide?
  • créera-t-il des problèmes d'interopérabilité?

    Pour la validité, vous pouvez vérifier à pas régulier l'état de la mise en œuvre des spécifications dans le Validator W3C . Il a un validateur HTML5 expérimental intégré à celui-ci.

    Les espaces de noms dans HTML5 sont toujours à peu près dans le débat. Ils créent des problèmes menant à un DOM différent de ce qui est vraiment destiné, ce qui conduit à ma deuxième question: problèmes d'interopérabilité. Vous pouvez tester comment le balisage est traité avec un Live Dom Viewer ou utiliser quelque chose comme Opera Dragonfly pour explorer la représentation DOM du document dans le navigateur.

    Si vous souhaitez explorer le sujet de HTML5 DOM et RDFA un peu plus, vous voudrez peut-être lire Jenni's Blog Post .

    Votre balisage jusqu'à présent n'est pas vraiment un problème, mais si vous impliquez JavaScript, vous devrez faire attention aux espaces de noms et aux valeurs des colonnes.


0 commentaires

16
votes

Le validateur W3C gémit sur chaque xxx pré>

exigeant que la propriété doit être p> xxx pré>

à la place, non? Si Facebook est, ce que vous vous souciez surtout, je suis heureux de le dire, il tolère la dernière forme, alors allez-y: p> xxx pré>

Lorsque vous testez avec FB: Méfiez-vous strong>, que FB Caches Pages analyses (globalement, côté Facebook, la recharge papier ne vous aidera pas) alors assurez-vous d'ajouter un chemin d'accès «unique» (mais inutile) ou d'obtenir un paramètre à l'URL à chaque fois que vous Changez quelque chose pour tester Facebook-poste de celui-ci: P>

mysite.com/test.php/bogusParam1
mysite.com/test.php/bogusParam2
mysite.com/test.php/bogusParam3
...
mysite.com/test.php?foo=hello
mysite.com/test.php?foo=howdy
mysite.com/test.php?foo=aloha


4 commentaires

J'aime celui-ci. Il semble y avoir très peu de messages qui pointent sur cette affaire.


La version actuelle du Validator W3C se plaint de ce que la valeur de l'attribut NAME n'est pas valide. Donc, cette solution semble contrarier à la fois W3C et FB. Je suppose que l'on devrait utiliser propriété après tout.


Un avertissement à l'OP, ceci est invalide selon la spécification OpenGraph et elle ne sera pas reconnue par Google+, à moins que vous n'utilisiez la propriété.


Serait bien d'avoir un lien avec les spécifications Source / W3C et les spécifications OpenGraph.



2
votes

Ce projet de 2009 semble essayer de construire un schéma qui valide pour les deux.

http://dev.w3.org/html5/rdfa/rdfa- module.html


0 commentaires

1
votes

C'est la bonne façon de le faire dans HTML5:

    <meta property="http://ogp.me/ns#locale" content="en_US" />
<meta property="http://ogp.me/ns#site_name" content="xxxxxx" />
<meta property="http://ogp.me/ns#type" content="website" />
<meta property="http://ogp.me/ns#title" content="xxxxxxxxxxxx" />
<meta property="http://ogp.me/ns#description" content="xxxxxxxxxxxxxxxx" />
<meta property="http://ogp.me/ns/fb#app_id" content="xxxxxxxxxxxxxxxx" />   


2 commentaires

Pourriez-vous fournir une source pour cela?


@ Joar Preuve est ici dans la dernière PRIMER RDFA 1.1 . Vérifiez également le dernier validateur pour HTML5 et assurez-vous de sélectionner le préréglage pour RDFA 1.1



1
votes

Maintenant, un jour, le validateur HTML5 et Facebook prennent toutes deux en charge HTML + RDFA 1.1, afin que vous puissiez simplement utiliser la propriété au lieu du nom maintenant. Vous n'avez pas non plus à vous désordre avec des déclarations XMLNS dans HTML5. Le préfixe OG est défini dans la spécification (RDFA), de sorte que vous n'avez pas à le définir. Vous pouvez explicitement dire préfixe = "og: http://ogp.me/ns#" sur le HTML ou la balise head cependant.


0 commentaires