Bedeutung des HTML-Präfix-Attributs (Open Graph Protocol)?

Lesezeit: 5 Minuten

Benutzer-Avatar
John Sonderson

Ich bin neu in Facebook Open Graph-Protokoll. Ich habe versucht herauszufinden, was die Bedeutung von HTML ist prefix Attribut ist. Der nächste Beitrag zu Stack Overflow, den ich zu diesem Thema finden konnte, ist dieser Beitrag, der sehr hilfreich war, da er sich mit den Unterschieden zwischen den verschiedenen möglichen Syntaxen und der zu verwendenden auseinandersetzt.

Der Beitrag sagt jedoch nichts darüber aus, was dies ist prefix Attribut ist oder was es tut. AFAIK ist dies kein Standard-HTML-Attribut. konnte ich finden dieses Dokument wo das W3C meines Erachtens dieses Attribut definiert, aber keinen Sinn daraus machen konnte.

Kann mir bitte jemand erklären:

  1. Was bedeutet die prefix Attribut tun?

  2. Kann ich schreiben

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

    Anstatt von

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

    oder wäre das ein Syntaxfehler?

  3. Kann ich mehrere aufnehmen prefix Attribute für einen bestimmten HTML-Tag?

    <head prefix="a: http://www.aaa.com/ns#" prefix="b: http://www.bbb.com/ns#">

    Nach meinen HTML-Kenntnissen wäre das aber dann falsch prefix ist ein nicht standardmäßiges Attribut. Also, was ich vielleicht wissen möchte, ist, kann ich schreiben:

    <head prefix="a: http://www.aaa.com/ns# b: http://www.bbb.com/ns#">

    oder macht die Angabe mehrerer Präfixe an beliebiger Stelle im HTML-Baum aus irgendeinem Grund keinen Sinn?

  4. Wenn dies prefix -Tag nicht Teil der HTML-Spezifikation ist, wie würde die Übermittlung einer Seite, die dieses Attribut enthält, an einen Code-Validator jemals dazu führen, dass mein Code standardkonform ist?

Vielen Dank für die Beantwortung meiner Fragen.

  • Gute Frage. Ich für meinen Teil ärgere mich tatsächlich ein wenig über die Erfindung eines nicht standardmäßigen Attributs, wo es bereits eine perfekte Lösung gibt. Ich kann nicht finden irgendein Begründung.

    – Wensveen

    7. September 2015 um 10:00 Uhr

Benutzer-Avatar
Tayllan

Zuerst:

prefix ist eines der durch die definierten Attribute RDFa (Ressourcenbeschreibungs-Framework in Attributen) Verlängerung. RDFa wird verwendet, um die zu implementieren Semantisches Web in Webseiten, die in vielen Auszeichnungssprachen wie HTML und XML dargestellt werden. Anstatt eine Webseite zu haben, die dem Browser sagt, wie sie strukturiert sein soll, können Sie es jetzt auch sagen was die Seite darstelltwie eine Person, eine Produktliste usw.

Und damit Sie Daten auf Ihrer Webseite semantisch darstellen können, müssen Sie a verwenden Semantischer Wortschatz, die dem Browser genau das mitteilt: was auf Ihrer Seite dargestellt wird. Ein populärer Semantischer Wortschatz ist schema.org.

Aber manchmal kann ein einzelnes semantisches Vokabular nicht die gesamte Webseite darstellen und beschreiben. Das ist, wo die prefix Attribut kommt rein:

Was bedeutet die prefix Attribut tun?

Das prefix Mit dem Attribut können Sie eines oder mehrere angeben Semantische Vokabeln verwendet werden. Im folgenden Beispiel werden zwei Vokabulare zur Darstellung verwendet eine Person das hat ein Lieblingstier: schema.org und Vokabeln.org.

<p vocab="http://schema.org/" prefix="ov: http://open.vocab.org/terms/" resource="#manu" typeof="Person">
    My name is <span property="name">MY_NAME</span>

    and my telephone is <span property="telephone">MY_TELEPHONE</span>.

    My favorite animal is the <span property="ov:preferredAnimal">FAVORITE_ANIMAL</span>.
</p>

Kann ich schreiben <html prefix="og:http://ogp.me/ns#"> Anstatt von <html prefix="og: http://ogp.me/ns#"> oder wäre das ein Syntaxfehler?

Abgesehen davon, dass im Web keine Beispiele mit der früheren Syntax gefunden werden können, aus der Spezifikation der RDFa-Core Sie können sehen, dass mindestens ein Leerzeichen tatsächlich obligatorisch ist:

prefix
    a white space separated list of prefix-name IRI pairs of the form
    NCName ':' ' '+ xsd:anyURI

Kann ich mehrere aufnehmen prefix Attribute für einen bestimmten HTML-Tag?

Ja, du kannst. Aus der Spezifikation der prefix Attribut oben angegeben, und aus vielen Beispielen auf der Spezifikation des gegeben RDFa-CoreFolgendes ist erlaubt:

<html
    prefix="foaf: http://xmlns.com/foaf/0.1/
            dc: http://purl.org/dc/terms/"
>
    <!-- your page -->
</html>

Wenn dies prefix -Tag nicht Teil der HTML-Spezifikation ist, wie würde die Übermittlung einer Seite, die dieses Attribut enthält, an einen Code-Validator jemals dazu führen, dass mein Code standardkonform ist?

Wie von @wensveen erwähnt, HTML5 unterstützt die RDFa-Attribute von Haus aus.

  • Nur als Referenz, hier ist die offizielle Erklärung von w3.org: w3.org/TR/xhtml-rdfa-primer/#default_prefixes

    – matt

    16. September 2016 um 11:00 Uhr

  • prefix Das Attribut kann bei a auch ganz weggelassen werden gute Nummer von Vokabeln dank RDFa-Anfangskontextewodurch Ihr Code vereinfacht und der gesamte Bandbreitenverbrauch reduziert wird.

    – vhs

    25. September 2017 um 10:33 Uhr


Es scheint, dass das Präfixattribut tatsächlich in der von Ihnen verlinkten RDFa-Spezifikation definiert ist. Während Sie für XHTML-Dokumente den richtigen Medientyp angeben müssen (application/xhtml+xml) und den korrekten Doctype (<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd">) und wahrscheinlich einige weitere XML-Push-ups, dies ist für HTML5 nicht erforderlich. In HTML5 können Sie die RDFa-definierten Attribute out-of-the-box verwenden.

Sehen: HTML+RDFa 1.1-Spezifikation

Ich weiß nicht, ob diese Art der Zuordnung eines Präfixes zu einem Namespace irgendwelche besonderen Vorteile hat. Ganz klar ist es mir auch nicht.

  • Interessant – ich wusste von den SVG- und Math-Ergänzungen zu HTML5, aber ich habe noch nie von HTML+RDFa gehört. Sie können RDFa-Attribute ohne Vorankündigung hinzufügen (Doctype, MIME-Typ, Namespace-Deklaration) und trotzdem korrektes HTML5 gemäß dem W3C-Validator erzeugen. Ich habe in Entwicklerressourcen wie MDN kein Wort darüber gefunden.

    – würdig

    9. März 2016 um 14:49 Uhr

1282530cookie-checkBedeutung des HTML-Präfix-Attributs (Open Graph Protocol)?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy