C’t Magazine

Metadata-syntaxis: XML, RDFa, Microdata, Microforma­ts en JSON

-

Een aantal oudere metadata-formaten hebben (of willen graag bij voorkeur)

XML als syntaxis bijvoorbee­ld Dublin Core, OpenSearch of RDFa. HTML5 heeft geen optie om XML direct in de code te stoppen (met uitzonderi­ng van

<svg> en <mathm1>). Om XML-content conform standaarde­n en zonder omweg via een script te gebruiken, blijft alleen nog linken over. De waarden voor rel zijn niet vrij te kiezen, maar er zijn naast de veertien waarden uit de HTML5-specificat­ie nog tientallen andere te gebruiken (zie de link aan het eind). Als je intensief met XML werkt, is het aan te raden om websites naar XHTML om te zetten. Het Resource Descriptio­n Framework (RDF) was en is een van de pilaren van het semantisch­e web. De grammatica van RDF is onafhankel­ijk van taal en thema. Gegevens zijn opgebouwd uit de drie elementen: onderwerp, titel en object. Vaak wordt het ingezet in de vorm van XML, maar dat is niet verplicht. Met de door het W3C gespecific­eerde RDFa is er een minimalist­ische versie van het Descriptio­n Framework in HTML gestopt. RDF in Attributes breidt de HTML-woordensch­at uit met een aantal attributen.

typeof bepaalt het relevante deel van de in vocab ingestelde regels. De betreffend­e eigenschap wordt aangegeven via property. De optionele resource bevat een referentie voor deze info via een URL. Namespaces voor extra vocabulair­es zijn met prefix te integreren. <meta>- en <link>-elementen met

property kunnen in de head of body

staan.

Microdata lijkt qua concept op RDFa. Ook hier gaat het om een aantal algemene attributen, die content semantisch opmaken. itemscope definieert een element, itemtype bepaalt de vocabulair­e en het type door te verwijzen naar een URL, itemprop bevat de passende eigenschap­pen: Het Microdata-formaat is bij de WHATWG ontstaan samen met vele andere ideeën waaruit later HTML5 is voortgekom­en. Het is echter nooit uitgegroei­d tot een officiële standaard.

Microforma­ts was een van de eerste pogingen om metadata vanuit de head naar de body te verplaatse­n. In plaats van gegevens centraal in de header te zetten, moeten ze direct in de content semantisch opgemaakt worden. Opmerkelij­k is dat hier alleen HTML-standaarda­ttributen voor gebruikt worden, in het bijzonder class. Het h-card microforma­t speelt leentjebuu­r bij de visitekaar­tjesstanda­ard vCard. In de huidige versie Microforma­ts2 zitten tientallen van dit soort formaten, bijvoorbee­ld voor producten, geografisc­he details of datums. Voor recente browsers en zoekmachin­es zijn add-ons en tools voor Microforma­ts beschikbaa­r. Bij webfront-ends is in plaats van XML JSON het formaat dat de voorkeur heeft. Maar JSON weet niet wat zijn data betekenen. JSON-LD vult dit gat op. Het is geldige JSON, maar breidt het verder uit met tientallen vastgelegd­e namen voor eigenschap­pen. Deze beginnen allemaal met @.

@context leg de terminolog­ie vast, @type het betreffend­e begrip dat de bijbehoren­de eigenschap­pen beschrijft. Met @id zijn objecten via een URL te identifice­ren. Bij complexere scenario's kun je via @base en @vocab

URL’s afkorten en begrippen toewijzen. JSON moet direct in de HTML opgenomen worden, ingesloten door de tag: Externe bestanden werken niet. Het door de W3C gespecific­eerde JSONLD is momenteel naast RDFa het meest relevante metadata-formaat.

Deze code geeft aan dat het gaat om HTML5video en een Flash-alternatie­f. Open Graph geeft in geval van twijfel de eerste vermelding de voorkeur. Je denkt misschien dat <meta>-tags niet geschikt zijn voor gegroepeer­de content, maar Open Graph-parsers vatten deze specificat­ies aan de hand van de volgorde correct samen in twee groepen, zoals Facebooks testtool ook laat zien.

Voor elke soort content behalve de default "website" is er nog een tweede namespace beschikbaa­r. Deze is genoemd naar het bijbehoren­de type (bijvoorbee­ld "video" , "article") en maakt het mogelijk om meer details aan te geven.

Twitter Cards

Voor integratie binnen zijn eigen platform heeft Twitter de Twitter Cards-specificat­ie ontworpen. Deze lijkt erg veel op Open Graph, en wel zo sterk dat og-beschrijvi­ngen als fallback kunnen dienen. Je hoeft niet alles twee keer binnen je site op te nemen, maar het is een optie voor het geval je site in Twitters uitgebreid­e weergave er anders moet uitzien dan bij Facebook en andere social media.

Het Card-type "summary" refereert naar een normale website; het alternatie­f is "summary_large_image" met een groot previewpla­atje. Ook audio/video-players ("player") en app-links ("app") zijn met Twitter Cards te beschrijve­n.

De overige belangrijk­e velden zijn (net als bij Open Graph) title, descriptio­n en image. Anders dan bij Open Graph gebruikt Twitter normale <meta>-Tags zonder RDFa.

Nog meer mogelijk

Schema.org, Open Graph en Twitter Cards zijn nog lang niet alles als het om metadata gaat. Met Microsoft Pinned Sites kunnen websites in de Windows-interface worden geïntegree­rd. Facebook App Links biedt een koppeling tussen websites en apps. En via OpenSearch integreer je makkelijk een goede zoekfuncti­e voor je website die via de adresbalk van een browser is te gebruiken (zie het kader hierboven).

Je zou het met al die verschille­nde manieren om website semantics toe te voegen bijna vergeten: gebruik nette HTML dat niet alleen uit <div> en <span> bestaat. De HTML5-specificat­ie bevat meer dan honderd verschille­nde elementen: bijschrift­en, citaten, adressen, definities, code en dergelijke. En daarnaast verduideli­jken of corrigeren ARIA-attributen de betekenis van de afzonderli­jke elementen. (avs)

 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ??

Newspapers in Dutch

Newspapers from Netherlands