1 / 32

Aprendendo XML por meio de um estudo de caso

Aprendendo XML por meio de um estudo de caso. Willie Dresler Leiva. São Carlos, 7 de outubro de 1999. Roteiro. Documentos WYSIWYG, HTML e XML Descrição do estudo de caso Passos para criar e apresentar documentos XML Modelo dos objetos para laboratórios de pesquisa

dmitri
Download Presentation

Aprendendo XML por meio de um estudo de caso

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aprendendo XMLpor meio de umestudo de caso Willie Dresler Leiva São Carlos, 7 de outubro de 1999

  2. Roteiro • Documentos WYSIWYG, HTML e XML • Descrição do estudo de caso • Passos para criar e apresentar documentos XML • Modelo dos objetos para laboratórios de pesquisa • Definição de tipo de documentos sobre laboratórios • Um documento XML com 2 laboratórios de pesquisa • Documento XSL para apresentar o documento XML • Modos alternativos para apresentar o documento XML • Processando XML com SAX • Processando XML com DOM • Relacionamentos entre os vários conceitos • Editores XML • Considerações finais

  3. Documento WYSIWYG versus XML XML DTD XSL

  4. HTML não permite criar novos elementos • Pouca semântica pode ser extraída de um documento, levando à dificuldade de manutenção e compreensão. A informação é representada em termos de layout • Documentos não são reutilizáveis Limitações de HTML Vantagens de XML • Criar elementos e estruturas. Ex.: <Titulo> Seminário </Titulo>, em vez de <H1>Seminário</H1> de HTML • Há documento para definição de documentos (DTD) • XML é mais legível e flexível que HTML • Os elementos não influenciam na forma como os documentos são apresentados • XML é mais simples que SGML

  5. Objetivos: criar um documento XML sobre laboratórios de pesquisa, apresentar esse documento na WWW • Sobre cada laboratório, é importante incluir suas linhas de pesquisa e os professores que nele atuam • Dados gerais sobre cada laboratório: sigla, significado da sigla, departamento, instituto, home-page, foto ou logotipo • Dados sobre as linhas de pesquisa: nome, descrição e tópicos específicos • Dados sobre os professores: nome, nível (titular, adjunto ou associado), endereços eletrônicos, páginas na WWW Estudo de caso

  6. Como implementar o estudo de caso • Criar um modelo de objetos do domínio, definindo um conjunto de classes que represente a informação armazenada nos documentos XML desse domínio (a literatura sobre XML não inclui esse passo) • Definir o tipo do documento escrevendo uma DTD • Com base na DTD, escrever o(s) documento(s) XML • Definir correspondência entre elementos XML e HTML • A partir dessa correspondência escrever o arquivo XSL • Se quiser, incluir elementos da Cascading Style Sheet

  7. Modelo de objetos, em UML

  8. Como escrever uma DTD • Uma DTD contém basicamente elementos e atributos • Exemplos de como definir um elemento: • <!ELEMENT Imagem EMPTY> • <!ELEMENT QualquerCoisa ANY> • <!ELEMENT cliente (nome, endereco, cidade)> • <!ELEMENT fruta ( laranja | banana | pera )> • <!ELEMENT pessoa (nome, endereco, telefone*)> • <!ELEMENT empresa (nome, CGC, FAX?)> • <!ELEMENT paragrafo (#PCDATA)>

  9. Como descrever atributos na DTD • Exemplos de como definir atributos de um elemento: • <!ATTLIST Telefone DDD CDATA #IMPLIED> • <!ATTLIST Fruta qualidade (Boa|Ruim|Indiferente)> • <!ATTLIST Fruta comestivel #FIXED “SIM”> • <!ATTLIST Aluno NumeroUSP ID #REQUIRED> • <!ATTLIST Chamada Aluno IDREF #REQUIRED> • <!ATTLIST Professor PAE IDREFS #IMPLIED>

  10. DTD sobre laboratórios

  11. Um documento XML de laboratórios <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE Laboratories SYSTEM "lab.dtd"> <?xml-stylesheet type="text/xsl" href="lab.xsl"?> <Laboratories> <Laboratory> <Group>LABES</Group> <Identification>Laboratório de Engenharia de Software </Identification> <Department>SCE</Department><Institute>ICMC</Institute> <Page>http://nt-labes.icmc.sc.usp.br/</Page> <Picture file="labes.jpg" text="LABES photo"/> <Research> <Line> Teste e Validação de Sistemas de Tempo Real/Reativos </Line> <Description>Estudos de estratégias de teste e validação baseados em máquinas de transição de estados como, por exemplo: máquinas de estados finitos(MEFs), statecharts e redes de Petri, integrados a um ambiente de desenvolvimento de software como o Statsim, que apóia a especificação e simulação de statecharts e MEF </Description> </Research>

  12. <Research> <Line> Estudo Teórico e Aplicação de Critérios de Teste e Validação na Produção de Software </Line> <Description> Estudo teórico e empírico, definição e comparação de critérios de teste e implementação de ferramentas de apoio às atividades de teste na produção de software. Atividades de comparação entre critérios de teste funcional, estrutural e baseados em erros também são conduzidas. Esses aspectos são explorados tanto em nível de teste de unidade como no teste de integração. Adicionalmente, dentro dessa perspectiva, a abordagem do desenvolvimento de software orientado a objeto também está sendo considerada. </Description> </Research> <Research> <Line> Modelagem de Aplicações Hipermídia </Line> <Description>Um modelo para sistemas hipertexto baseado em StateCharts foi inicialmente desenvolvido (HMBS). Ele foi estendido para aplicações multimídia, com ênfase na sincronização. Um protótipo de suporte ao HMBS foi então construído. Essa linha de pesquisa inclui também modelagem conceitual e avaliação de hiperdocumentos, bem como o suporte a aplicativos da WWW. </Description> </Research> <Research> <Line> Reengenharia de Software </Line> <Topic>Engenharia Reversa de Software</Topic> Um documento XML (continuação)

  13. <Topic>FUSION-RE</Topic> <Topic>FUSION-RE/I</Topic> <Topic>Engenharia Progressiva de Software</Topic> </Research> <Research> <Line> Qualidade de Software</Line> <Topic>Desenvolvimento de ferramentas</Topic> <Topic>Validação de técnicas para gestão de projetos de software</Topic> </Research> <Research> <Line>Workflow e Gerenciamento de Documentos </Line> </Research> <Teacher level="full"> <Name>Paulo César Masiero</Name> <Email>masiero@icmc.sc.usp.br</Email> <HomePage>http://www.icmc.sc.usp.br/~masiero</HomePage> <HomePage>http://www.icmc.sc.usp.br/staff/masiero.html </HomePage> </Teacher> <Teacher level="assistant"> <Name>J. Carlos Maldonado</Name> <Email>jcmaldon@icmc.sc.usp.br</Email> <HomePage>http://www.icmc.sc.usp.br/staff/jcmaldon.html </HomePage> </Teacher> </Laboratory> .... </Laboratories> Um documento XML (final)

  14. Convertendo XML em HTML com XSL

  15. XSL (2ª parte)

  16. XSL (3ª parte)

  17. XSL (4ª parte)

  18. XSL(5ª parte)

  19. Documento XSL (última parte)

  20. DOM fornece um modelo de objetos em árvore • Um parser que implementa DOM cria na memória uma hierarquia de objetos, com base no documento XML Document Object Model

  21. SAX é muito simples, porque o parser apenas lê o documento XML e dispara alguns eventos, dependendo das tags que encontra no documento XML • A aplicação que usa o parser SAX precisa criar: • um modelo de objetos personalizado para armazenar toda a informação própria de seus documentos XML • um interpretador dos eventos, gerados pelo parser SAX, que crie objetos conforme o modelo acima Simple API for XML

  22. SAX pode ser rápido se o modelo de objetos for simples. Neste caso, é mais rápido que DOM porque dispensa a criação de um modelo de objetos na forma de árvore. • Para criar um sistema de gerenciamento de informações sobre documentos, ou para lidar com dados que são melhor descritos como uma árvore, DOM é uma solução natural. • Para trabalhar principalmente com dados estruturados, ou gerados pelo computador, SAX pode ser mais conveniente. Comparando DOM e SAX

  23. Baseado em árvore API DOM start table start element: tbody start element: tr start element: td characters: Shady Grove end element: td start element: td caracteres: Aeolian end element: td end element: tr API SAX Baseado em evento Exemplos de SAX e DOM <TABLE> <TBODY> <TR> <TD>Shady Grove</TD> <TD>Aeolian</TD> </TR> <TR> <TD>Over the River, Charlie</TD> <TD>Dorian</TD> </TR> </TBODY> </TABLE> Documento HTML

  24. Processando XML com SAX

  25. XML e SAX (continuação)

  26. XML e SAX (final)

  27. Processando XML com DOM

  28. XML Notepad

  29. XML Editing Environment, Naturally in Java

  30. Considerações Finais • Grande vantagem do XML sobre o HTML: separação entre conteúdo e apresentação • Não existe uma especificação final do XSL • XML é simples, XSL nem tanto! • Nenhum browser hoje implementa XLL • Tendência dos principais fabricantes adotarem estas tecnologias

  31. Bibliografia • Estudo de caso: http://www.icmc.sc.usp.br/~wdl/xml • “XML for the absolute beginner” • XSL Developer’s Guide • “SAX: the Simple API for XML” • Tutorial sobre SAX • “Should I use SAX or DOM?” • M.G. Pimentel, C.A. Teixeira e C.C. Pinto. "Hiperdocumentos Estruturados na WWW: Teoria e Prática". Anais do XIX Congresso da SBC, JAI, pp. 367-424.

More Related