Tutorial DB_OO3/Mogul - 1. Base de dados
Ok, então para a primeira parte, vamos definir o modelo de dados. É aqui que tudo começa. O objectivo é fazer um motor de pesquisa que seja capaz de dar acesso directo aos dados presentes nestas duas páginas:
Observando as páginas, temos duas entidades na base de dados: Elementos e Atributos. Os elementos têm um nome, uma versão de HTML e um link para a especificação. Os atributos têm a mesma coisa, mais uma ligação muitos para muitos para os elementos em que são autorizados. Dá qualquer coisa com este aspecto:

O script de criação de base de dados, para postgresql, está aqui.
A seguir, é preciso alimentar a base de dados. Fiz isso com um par de XSLTs que, qual cozinheiro na TV, tiro assim do forno:
As duas são relativamente básicas, e o objectivo deste tutorial não é explicar XSLTs (ui, dava para meio ano). Com as XSLTs e com um processador de XSLTs (eu uso o xsltproc que vem com o gnome), e com o htmltidy, alimenta-se a base de dados assim:
wget -O - http://www.w3.org/TR/REC-html40/index/elements.html 2> /dev/null | tidy -asxml 2> /dev/null | xsltproc extract_elements.xsl - | sed -e ‘1,2d’ -e ‘$d’ | psql org_htmldocs
wget -O - http://www.w3.org/TR/REC-html40/index/attributes.html 2> /dev/null | tidy -asxml 2> /dev/null | xsltproc extract_attributes.xsl - | sed -e ‘1,2d’ -e ‘$d’ | psql org_htmldocs
E pronto, já temos dados com que brincar. Sábado sai o post sobre o setup do ambiente de desenvolvimento.
You are very very professional.I dream i could do such a great job as you do.
You did it! …How did you do it?