Page 1

Faculdade de Engenharia da Universidade do Porto - Licenciatura em Ciência da Informação Informação para a Internet Docente: Dr. João Isidro Araújo Vila Verde

Trabalho Prático de Informação para a Internet 2009/2010

Grupo de Trabalho: João Brogueira Janeiro de 2010


Faculdade de Engenharia da Universidade do Porto - Licenciatura em Ciência da Informação Informação para a Internet Docente: Dr. João Isidro Araújo Vila Verde

Introdução Neste trabalho pretendia-se avaliar os conhecimentos adquiridos em HTML, CSS, XML, XSD e XSL(T). O objectivo era o desenvolvimento de scripts XSL que transformassem qualquer documento XML num outro documento XML ou xHTML. Foram-me fornecidos dois XSD's o xsd1.xsd e o xsd2.xsd. Com base nestes dois XSD's deveria ser criar 3 XSL(T)'s. 1- O primeiro deveria ser capaz de transformar qualquer documento XML válido segundo o xsd1.xsd num documento XML válido segundo o xsd2.xsd . 2- O segundo XSL deveria transformar qualquer documento XML válido segundo o xsd1.xsd, numa página HTML+CSS para visualização do respectivo conteúdo . 3- O terceiro XSL deveria transformar qualquer documento XML válido segundo o xsd2.xsd, numa página HTML+CSS para visualização do respectivo conteúdo . Os XSD's estão presentes em http://paginas.fe.up.pt/~jvv/Disciplinas/2k910/II/trabalho/xsd1.xsd e em http://paginas.fe.up.pt/~jvv/Disciplinas/2k910/II/trabalho/xsd2.xsd e não devem, em circunstância alguma, ser alterados.

Metodologia de Desenvolvimento Iniciei o trabalho com uma análise e interpretação cuidadosa e minuciosa dos 2 ficheiros XSD fornecidos com o trabalho tendo em mente o que me era pedido nos 3 pontos do enunciado. Uma coisa desde logo me saltou à vista nos XSD: 1. O elemento horas não estava restrito da mesma forma que o elemento minutos pois permitia valores iguais ou superiores a 24 (e existindo um elemento parecia não fazer sentido até porque iria obrigar a um esforço adicional). Isto usando uma restrição parecida com a que está aplicada a minutos: <xs:restriction base="xs:integer"> <xs:minInclusive value="1" /> <xs:maxInclusive value="23" /> 2. Nos atributos custo_unitario, consumo e bilhete que estão definidos como type="xs:positiveInteger" para que fosse possível apresentar valores decimais (muito mais habituais do que iinteiros) deveria estar definido como type="xs:decimal" logo haveria que converter todos os resultados de cálculos em inteiros.

Grupo de Trabalho: João Brogueira Janeiro de 2010


Faculdade de Engenharia da Universidade do Porto - Licenciatura em Ciência da Informação Informação para a Internet Docente: Dr. João Isidro Araújo Vila Verde

3. Outra coisa,que me saltou à vista, é a de que o elemento espera devia, em meu entender, ser um elemento filho dos elementos cujo tipo é Tpublico já que não me parece fazer sentido noutros tipos. Mas isto é uma mera questão formal. 4. O facto de existirem discrepâncias entre as designações carro e automóvel iria obrigar a proceder à verificação de todos os valores para que fosse possível proceder à alteração. 5. A primeira ideia que saltou à vista é que o trabalho iria ser trabalhoso por força de uma série de restrições que obrigariam a ciclos de verificação. Tal foi comprovado na execução do mesmo. Estes ciclos de verificação levou a que tivesse passado todo o trabalho a testar o código implementado no sentido de ver se este cumpria ou não com os requezitos. Assim a metodologia seguida foi a de Tentativa-Errro o que permitiu successivas aprimorações quer do XML de input (que foi sendo completado segundo as exigências do código para que tudo fosse testado). Nas designações dos ficheiros de trabalho optou-se por aplicar a designação do Ponto a que correspondiam de modo a evitar nomes iguais e input quando se tratava dum ficheiro de introdução de dados e output quando um ficheiro transformado. Os códigos estão, por mim, amplamente comentados (nalguns casos com indicação do link de consulta) pelo que seria redundante estar a trancrever esses mesmos comentários para este relatório.

Ferramentas Utilizadas Utilizei preferencialmente o Notepad e o Notepad++ . Contudo e quando me deparei com códigos que requeriam a sua verificação constante passei a recorrer ao Microsoft Visual Studio 2008, ao Oxygen XML Author e ao Altova XMLSpy. Como avalidadores de conformidade usei também os indicados pelo Sr. Professor (penso que será redundante referi-los aqui de novo).

URL do Trabalho http://xml.topcadexperts.net

Grupo de Trabalho: João Brogueira Janeiro de 2010


Faculdade de Engenharia da Universidade do Porto - Licenciatura em Ciência da Informação Informação para a Internet Docente: Dr. João Isidro Araújo Vila Verde

Conclusão Apesar de considerar este o trabalho mais trabalhoso de todos os 3 que já me for am propostos parece-me ter cumprido com todos os requesitos. O Relatório está simplificado pois reafirmo todas as opções estão documentadas nos XSL que desenvolvi. Foi uma boa oportunidade para aprender.

Referências: Material apresentado nas aulas teóricas Enunciados para as aulas práticas Tutoriais na WEB Links para ii2009 Ferramentas Avaliadores de conformidade

Grupo de Trabalho: João Brogueira Janeiro de 2010

Profile for João Greno Brogueira

Relatorio  

Relatorio Trabalho

Relatorio  

Relatorio Trabalho

Profile for lcinf
Advertisement