Je crée actuellement un ensemble de types de supports personnalisés pour une API reposante (p. Ex. Application / vnd.mycompany.foo + xml) et j'essaie d'identifier les avantages et les inconvénients de deux façons différentes d'exposer des liens hypermédia. < p> Si je considère d'abord ce que les autres types de médias font probablement le meilleur endroit pour démarrer est HTML. HTML me permet de créer des liens tels que: p> la chose intéressante ici est que dans certains cas, certaines balises spécifiques ayant un attribut URL, puis il y a la balise de liaison générique qu'utilisant l'attribut REL pour définir la relation. p> dans ATompub, il existe également quelques façons que les ressources sont liées ensemble p> la question que je demande est quand il a plus de sens à Utilisez un élément de liaison avec une relation, et quand il est plus logique d'ajouter un attribut à un élément existant. P> par exemple Les liaisons ATOMBUB auraient pu être effectuées p> comme le cas, par écrit cette question, la réponse semble maintenant être évidente. Les liens requis sont exposés comme des attributs et des éléments facultatifs en tant qu'éléments. Cependant, je serais très intéressé à entendre les opinions des autres sur la manière dont ils pensent que les liens devraient être représentés. P> p>
3 Réponses :
Je crois que sémantiquement vos deux exemples d'atome sont équivalents. Il y a quelques endroits dans l'Atom Spec où un lien sans relation n'est considéré comme le lien par défaut (qu'elles appelent sont "Self" ou "Source" Je ne me souviens pas). Personnellement, j'aime le deuxième exemple d'ATMBUB le meilleur, car les éléments de liaison d'une entrée atome (qui est l'objet le plus utilisé lorsqu'il s'agit d'atome en général) définit des éléments de liaison avec des relations et en utilisant le même schéma dans la catégorie, la collecte et l'espace de travail éléments signifie qu'il est plus facile d'analyser sans avoir à connaître beaucoup de conditions particulières. P>
I Goney d'ignorer le premier exemple HTML, car le HTML d'origine n'était jamais vraiment destiné à la communication de la machine dans la manière dont l'Atom est, et il (IMO) La compréhension sémanentielle HTML est plus difficile et les eaux réduites dans de nombreuses règles spécifiques pour gérer tous les Différent type d'étiquette. P>
@Gandalf: Vous mettez votre doigt sur quelque chose de vraiment important ici pour moi. En utilisant le
C'est une question intéressante. Une façon de regarder cela serait de
différencier des liens dans des liens "informationnels" qui pointent sur des ressources connexes,
que le client peut (ou peut ne pas) vouloir suivre pour obtenir plus d'informations
(comme le D'autre part, les liens "définissent" le protocole,
C'est-à-dire que "Guidez" le client à travers la séquence des changements d'état
(E.G. Publier / Edit / Supprimer dans le cas d'ATompub, ou commandez / Review / Payer dans un système d'achat) d'une ressource qui composent le protocole réel (comme
dans le Article Starbucks , les auteurs élargissent toute l'idée par
Définir un schéma (hypothétique) pour des changements d'état. Ils utilisent Bien sûr, on pourrait affirmer que les tout lien em> représente un état
changement pour le client. Mais je pense que cette distinction a du sens. P> code>). p>
code>, mais l'idée générale est la même. p>
Qu'est-ce que j'ai aimé sur XHTML 2 était que Chaque élément pourrait avoir un lien . P>
Pourquoi ne pas exploiter XLINK pour activer la même funcitonalité? De cette façon, pas besoin de choisir. P>
J'ai examiné XLINK dans le passé, mais j'ai été refusé par le fait que le consensus semble être que personne ne soit intéressé à l'utiliser. Cependant, après un deuxième regard, il apparaît que cela traite de tous mes problèmes, alors pourquoi perdre mon temps à réinventer!
Pas vraiment lié à votre question, mais vous pouvez et devez utiliser l'attribut 'rel' sur les balises d'ancrage aussi.