Gunnar Bittersmann: Fehlende Elemenn in RDFa

Beitrag lesen

@@Gunnar Bittersmann

RDFa ist dafür gedacht, im Markup bereits vorhandenen Inhalten eine Bedeutung zu geben, d.h. sie semantisch auszuzeichnen.

Also eben nicht alles doppelt zu notieren (und zu pflegen!): einmal für die Ausgabe für den Nutzer und einmal für maschinelle Verarbeitung in meta-Attributen. Wenn du das wollen würdest, wäre (eingebundenes) JSON-LD das Mittel der Wahl:

JSON-LD dürfte auch Mittel der Wahl sein, wenn man eine Template-Engine verwendet. Dann kann man Dinge ja mehrfach im Markup notieren, pflegt sie aber trotzdem nur an einer Stelle.

Dann muss man sich nicht mit RDFa abmühen à la

<main typeof="Book" vocab="http://schema.org/">
  <h1 property="name">
    <span class="title">{{ title }}</span>
{% if subtitle %}
    <span hidden=""></span>
    <span class="subtitle">{{ subtitle }}</span>
{% endif %}
  </h1>
  <p property="author" typeof="Person">
    <b>Author:</b>
    <span property="name">{{ author }}</span>
  </p>
  <meta property="inLanguage" content="{{ lang }}"/>
</main>

JSON-LD mag einfacher sein:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Book",
  "@id": "{{ id }}",
  "name": "{{ title }}{% if subtitle %}  {{ subtitle }}{% endif %}",
  "author": {
    "@type:" "Person",
    "name": "{{ author }}"
  },
  "inLanguage": "{{ lang }}"
}
</script><main>
  <h1>
    <span class="title">{{ title }}</span>
{% if subtitle %}
    <span hidden=""></span>
    <span class="subtitle">{{ subtitle }}</span>
{% endif %}
  </h1>
  <p>
    <b>Author:</b>
    {{ author }}
  </p>
</main>

LLAP 🖖

--
Wenn der Faschismus wiederkommt, wird er nicht sagen: Hallo, ich bin der Faschismus! Sondern er wird sagen: Ich nehme die Wahl an.