1 / 20

XML

Faculdade de Engenharia da Universidade do Porto. XML. Extensible Markup Language. Gabriel David gtd@fe.up.pt. Lígia Ribeiro lmr@fe.up.pt. Estrutura, semântica e formato. Exemplo: registo de uma música HTML <dt>Grândola <dd>música usada como sinal de acção militar <ul>

orien
Download Presentation

XML

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. Faculdade de Engenharia da Universidade do Porto XML Extensible Markup Language Gabriel David gtd@fe.up.pt Lígia Ribeiro lmr@fe.up.pt

  2. Estrutura, semântica e formato • Exemplo: registo de uma música • HTML <dt>Grândola <dd>música usada como sinal de acção militar <ul> <li>Autor: José Afonso <li>Data: 1972 <li>Editora: Valentim de Carvalho </ul> • XML <MUSICA> <TITULO>Grândola</TITULO> <OBS>música usada como sinal de acção militar</OBS> <AUTOR>José Afonso</AUTOR> <DATA>1972</DATA> <EDITORA>Valentim de Carvalho</EDITORA> </MUSICA>

  3. Comparação • HTML: • <TD> – estrutura • <STRONG> - semântica • <B> - formato • O <dt> é mesmo uma definição ou só uma maneira de indentar texto? • XML: mais semântica, também estrutura, sem formato • Facilita a leitura e a interpretação relativamente à realidade • Suporta a pesquisa • Flexível • Necessita indicações de apresentação

  4. Metalinguagem • SGML • Standard Generalized Markup Language (1986, ISO 8879) • Charles Goldfarb, Ed Mosher, Ray Lorie (1969, IBM) • Anotação de documentos para facilitar o seu processamento • Define os mecanismos básicos para as linguagens concretas • HTML • Hypertext Markup Language (1993) • Tim Berners-Lee (criou a Web) • Linguagem SGML concreta para facilitar a apresentação de documentos na Internet • XML • eXtensible Markup Language (1996) • Jon Bosak para W3C (WWW Consortium) • conjunto de regras que os documentos devem seguir (simplificação do SGML, de processamento pesado, pelas excepções que admite)

  5. Paralelo SGML XML HTML XHTML

  6. Aplicações • Para além do XHTML • Chemical Markup Language • Mathematical Markup Language • Channel Definition Format • Open Software Description • Resource Description Framework • Scalable Vector Graphics • Music ML • ...

  7. Primeiro documento • Um documento XML <?xml version="1.0" standalone="yes" ?> <foo> Bom dia a quem chegou a horas! </foo> • <? ... ?> é uma instrução de processamento (xml) • Um atributo é um par nome=valor • Standalone=“yes” significa que não são necessários documentos auxiliares • O elemento <foo> é constituído por uma marca de início, uma marca de fim e conteúdo

  8. Ainda o primeiro documento • Variante <?xml version="1.0" standalone="yes" ?> <p> Bom dia a quem chegou a horas! </p> • Outra <?xml version="1.0" standalone="yes" ?> <saudacao> Bom dia a quem chegou a horas! </saudacao> • As marcas podem ter três tipos de significado • Estrutura, semântica e estilo • Estrutura organiza o documento (em árvore) • Semântica relaciona com o mundo • Estilo determina a apresentação • As três formas do documento são equivalentes pois têm a mesma estrutura e conteúdo • O significado está na cabeça do leitor (terceira forma é a melhor)

  9. Apresentação • Ensinando o navegador a apresentar os elementos • Definir folha de estilo (CSS) • Partilhável por vários documentos, tal como um conjunto de marcas é partilhado • Diferentes estilos permitem adequar a diferentes meios • Ficheiro saudacao.css saudacao {display : block; font-size : 24pt; font-weight : bold; } • Nova instrução de processamento liga o estilo <?xml version="1.0" standalone="yes" ?> <?xml-stylesheet type="text/css" href="saudacao.css" ?> <saudacao> Bom dia a quem chegou a horas! </saudacao>

  10. XML • Formato standard para descrever e trocar dados estruturados • Documentos são separados em 3 partes: • Estrutura — XML • Estilo — XSL (eXtensible Style Language) • Conteúdo — definido pelo utilizador • É extensível permitindo juntar novas marcas e atributos • A estrutura pode ser encaixada • Permite a inclusão de meta-informação para descrição da informação — DTD

  11. Verificação de documentos XML • Um documento XML é bem-formado sse: • <?xml version="1.0" standalone="...?> • valores de atributos entre aspas • a marcas de abertura correspondem marcas de fecho • marcas são encaixadas correctamente  o processador consegue construir uma estrutura em árvore

  12. Exemplo • Registar informação sobre turmas e alunos, com o seu nome, média e, nalguns casos, idade • Um dos alunos frequenta duas turmas <?xml version=“1.0” standalone=“yes”> <turma> <aluno> <nome>Rui Silva</nome> <media>13.6</media> <turma> <nome>João Sousa</nome> <media>11.0</media> </aluno> </turma> <aluno><nome>Ana Costa</nome> <media>17.0</media></aluno> </turma> • Erros?

  13. Correcção do exemplo <?xml version=“1.0” standalone=“yes”?> <escola> <turma> <aluno> <nome>Rui Silva</nome> <media>13.6</media> </aluno> <aluno> <nome>João Sousa</nome> <media>11.0</media> </aluno> </turma> <turma> <aluno> <nome>João Sousa</nome> <media>11.0</media> </aluno> <aluno><nome>Ana Costa</nome> <media>17.0</media></aluno> </turma> </escola> • Falta elemento raiz • Há sobreposição, não encaixada, de elementos (turma) • Falta marcar os alunos da primeira turma • Fica estrutura em árvore Nota: a disposição das marcas não é significativa, só facilita a leitura

  14. Representação em árvore escola turma turma aluno aluno aluno aluno nome média nome média nome nome média média João Sousa 11,0 Ana Costa 17,0 João Sousa Rui Silva 11,0 13,6 Nota: organização estritamente hierárquica força a repetição dos elementos inferiores comuns (aluno João Sousa) em vez de usar referências para uma única ocorrência (redundância e inconsistência); ver modelo relacional

  15. Atributos <?xml version=“1.0” standalone=“yes”?> <escola nome=“Devesas” telefone=“225437610> <turma nr=“A”> <aluno> <nome>Rui Silva</nome> <media escala=“0-20”>13.6</media> </aluno> <aluno> <nome>João Sousa</nome> <media escala=“0-20”>11.0</media> </aluno> </turma> <turma nr=“B”> <aluno> <nome>João Sousa</nome> <media escala=“0-20”>11.0</media> </aluno> <aluno><nome>Ana Costa</nome> <media escala=“0-20”>17.0</media></aluno> </turma> </escola> • informações auxiliares, metainformações, etc. podem estar em atributos • opção entre elemento ou atributo feita pelo criador do documento

  16. Segundo nível de verificação • Documentos XML bem-formados podem ser válidos se verificarem certas restrições • Definição de tipos de documentos (Document type definition - DTD) • Especifica regras para elementos, atributos, ... • Ferramentas podem auxiliar a verificar se o documento está bem formado e se é válido • XML spy (comercial) : ambiente de desenvolvimento • XML validator (livre) : linha de comando (http://www.w3.org/2000/09/webdata/xsv) • IEXMLTLS (livre) : adiciona-se aos menus do Internet Explorer • Verificação como serviço remoto nas páginas do W3C (http://www.w3.org/2000/09/webdata/xsv) • Outras ligações com interesse • O sítio do XML: http://www.w3.org/XML/ • Portal: http://home.wanadoo.nl/techlinq/xml.html

  17. Exemplo de documento XML • Bem-formado • Não validado <?xml version="1.0" standalone="yes"?> <conversation> <greeting>Hello, world!</greeting> <response>Stop the planet, I want to get off!</response> <image src="mad-planet.gif"/> </conversation> • Poderá ser validável?

  18. Aplicações de Troca de Dados • XML é formato adequado para troca de dados complexos • Domínios já identificados • push technology • EDI (Electronic Data Interchange) • meta-dados: MCF (Netscape, XML-data (MS), RDF (W3C) • Bases de dados relacionais Dep. Ext. --------------------- DEEC 2020 DEC 2030 <telephone num="2020"><dept>DEEC</dept><person>jlopes</person> <person>jpascoal</person> <person>aaguiar</person> </telephone> ... Nome Ext. ------------------------- jlopes 2020 arocha 2030 jpascoal 2020 aaguiar 2020 2020DEECjlopes, jpascoal, aaguiar 2030DECarocha

  19. Aplicações de Publicação de Doc. • XML é formato adequado para anotar documentos semi-estruturados • XML facilita a geração e gestão de meta-informação • toc, index, etc. • XML facilita a publicação em formatos diversos • CD-ROM, papel, Palms, Web Estado da Arte Introdução <book CommDate="20000508"><title>O Livro</title><chapter> <title>Introdução</title> ... <chapter> <title>Estado da Arte</title> ... O Livro 1 Introdução 2. Estado da Arte meta-informação

  20. Conclusão da introdução • XML pode codificar uma representação para • um documento ordinário • um registo estruturado (e.g. ordem de compra) • um registo de dados (e.g. o resultado de uma interrogação) • um objecto com dados e métodos • meta-dados, entidades e tipos (XMI) • meta-conteúdos acerca de um site Web (CDF) • XML é auto-contido e pode ser validado, interpretado e processado sem intervenção humana • Pode ser usado para: • formato de ligação (para transferência de dados entre cliente e servidor) • formato de troca de informação (e.g. entre a aplicação e a base de dados) • formato persistente (para guardar dados) • Alguns DTD existentes: CDF (conteúdo Web), OFX (Financial), OSD (Open Software Distribution), CML (Chemical), MML (Mathematical)

More Related