Relatório do trabalho: My Site Of Bookmarks Filipa Ramalho ci05020 Faculdade de Engenharia da Universidade do Porto Licenciatura em Ciência da Informação Rua Roberto Frias, s/n, 4200-465 Porto, Portugal Dezembro de 2006
Relatório do trabalho: My Site Of Bookmarks Filipa Ramalho ci05020 (ci05020@fe.up.pt) Trabalho realizado no âmbito da disciplina de Informação para a Internet, do 1º semestre, do 2º ano, da Licenciatura em Ciência da Informação da Universidade do Porto, leccionada por Isidro Vila Verde. Faculdade de Engenharia da Universidade do Porto Licenciatura em Ciência da Informação Rua Roberto Frias, s/n, 4200-465 Porto, Portugal Dezembro de 2006 Pág.3/8
Índice 1. Introdução... 5 1.1. Enquadramento... 5 1.2. Motivação... 5 1.3. Objectivos... 5 2. Organização física dos artefactos produzidos... 6 3. Organização Lógica dos artefactos... 6 4. Opções tomadas... 8 5. Principais dificuldades e soluções encontradas... 9 6. Conclusão... 9 Pág.4/8
1. Introdução 1.1. Enquadramento Este trabalho foi realizado no âmbito da disciplina de Informação para a Internet da licenciatura de Ciência da Informação. Pretendo, com este relatório, descrever a organização física dos artefactos que produzi, a organização lógica da solução que fiz, as opções que tomei, as principais dificuldades de resolução que encontrei e as principais soluções que encontrei para as ultrapassar. 1.2. Motivação A minha principal motivação foi tentar ao máximo chegar ao que era pretendido sempre com a preocupação de perceber os ficheiros que produzia. Para ale disso penso que este trabalho e conseguir perceber XML e XSL é importante para o meu futuro porque pode vir a ser útil e, desta maneira, penso que passar a prática a teoria é a melhor forma de entender e aprender esta linguagem. 1.3. Objectivos O objectivo principal do trabalho foi desenvolver um conjunto de scripts XSL para visualizar os resultados devolvidos por um conjunto de scripts PHP desenvolvidos por outras pessoas. Estes scripts PHP em conjunto com os scripts XSL desenvolvidos neste trabalho devem permitir uma funcionalidade idêntica ao http://del.icio.us, mas com algumas limitações a nível da usabilidade e com algumas características não presentes no delicious. Pág.5/8
2. Organização física dos artefactos produzidos O trabalho esta estruturado dentro duma pasta chamada II. Nessa pasta estão 3 sub pastas: - XSD onde estão localizados todos os ficheiros XML Shema Document (XSD) necessários para o trabalho (estes ficheiros foram disponibilizados pelo docente); - XML onde estão localizados todos os ficheiros extensible Markup Language (XML) necessários para o trabalho; - XSL onde estão localizados todos os ficheiros extensible Stylesheet Language necessários para o trabalho. Na pasta XSD estão os seguintes ficheiros: comuntypes.xsd, contacts.xsd, groups.xsd,, sites.xsd, tags.xsd, usersites.xsd, basictypes.xsd, links.xsd. Já na pasta XML estão localizados os seguintes ficheiros: usersiteswithtags, usertags, mygroups, mycontacts, Índex, mysites, links, mytags, usersites. Por fim, na pasta XSL estão os seguintes ficheiros: base, usertags, mygroup, mysites, mygroups, usersiteswithtags, usersites. II XSD XML XSL Comuntypes.xsd contacts.xsd groups.xsd sites.xsd tags.xsd usersites.xsd basictypes.xsd links.xsd usersiteswitht usertags mygroups mycontacts Índex mysites links mytags usersites base usertags mygroup mysites Usersiteswithtag 3. Organização Lógica dos artefactos Todos os artefactos produzidos estão numa organização lógica iminente. Primeiramente, a cada pasta corresponde apenas os ficheiros do tipo do nome da pasta. Os vários XSD's disponibilizados pelo docente definem a estrutura dos dados que são devolvidos pelos scripts PHP. Qualquer resultado oriundo desses scripts PHP estão de acordo com a estrutura definida em. Estes scripts estão definidos no ficheiro links.xsd. Todos os ficheiros XML estão de acordo com o seu XSD respectivo Pág.6/8
(enunciado do ficheiro). Estes scripts estão definidos no ficheiro links.xsd. Por sua vez, para cada ficheiro XML há um ficheiro XSL correspondente. Na realidade, a organização lógica do trabalho começa por um ficheiro XML (sem qualquer XSD referenciado) que serve apenas de índex do site onde carrega só o ficheiro base.xsl. Dai podemos partir para quatro ficheiros XML que correspondem aos quatro dos cinco resultados possíveis do elemento Response (definido em ) que são as tags (lista de tags), os sites (lista de sites), os groups (lista de groupos de um determinado user) e os contacts (lista dos contactos de um determinado grupo). O quinto seria o error que só seria accionado caso nenhum outro funcionasse. Estes quatro ficheiros vão estar sempre disponíveis em todos os ficheiros XML pois em todos os XSL respectivos está incluído o ficheiro base.xsl, isto para permitir uma maior funcionalidade do software. No ficheiro base.xsl está também presente a ligação ao ficheiro links.xml já que todos os ficheiros produzidos vão estar disponíveis através dos scripts lá apresentados. O ficheiro de contactos está ligado ao ficheiro usertags.xml como podemos ver nos links de cada contacto que remete para as tags desse contacto. Para além dos quatro ficheiros acima referidos estão disponíveis na pasta de arquivo mais três XML, referenciados também no links.xml que são os usertags (lista de tags de um determinado user), usersites (lista de sites de um determinado user) e usersiteswithtags (lista de tags e de sites de u determinado user). Estes ficheiros têm o seu ficheiro xsl correspondente. Índex.xml Links.xml Mysites.xml Mytags.xml Mygroups.xml Mycontacs.xml Mysites.xsl Mytags.xsl Mygroups.xsl Mygroup.xsl Usertags.xml Usertags.xsl Pág.7/8
Links.xml Usertags.xml Usertags.xsl usersites.xml Usersites.xsl usersiteswithtags.xml Usersiteswithtags.xsl Mycontacs.xml Mygroup.xsl 4. Opções tomadas Em primeiro lugar para uniformizar e aumentar a funcionalidade do software criei um ficheiro base.xsl e inclui-o em todos os ficheiros XSL produzidos. Este base.xsl permite incluir mais facilmente o html em todos os xsl, incluir o ficheiro links.xml e todos os xsl também, e ao mesmo tempo disponibilizar a tabela com os 4 ficheiros xml de base. Em segundo lugar optei por substituis no links.xml os endereços dos sripts para o endereço estático do xml criado correspondente. Em terceiro lugar, fiz as ligações do ficheiro mygroups para o mycontacts utilizando já o endereço do script php que vai ser gerado com o meu xsl, Como é obvio os links dos grupos e dos contactos não estão a funcionar, mas é possível visualizar o endereço passando o ponteiro do rato por cima do link. Também atribui um espaço de nomes em todos os xsl que foi frr. Por ultimo é importante mencionar que tentei fazer de tudo para que todos os ficheiros tivessem directamente relacionados com o links.xml para que a funcionalidade Pág.8/8
dos ficheiros xsl seja fiável de maneira a que apenas será necessário mudar o endereço dos scripts para a visualização de outros ficheiros xml. 5. Principais dificuldades e soluções encontradas A minha primeira dificuldade foi no fundo perceber o objectivo do trabalho em si e perceber todos os xsd s disponibilizados e a estrutura em si do trabalho. Para isso tentei obter um estudo teórico através de vários livros sobre XML e XSL para em orientar e também ir estruturando os ficheiros de forma lógica e ordenada. Tive relativa dificuldade em entender tudo o que era pretendido a partir do links.xml e, por isso, não consegui a tempo acabar todos os ficheiros xml e respectivos xsl pedidos pelos scripts dos links.xml. Um grande entrave na realização do meu trabalho começou por ter que criar endereços para fazer, por exemplo, os links entre grupos e contactos sem os poder testar na realidade para isso apoie-me nos livros para conseguir construir um endereço seguro e fiável que indicasse o sript php e o ficheiro xml e xsl respectivo. Uma última dificuldade que não foi ultrapassada completamente foi o facto de no ficheiro base.xsl não conseguir fazer apenas um <xsl:apply-templates> para aplicar a todos os templates. A solução encontrada foi fazer um <xsl:apply-templates select="//frr:response"/> o que limita por exemplo a visualização dos sites com as tags porque desta maneira apenas é possível dar um dos elementos filhos de Response. 6. Conclusão Para concluir penso que é necessário referir que não consegui acabar todos os ficheiros xsl e xml pretendidos e principalmente reclamados pelo ficheiro links.xml. Por outro lado penso que este trabalho ajudou imenso na compreensão da linguagem de maneira q que me incentivou a ler mais sobre a mesma e pesquisar para resolver todos os objectivos porque fui passando durante a realização do trabalho. Por fim, penso que dificultou facto de fazer o trabalho sozinha, já que em grupo seria mais fácil e rápida a resolução dos problemas e a transposição dos obstáculos porque seriam duas cabeças a pensar. Pág.9/8