Специфікація мікроданних (Microdata) - наймолодша з описуваних тут. Вона створювалася з урахуванням досвіду використання своїх попередників, і саме вона стала частиною HTML5. Основна її відмінність полягає в тому, що смислове навантаження до будь-якого HTML-елементу надається додаванням до нього спеціального набору атрибутів. Додається також спеціальний DOM API для роботи з мікродані зі сценаріїв веб-сторінки.
Ось як буде виглядати сторінка нашого програміста, розмічена за допомогою мікроданних:
Іван Паровозів ,
Більш відомий як
Г. Егвекинот, Чукотський АТ
3-тя вулиця Будівельників, будинок 25, квартира 12
У Nord Software
+7 (952) 345 67 89 parovozoff @ yandex. ru
Мої контакти в соціальних мережах:
Спочатку створимо звичайну розмітку:
Санкт-Петербург (ДК ім. Горького) пл. Сутички, д. 4.
Квитки в касах ДК
Я думаю, що принцип зрозумілий - за допомогою атрибута itemprop ми розставляємо лексеми з нашого словника, які будуть ключами. Про значення цих ключів слід розповісти детальніше.
У загальному випадку цим значенням буде текстове вміст тега (тобто для content буде вірна пара - foo '=>' content-).
- елемент - значення атрибута content;
- елемент
І нарешті, все ще спірне на момент написання статті елемент
Таким чином, будь-який парсер, що обробляє наш анонс, прочитає наступний асоціативний масив:
"Summary" => "JOE BONAMASSA. новий король
Це вже добре, але є що покращити. Значним ключа location у нас є Петербурзький ДК імені Горького, який, хоч і добре знайомий пітерським меломанам, для пошукових роботів є просто рядком тексту. Виправимо це становище речей, вставивши мікродані з іншого словника - Organization, причому зробимо це всередині батьківського елементу, позначеного зоною дії словника Event:
Мал. 28. Подія в пошуковій видачі, проіндексованого після розмітки метаданими
Тепер на всі дочірні елементи тега span поширюватиметься дія словника Organization, а після закриття тега знову почнеться область дії батьківського словника Event.
ДК ім. Горького
itemprop = "address">
пл. Сутички, д. 4.
Текст доводиться розбивати додатковими тегами, але це звичайний прийом при використанні мікроданних - така плата за їх використання.
А тепер повернемося до словника Organization. У нього входить дуже цікавий ключ:
Geo - Specifies the geographical coordinates of the location. Includes two elements: latitude and longitude.
Так, це можливість позначити геолокаційні дані організації.
Думка сама по собі хороша і перспективна, але помістити ці дані в видиму розмітку просто нікуди. Рішенням тут буде вступити в дусі HTML5, специфікація якого змушує по-новому поглянути на можливості тега :
Помістивши itemprop = "url" (наприклад) в тег , ми тут навряд чи досягнемо потрібного результату.
Стандартним виходом з такого становища буде наступна розмітка:
Ще один аспект полягає в обробці однакових елементів. Але тут все просто. Чи може, наприклад, в однієї людини (словник Person) бути кілька фото (itemprop = "photo")? А чому б, власне, і ні?
Втім, тут слід зупинитися, ідеї розмітки, я думаю, абсолютно зрозумілі. Але це ще не все.