Microformats: XOXO

As especificações em Microformats ainda é algo novo para todos. Isso não deve isentar toda a comunidade que criamos no Brasil de procurar se posicionar á frente tecnicamente, mesmo que os resultados financeiros sejam nulos. E serão, pode acreditar nisso. A realidade é que enquanto o Technorati está contratando pessoas que saibam XHTML + CSS + Microformats por alguns milhares de dólares, nenhuma empresa aqui daria trezentos reais a mais por isto. Eu vejo que neste país, o estimulo por se investir em tecnologia e conhecimento de ponta deve ter origem moral, porque se procurar origem econômica, basta comparar o valor que este país dá para a educação básica que você vai obter a resposta para o estímulo de que precisa. Por isso, se você tem a oportunidade de sair deste país, saia o mais rápido que puder. E enquanto isso não acontece, vamos aprender o que é a especificação microformat XOXO! E se você ainda não sabe o que é Microformats, recomendo ler este este artigo primeiro!

O que é XOXO?

XOXO é a abreviação de eXtensible Open XHTML Outlines e é uma dentre muitas outras especificações de Microformats. Estas especificações definem um novo tipo de documento XHTML (não se preocupe, é o XHTML que você conhece mesmo, com algumas melhorias) baseado no conceito de modularização do XHTML definido pela W3C. O propósito de um documento com trechos escritos em XOXO (XOXO não é uma linguagem, estou falando da especificação) é servir listagens amigáveis para ser processado por XML engines ao mesmo tempo em que é renderizado pelos browsers. Esta é a definição que você vai encontrar na Wikipedia Microformats.

Modularização

Praticamente em tudo que você for ler sobre Microformats, uma coisa que deve estar bem clara na sua mente é o conceito de modularidade. Pense que uma página escrita em XHTML é feita de diversas partes e de diversos trechos distintos de código. Temos links, parágrafos, listagens, tabelas (sim, por que não?), abreviações, endereços, títulos e subtítulos e por aí vai. Compare isso com várias peças de Lego encaixadas uma nas outras. Imagine que você pode arrancar ou colocar outras peças sem descaracterizar o restante ou ter que fazer tudo do zero. Isso é modularidade. Se um trecho está errado, jogue o trecho fora e coloque outro no lugar. Simples assim. Microformats te fornece várias peças diferentes que podem ser colocadas sem que você precise refazer alguma coisa do início.

A W3C dedicou toda uma documentação chamada de Modularization of XHTML (Modularização do XHTML ), que é o documento base da especificação microformat XOXO. Nesta documentação você vai encontrar vários tópicos terminados com a palavra “module”, que traduzido do inglês significa “módulo” ou “unidade”. Ou seja, são dezenas de unidades (módulos, peças) individuais que podem fazer parte de um documento XHTML, seja ele complexo ou simples. Microformats é puro Web Standards!

Me fale mais sobre XOXO

XOXO é um padrão específico para listagens escrito em XHTML seguindo os web standards, apropriado para encaixar (lembra-se o que significa modularidade?) em um (X)HTML, Atom, RSS ou qualquer documento em XML. Listagens consistem tipicamente de tópicos e subtópicos exibidos de forma hierárquica. Eu já escrevi aqui no Revolução Etc sobre os tipos de listagens que existem em XHTML e espero que você esteja por dentro disto. XOXO é para as listagens o que os americanos gostam de chamar de eXtensible (extensível), que é o que justifica o “X” na frente de XHTML e XML. Ou seja, é uma forma extensível de se escrever listagens da forma como você estava acostumado a conhecê-las.

XOXO é listagem extensível!

Veja alguns exemplso de como escrever listagens seguindo os princípios da especificação XOXO:

Exemplo 1:


<ol class='xoxo'>
	<li>
		<dl>
				<dt>Texto</dt>
				<dd>item 1</dd>
				<dt>description</dt>
			        <dd>Item principal</dd>
				<dt>url</dt>
				<dd>http://example.com/more.xoxo</dd>
				<dt>title</dt>
				<dd>title of item 1</dd>
				<dt>type</dt>
				<dd>text/xml</dd>
				<dt>rel</dt>
				<dd>help</dd>
		</dl>
	</li>
</ol>

Exemplo 2:


<ol class='xoxo'>
	<li>item 1
		<dl>
			<dt>description</dt>
			<dd>This item represents the main point
                        we're trying to make.</dd>
		</dl>
		<ol>
			<li>subpoint a</li>
			<li>subpoint b</li>
		</ol>
	</li>
</ol>

Exemplo 3:


<ol class='xoxo'>
	<li>Subjecti>
		<ol>
	        <li>subpoint a</li>
	         <li>subpoint b</li>
		</ol>
  </li>
  <li>Subject 2
		<ol compact="compact">
	     	<li>subpoint c</li>
	         <li>subpoint d</li>
		</ol>
  </li>
  <li>Subject 3
      <ol>
	        <li>subpoint e</li>
		</ol>
	</li>
</ol>

Você talvez já sabia que podia aninhar listas; talvez já até tenha feito isto e está se perguntando o que tem demais em escrever listagens assim. Para ter a resposta você precisa ler sobre Microformats e saber enriquecer seu código com meta informação, descrevendo dados em XHTML. Usando listagens aninhadas conforme as especificações XOXO (que até ganhou um Blog específico só para tratar sobre a semântica disso), você consegue uma gama maior de SIGNIFICADO para aquilo que você está escrevendo. E semântica é tudo. Como uma especificação Microformats, XOXO é uma solução para enriquecer as informações contidas em uma listagem, permitindo com que cada tópico ou item, possa ganhar uma descrição semântica maior considerando que estes itens podem estar aninhados conforme a necessidade que houver.

O uso da classe “xoxo” é opcional, como você pode conferir neste faq. A utilização disso é em blorolls, listagens complexas, mapa de sites e onde mais sua criatividade de interpretação lhe permitir chegar. Este artigo possui links o suficiente para você seguir em frente e aprender mais sobre XOXO.

Baseado em uma pesquisa que eu fiz no Google sobre o assunto – "xoxo" "microformats" – ninguém ainda dedicou um texto sobre esta especificação, então eu acho que sou o primeiro a escrever sobre isto em português. Por isso você vai ter que pesquisar no material em inglês mesmo. Sobre a aplicação disso nos blogs brasileiros, com exceção do Élcio, também não vi ninguém usando ainda. Mas não desanimem, ajudem a divulgar artigos como este texto em português e coloquem a mão na massa!

Quem já está usando Microformats?

Para você entender ainda melhor como Microformats é implementado, veja este documento chamado “Microformats Implementors and Implementations” (Microformats Implementores e Implementações ) que mostra os sites mais famosos e visitados do mundo e quais foram as implementações que fizeram de Microformats.

  • http://cirofeitosa.com.br/ Ciro Feitosa

    Achei interessante a passagem pelo estímulo de investimento de tecnologia no país, realmente algo triste de se ver.

    Mas voltando aos Microformats, a popularidade que vem tomando é muito grande. Reconheço que ainda não estou a domina-los, mas em breve, quem sabe (tempos corridos…).

    Parabéns pelo artigo Henrique. Abraço!

  • Vagner Lima

    Caramba muito bom artigo, como sempre nos trazendo ricas informações, PARABÊNS

  • Rafael Slonik

    Sim, sim e SIM. Microformats blá blá blá.

    Henrique, estou cansado de ver, ler e ouvir sobre microformats. Hoje evoluímos um pouco com a única coisa que foi significativa pra mim no post todo: o link “Microformats Implementors and Implementations” onde mostra sites que já implantaram MF, como o da Avon que tem o registro das vendedoras em hcard.

    Mas ainda assim, o que tem MF de "mais"? fora o caso de organizar a informação, mais alguma coisa realmente importante?

    Por isso que não irei aprender essa porcaria até que saia um "Google-Buscador de hcard" ou coisa do gênero.

    Acho melhor fixar as bases antes de querer construir o prédio.

  • Rafael Slonik

    Reiterando…ó, é disso que to falando:
    http://microformats.org/wiki/rel-nofollow

    Esse tipo de MF vou aprender :-)

    P.S.: Põe um script pra guardar as informações de comentário, porque é phoda digitar tudo novamente.

  • Fellipe Cicconi

    Apoio aos primeiros parágrafos.

    Listas aninhadas eu faço, aos montes. E aí? Já adotei o XOXO por isso?

    Gostei do artigo! Gosto muito do assunto microformato-like.

    Abraço!

  • http://revolucao.etc.br/ Henrique Costa Perei

    Rafael Slonik vou responder sua pergunta com outra retórica:

    O que tem demais em web standards? Pra que ficar perdendo tempo com semântica, tag certinha e blá blá blá? Não é muito mais fácil pegar o Dreaweaver e soltar um site rapidinho e fácil de administrar dentro do próprio programa? Se o resultado visual final, que é o que importa, é mesmo, pra que perder tempo estudando tudo isso?

  • washington

    retrucando o ultimo comentario:

    webstandards tornam as páginas mais leves, o que economiza em banda, e mais fáceis de construir, nem ligo se o código está bonito, não faço sites pros visitantes lerem o código.

    mas esses microformatos não tem utilidade alguma (minha opinião), só acho que algumas pessoas seguem muito a risca o que esses "gurus" da web dizem.

    ps: esta é apenas minha opinião, xingue com moderação.

  • Henrique Boaventura

    A maioria dos clientes com que se vai trabalhar realmente não se importa com o código estar bonito, mas isso também é importante.

    Para mim, o código também precisa ser bem feito e diagramado, até para uma eventual mudança corriqueira…

    No demais, quanto a microformats, tudo o que é aprendizado só acrescenta e só porque "estamos" acostumados a fazer tudo no "dreamweaver" sem se importar com o que vai ficar no code, não quer dizer que não tenha pessoas que queiram fazer diferente, um código harmonioso.

  • Micox

    Não sei se entendi mal o artigo, mas até o momento, concordo com o washington

  • http://marcogomes.com/blog/ Marco Gomes

    Microformats são só uma maneira de organizar a informação, porém, será que precisamos MESMO de tanta organização?

    É claro que quanto mais precisas as buscas, melhor, mas é realmente necessário gastar tanto tempo descrevendo informação?

    Digo isso porque tenho gastado tando tempo inserindo atributos "rel" nos links dos meus posts, fico pensando que provavelmente esses atributos nunca serão usados, só tomam meu tempo e banda do usuário e do servidor.

    Não estou condenando os microfotmats, longe de mim, até uso XFN, mas será que vale à pena?

  • Rafael Slonik

    Ó, os caras aí entenderam o que eu quis dizer. O Washignton falou bem o ponto: quando fazemos por webstandarts economizamos dinheiro com banda e tempo com desenvolvimento.

    Se continuar a aumentar a necessidade de detalhar a informação nessa velocidade estaemos desempregados em poucos anos. Quem precisa de um cara escrevendo um código se um programa pode fazer automaticamente??

    me add no msn pra trocarmos uma idéia Henrique.

    msn –

    [address rel="IM"][email protected][/address]

    :-D

  • Marco Catunda

    Para mim, Microformats não deixa de ser um padrão. Não sou designer, trabalho com programação. Na engenharia de software falamos muito sobre design patterns, que são padrões de desenvolvimento, muito similar ao Microformats.

    Mas para que usar isso?

    Se vc trabalha com coisas pequenas, não perca seu tempo… Faça de qualqer jeito, o cliente quer ver funcionar o mais rápido possível.

    Agora, se o sistema é grande e exige muita manutenção. Use sempre os padrões. Isso irá diminuir a complexidade na manutenção. Mas como? No mundo de designer eu vejo da seguinte forma: Exemplo, se nós falarmos que o pedaço da página X, onde lista os produtos, usa o microformats XOXO, e precisa receber uma nova cara, pronto, o designer já está apto a refaze-lo, sem ao menos olhar o código da página. Derrepente posso até mesmo terceirizar esse serviço sem precisar mostrar o código para ele. Ou até mesmo comprar um designer para XOXO no mercado.

  • http://www.brunodulcetti.com/blog/ Bruno Dulcetti

    Show de bola Henrique… Vamos esperar mais um pouco, daqui a pouco os mf estouram ;)

    mas eh feio esse blog sobre xoxo hein.. :D

  • Davis Zanetti Cabral

    Rapaz,

    Nesse link aqui ó: .
    Estou fazendo um uso de XOXO?

    Nossa, tou tendo uns problemas pra pegar essa especificação.

    Se puder me dar um toque eu agradeço.

  • Lourenço Rizz

    Interesante, Muito Interesante estes assuntos sobre Microformats, eu acho que este é o único blog em Português que trata desse Assunto

  • Felipe Hlibco

    Henrique,

    muito bom post sobre XOXO, já nos dá uma noção do que é e para que serve. Mas quanto as classes reais existente, é que ainda tenho dificuldades para achá-las. Achei esta tag por aí: ela é válida? As outras de "comment-ID" e "author-info" (acho que é essa), já estou mais acostumado, mas acredito ainda terem várias a serem descobertas. Abraços

  • Pingback: MarcoGomes.com» Blog Archive » Microformatos para leigos()

  • Horusjack

    Na minha opinião XOXO e MF nada mais são que aplicações dos padrões e que acabaram dando nomes para isso (aliás, XOXO é de longe o acrônimo mais ridículo que eu já vi…).

    Coisas banais que estão virando modismo justamente por serem idealizadas pelos gurus citados acima. Não vi muita coisa de diferente dos trabalhos que já fiz usando padrões, apenas os nomes das classes. Será que por isso é tão fantástico?

    O que vale mesmo está aqui: http://www.w3c.org. Escrever o código bem, dentro das recomendações acho excelente. Agora ditar como estruturar a informação, já acho demais. Desenvolva seu próprio padrão dentro de suas aplicações, e boa!

    Abraço!

  • Antonio Augusto Andr

    Discordo dos comentários ditos acima.

    Acho melhor podemos ditar um padrão comum à todos do que um padrão a apenas um local, com toda certeza.

    Com Microformats as buscas futuramente seram muito mais bem filtradas e certeiras. E além dos nossos clientes saírem satisfeitos, acharem melhor o que buscam, terem maior retorno financeiro para seus negócios, nós também iremos achar, distribuir e compartilhar informações de maneira mais simples, rápida e fácil.

    Vamos especificar diversas coisas e vamos achar com grande facilidade. Está ficando mais fácil a cada dia que passa achar algo na internet.

    O pessoal tem de perceber para que vieram estas coisas.

    Microformarts era uma idéia que já tinha muito antes de ela aparecer, só não cheguei aos ouvidos do mundo e disse isso. Apenas tinha guardado pra mim, como muitos devem ter feito. Não era egoísmo, é que achava uma idéia um tanto quanto comum para um projeto. Hoje vemos que isso pode se eXtender à todos. =D