Максим Россомахин ([info]rossomachin) wrote,

Микроформаты: не всё так просто?

Наткнулся на интересную статью о недостатках микроформатов: «Микроформаты в контексте их применения».
Интересна она прежде всего тем, что автор пеняет микроформатам на то, что они излишне эксплуатируют XHTML. Мол, для тех целей, ради которых разрабатывались (и разрабатываются) микроформаты, лучше подойдут новые элементы, а не элементы уже существующего и широкоприменяемого языка разметки XHTML.

Что тут сказать? Рост популярности микроформатов как раз и обусловлен тем, что эти сравнительно простые форматы данных удобны исключительно благодаря эксплуатации освоенного языка разметки. Эры XML как не было так и нет, так что внедрение микроформатов, основанных на специфичных (ранее не встречавшихся) элементах фактически трудновыполнимо.

Для наглядности давайте препарируем один из наиболее популярных микроформатов — hCard.

Этот микроформат задаёт некие правила разметки личной карточки человека.

Вот, например, моя простейшая карточка в этом формате:

<div class="vcard" id="hcard">
<dl>
<dt>name</dt>
<dd><a href="http://www.webmascon.com/" class="url fn n"><span class="given-name">Максим</span> <span class="family-name">Россомахин</span></a></dd>
<dt>email</dt>
<dd><a href="mailto:rossomachin@yandex.ru" class="email"><span class="nickname">rossomachin</span>@yandex.ru</a></dd>
</dl>
</div>


Просто, не правда ли? Всё тот же XHTML, но несущий чуть более весомый смысл, нежели ранее. И, что самое главное, эти элементы понятны современным браузерам as is. А теперь попробуйте скормить им информацию, размеченнную специальными XML элементами. Почувствуете разницу.

Принятый принцип создания микроформатов и обеспечивает их жизнеспособность, хотя и налагает определённые ограничения. Зарубежные разработчики уже используют некоторые микроформаты.

Подробней о микроформатах читайте на официальном сайте. Там же ищите список готовых спецификаций равно как и список черновых «драфтов».

За сим прощаюсь. Если тема микроформатов интересна и вам тоже — дайте знать. Не всё нам о блочной вёрстке судачить.

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

  • 27 comments

[info]harisov

July 20 2006, 06:50:58 UTC 5 years ago

Я читал о микроформатах, подумал даже своё резюме в него перевести.

[info]rossomachin

July 20 2006, 16:48:12 UTC 5 years ago

Тебе, как грамотному разработчику, сам бог велел :-)

[info]dbaranovskiy

July 22 2006, 04:44:27 UTC 5 years ago

А я вот сейчас свой блог мастерю. Хочу там hAtom и hCard использовать (ну и всякие там flickr™ API)

[info]rossomachin

July 22 2006, 06:09:51 UTC 5 years ago

В добрый путь!

Кстати, народ жалуется, что адрес твоей электронной почты трудно отыскать. Мне и самому пришлось в твой профайл масконовского форума ползти, чтобы выудить адрес. ;)

[info]rossomachin

July 22 2006, 06:08:08 UTC 5 years ago

Микроформат резюме пока лишь в виде драфта:
http://microformats.org/wiki/hresume

[info]dbaranovskiy

July 20 2006, 06:55:27 UTC 5 years ago

Могу только процитировать Тантека на этот счет (он, правда, о другой статье говорил, но смысл ее тот же самый):

The article is terrible and about 90% incorrect. Unfortunately this is
perhaps in due in some part to the IBM article which though decent overall,
has some errors itself, and takes a walk through transcoding to XML and back
which is interesting but perhaps unnecessary.

The author of the "macroformats" article misses all the reasons that XML has
failed on the Web, and all the specific design principles that have gone
into microformats that were developed by learning from XML's failure. In
fact, he continues to push several of these reasons as actual *plusses* for
XML (namespaces, invalidity, etc.)

There will continue to be plenty of folks banging there head against the
wall and trying to push "plain old xml" (POX) on the Web, and they will
likely continue to see the same amount of success as they have to date.
.....

Over time we'll debunk/refute/fisk such bad articles/posts to the point
where anyone can reference the debunkings and respond to such posts with
nothing more than a series of URLs.

I know this may seem like a waste of time (like let people learn on their
own, especially if they take the time to do such attacks as a comparison to
homeopathy, sigh), but as microformats continue to grow in prominence, we
owe it to the community, and to those who are new, to clarify misconceptions
and misunderstandings.

Thanks,

Tantek

P.S. If you're just looking for an easy response to debunk most POX efforts,
use this one:

"Accessibility. According to WCAG, when publishing on the Web you should
use semantic XHTML elements (which microformats encourage) which
accessibility tools have a chance of doing something with, not be making up
your own elements which are meaningless to screen readers etc."

The POX-crowd still have no answer to that, and it stems from the
fundamental Tower of Babel / Namespaces mess which is unfixable due to
cultural reasons.

[info]rossomachin

July 20 2006, 16:50:42 UTC 5 years ago

О! Спасибо, Дима. Мне очень понравилась идея с POX-ом.

[info]dbaranovskiy

July 24 2006, 00:34:21 UTC 5 years ago

Вот еще немного:
Письмо:
Hello,

I'm new to this list. Since I have heard about microformats last year, I have always wanted to understand why the approach has evolved to become the following "class attribute-approach":




  • Orange

  • Chicken

  • Corn





instead of the following mixed-namespace approach:





  • Orange

  • Chicken

  • Corn






Both approaches work fine in a browser (firefox at least), and both approaches could be generated from the same XML. But having an XML background I see that the second approach has the following advantages:

* I can define my microformat in a formal XML schema language (XSD,
etc.) - Is there a way to describe formally microformats?
* I can generate code from that schema
* I can filter out easily all the elements of a namespace, validate
it with my schema, and bind it to this code
* I can overload elements with multiple tags (ex.
Orange and
attributes Orange
* ... and in a nutshell, I can reuse a lot of the XML technologies
out there.

Can a microformat historian help me figure out why things came to be the way they are (attribute class) not the other way (mixed-namespace approach) ?

Thank you

Guillaume

[info]dbaranovskiy

July 24 2006, 00:35:15 UTC 5 years ago

И ответ Тантека:
1. Namespaces are actually a *huge* negative. Search for:
a. namespaces Tower of Babel
b. namespaces syntactic vinegar

2. Namespaces are actually *not* well supported in sufficient modern
browsers, nor even sufficiently with enough W3C technologies or test suites
as compared to (X)HTML + semantic class names + CSS.

3. XML elements are limited to one "name" and thus semantic, whereas the
class attribute is a space separated set of names and can thus capture
multiple semantics, providing a much more flexible semantic structure for
authors, and greatly aiding in following DRY. Note that your example had to
duplicate the "list" semantic with
    and .

    4. There are 1000s more web authors/developers that write/understand (X)HTML
    + semantic class names + CSS as compared to the number of folks that
    write/understand either plain or namespaced XML.

    5. It's the publishers that matter, not the programmers. Or to put it
    another way, programmers can solve problems once and share open source.
    Publishers have to keep solving markup/publishing problems for content and
    design numerous times continuously, and have much less chance of being able
    to share their solutions. That plus the fact that there are 1000s more web
    designers than programmers plus simple economics means the best solution is
    to optimize for ease of publishing, and let iterative open source solve the
    programming problems.


    Regarding the "advantages" you give:

    1. XML Schema / XSD usage has not been shown to provide any advantage with
    practical publishing on the Web.
    2. Code generation is the wrong pain point to optimize for.
    3. You can easily filter out the elements/properties of a microformat as
    well, and there are numerous implementations documented on the wiki which do
    so.
    4. Multiple tags are still multiple elements, not overloading elements.
    5. Most of those "XML" technologies are totally irrelevant to people who
    actually author/design/publish content.

    Thanks,

    Tantek

[info]uggallery

July 20 2006, 09:41:43 UTC 5 years ago

В дополнение к ссылкам: Шпаргалка по микроформатам.

[info]rossomachin

July 21 2006, 02:08:59 UTC 5 years ago

Спасибо!

[info]rossomachin

July 24 2006, 02:02:37 UTC 5 years ago

Надо бы и нам (русскоязычным товарищам) подтягиваться. Обдумываю свои дальнейшие действия.

[info]dbaranovskiy

July 24 2006, 02:15:47 UTC 5 years ago

Напрашивается создание microformats.ru и постепенное наполнение русскоязычным контентом. Я думаю, что Тантек не будет против, тем более, что можно его напрямую спросить.

Кстати, что вы надумали с Russian WSG? Что стоит создать митинг на котором выступят два докладчика, потом написать об этом Рассу и он прокричит об этом на весь мир. :)

[info]thebits

July 25 2006, 15:44:21 UTC 5 years ago

Извините, не понял мысль. Но куда подтягиваться?

[info]oxpaha

August 12 2006, 11:04:32 UTC 5 years ago

Я честно так и не понял для чего они нужны.
Какая сфера их применений?

[info]rossomachin

August 12 2006, 13:15:48 UTC 5 years ago

Внозят единообразие в одинаковый по структуре и сходный по наполнению код страниц различных сайтов (личная информация, резюме, календарь, теги и т.д.), что удобно для использования этой информации, скажем так, в разных средах, её импорта, экспорта, машинной обработки сторонними сайтами, поиска и т.д.

[info]oxpaha

August 12 2006, 13:47:48 UTC 5 years ago

Всё, спасибо, я понял, ты понятно объяснил. Примерно тоже самое я у себя использую, но для других целей, но схожесть меня заинтересовала. :)

[info]vilky

January 20 2007, 07:21:05 UTC 5 years ago

Нашла вашу колонку по микроформатам. Спасибо, очень полезно.

Существующие микроформаты, такие как XFN и XOXO, разрушают семантическую модель XHTML, XOXO, кроме того, выносит служебную информацию в контент, то есть он не пользуется средствами XHTML для ввода дополнительных метаданных, а рисует на html'ную табличку, в которую заносит свои данные. "Микроформатчики", говоря о семантике, злоупотребляют DIVами и SPANами, которые вообще-то в XHTML на правах затычки и которым следует предпочитать элементы логической разметки.

В то же время, есть безусловно хорошие микроформаты, такие как rel-tag, rel-license (но это тянет на "конвенцию", а не формат), хорош по целям, но имеет не очень удачную реализацию xFolk, хотелось бы видеть стандарты для поисковой выдачи и микроформат для электронных книг (в некоторых русских библиотеках для них используют xml-формат fb2 (fiction book), но микроформат был бы полезней /просмотр в браузере/, да и семантическая модель fb2 от xhtml отличается в деталях).

Иначе говоря, хороший микроформат обогащает XHTML, а плохой описывает совсем левое содержимое с его помощью.

Желаю, чтобы колонка оставалась активной.

[info]rossomachin

January 20 2007, 08:37:54 UTC 5 years ago

"Микроформатчики", говоря о семантике, злоупотребляют DIVами и SPANами, которые вообще-то в XHTML на правах затычки и которым следует предпочитать элементы логической разметки.


Всё-таки это не «затычки», а универсальные контейнеры (блочный и строковый). Спецификация XHTML в текущем состоянии содержит ограниченный по семантическим возможностям набор элементов — не для всякой специфичной части контента возможно найти однозначно соответствующий ей элемент. Микроформатчики вынуждены работать с тем, что есть. Однако в процессе обсуждения и доработки того или иного микроформата всегда помнят о том, что дивы и спаны нужно применять лишь тогда, когда исчерпаны все другие возможности языка.

Прочитал ваши пожелания в части разработки новых mf. А почему бы вам, как человеку с лингвистическим образованием, не дать ход этим разработкам?

Желаю, чтобы колонка оставалась активной.


Я не планирую забрасывать её. Очевидно, что в этом году ещё не раз будут поводы написать очередное сообщение.

[info]harisov

January 21 2007, 12:38:28 UTC 5 years ago

> микроформат для электронных книг (в некоторых русских библиотеках для них используют xml-формат fb2 (fiction book), но микроформат был бы полезней /просмотр в браузере/

С xml можно ассоциировать stylesheet (css или xsl), что позволяет просматривать его в браузере почти так же, как html документ.

http://vitaly.harisov.name/example/relnotes.xml

Opera 8- не понимает XSL stylesheet и для неё будет использоваться CSS, причём в нём можно прописать -o-link..., чтобы ссылки были кликабельные.

[info]dbaranovskiy

January 22 2007, 05:04:28 UTC 5 years ago

Ничто не мешает XML-ю в таком случае использовать µf. Никто не говорил, что они только для XHTML, хотя безусловно для него в первую очередь. Все таки страниц на XHTML значительно больше чем на XML.

[info]harisov

January 22 2007, 05:46:53 UTC 5 years ago

Не спорю. Мой коммент был к тому, что книги в fb2 можно просматривать в браузере уже здесь и сейчас.

[info]vilky

April 12 2007, 08:41:13 UTC 5 years ago

Не дошли комментарии, случайно снова наткнулась.

Думаю, вы понимаете, что "можно просматривать в браузере" не значит "нужно". FB2 не предназначен для представления гипертекста, а любое художественное произведение находится в центре метатекста - переводов, критики, комментариев и глоссариев, аллюзий и реминесценций, эпиграфов и прочих цитат. Для представления этого всего существует (X)HTML. По мне, так FB2 гораздо дольше шагать до нормального представления книг, чем XHTML, которому нужно лишь с помощью class и rel уточнить некоторые элементы (хотя лучше было бы писать на XHTML 2).
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…