BibTex em XML
Como já deves saber o bibtex é uma aplicação para gerir bases de dados biliográficas que usa um formato próprio e que normalmente acompanha o LaTeX.
Nesta ficha proposmo-te que faças um pequeno protótipo tendo em atenção as especificidades do bibtex e acrescentando-lhe mais algumas que poderão ser interessantes.
O elemento principal deverá ser bibliography.
Uma entrada biliográfica (
bibitem) pode pertencer a um de vários tipos, tem um
id, e pode identificar uma categoria (
category). A seguir apresentam-se os tipos que deverás contemplar no desenho da linguagem e os respectivos campos de informação.
- article
-
- obrigatórios
- author; title; journal; year;
- opcionais
- volume; number; pages; month; note;
- book
-
- obrigatórios
- author ou editor; title; publisher; year;
- opcionais
- volume ou number; series; address; edition; month; note;
- inproceedings
-
- obrigatórios
- author; title; booktitle; year;
- opcionais
- editor; volume ou number; series; pages; address; month; organization; publisher; note;
- masterthesis
-
- obrigatórios
- author; title; school; year;
- opcionais
- type; address; month; note;
- misc
-
- obrigatórios
- nenhum
- opcionais
- author; title; howpublished; month; year; note;
- phdthesis
-
- obrigatórios
- author; title; school; year;
- opcionais
- type; address; month; note;
- proceedings
-
- obrigatórios
- title; year;
- opcionais
- editor; volume ou number; series; address; publisher; month; note; organization;
- techreport
-
- obrigatórios
- author; title; institution; year;
- opcionais
- type; number; address; month; note;
- unpublished
-
- obrigatórios
- author; title; note;
- opcionais
- month; year;
Realize então as seguintes alíneas:
(a)Especifique um Schema que defina a linguagem de anotação pretendida.
(b)Construa uma stylesheet XSL para converter a bibliografia do JCR para a linguagem agora definida.
(c)Especifique uma stylesheet XSL que gere uma página HTML com a lista de todas as entradas ordenadas cronologicamente.
(d)Muitas vezes os nomes de autores e editores repetem-se. Acrescente ao Schema a possibilidade de um autor ou editor poder
ser indicado por referência (para isto funcionar cada autor e editor terá de ter um id).
(e)Acrescente ao Schema um outro elemento principal de nome ontology que permita definir categories e subcategories. Cada bibitem deverá ter também um atributo para referenciar a categoria a que pertence. Acrescente à stylesheet a geração de um índice
por categorias.