Parte5 xml

27
ARQUITECTURA WEB – FORMATOS - XML Aplicações e Serviços na Web Versão baseada em slides da Ana Paula Afonso [email protected] FCUL/DI/SI 2007/2008

Transcript of Parte5 xml

Page 1: Parte5 xml

ARQUITECTURA WEB – FORMATOS - XML

Aplicações e Serviços na Web

Versão baseada em slides da Ana Paula Afonso [email protected] FCUL/DI/SI 2007/2008

Page 2: Parte5 xml

SumárioArquitectura Web – Formatos

◦ Objectivos da linguagem XML◦ Documentos bem formados: sintaxe XML◦ Documentos válidos: semântica XML

DTD – Definição de Tipos do documentoEsquemas XML

◦ Extensões XMLXML espaços de nomes (namespaces)

◦ Visualização e interrogação de documentos XMLXSL e Xpath

◦ Processamento de ficheiros XMLAPIs para XML: SAX e DOM

Page 3: Parte5 xml

ReferênciasReferências

◦http://www.w3.org/XML◦http://www.w3.org/TR/REC-xml◦http://www.w3.org/TR/webarch/◦http://www.w3schools.com/xml/◦http://en.wikipedia.org/wiki/XML◦XML.com: A Technical Introduction to

XML, http://www.xml.com/pub/a/98/10/guide0.html

◦XML Primer

Page 4: Parte5 xml

Perspectiva Histórica (1)HTML 4: 1997

◦As limitações gráficas da linguagem HTML original e o número reduzido de marcas deram origem à versão HTML 4

◦A funcionalidade inovadora introduzida com a linguagem HTML4 foi as folhas de estilos (CSS - Cascading Sytles Sheets)

◦Separação da apresentação do documento do seu conteúdo (estrutura)

Page 5: Parte5 xml

Perspectiva Histórica (2)Limitações HTML

◦ Continua a disponibilizar um número limitado de marcas, não permitindo contemplar requisitos mais específicos

◦ As marcas, apesar de fornecerem indicações sobre a posição e a apresentação dos dados, não disponibilizam qualquer informação sobre o seu significado (ausência de semântica)

Complexidade da SGML◦ Standard Generalized Markup Language◦ Metalinguagem utilizada para definir regras que

especifiquem a estrutura e o conteúdo de diferentes tipos de documentos electrónicos

◦ Apesar de versátil é muito complexa

Page 6: Parte5 xml

Perspectiva Histórica (3)

Page 7: Parte5 xml

Motivação

A troca de informação é, actualmente, uma tarefa crítica e com importância crescente◦ Exemplos:

Banca: transferência de fundos Aplicações B2B – Business to Business (comércio electrónico entre

empresas) Dados científicos

Química: ChemML, … Genética: BSML (Bio-Sequence Markup Language), … Matemática: MathML

O fluxo de papel entre organizações tende a ser substituído por fluxo (electrónico) de informação.

Cada área de aplicação tem as suas normas para representar a informação

O XML tornou-se a base para a geração de formatos de troca de dados

Page 8: Parte5 xml

XML - eXtensible Markup Language

Recomendação do W3C desde Fevereiro de 1998◦ XML 1.0, 2nd Edition - http://www.w3.org/TR/REC-xml

Linguagem de markup à semelhança do HTMLConcebida para intercâmbio de dados entre

diversos sistemas de informação e armazenamento de dados

Concebida para ser auto-descritivaPermite a criação de etiquetas (tags)

própriasAs etiquetas têm significadoAdiciona restrições semânticas

Page 9: Parte5 xml

XML - eXtensible Markup Language

Objectivos:◦Utilizável numa grande variedade de aplicações◦Formato universal de troca de dados entre

aplicações heterogéneas (utilizando a Internet)◦A informação pode ser armazenada em

qualquer lugar na Internet◦Dados de diversas fontes podem ser agregados

numa unidade de informação◦Cada elemento de informação tem uma

estrutura XML específica◦Cada elemento de informação tem um tipo

dependente da aplicação

Page 10: Parte5 xml

HTML vs XML

XML não é uma substituição HTMLOs objectivos são distintos:

◦HTML foi concebida para estruturar e apresentar os dados num determinado formato

◦XML foi concebida para intercâmbio de dados e armazenamento de dados

Page 11: Parte5 xml

HTML vs XML

Mais do que “um HTML melhor”:◦Formato de configuração de aplicações◦Linguagem de Especificação e

Parametrização de Componentes◦Intercâmbio de dados (transferência

entre programas desenvolvidos independentemente)

◦Representação normalizada de toda a informação e de meta-informação

Page 12: Parte5 xml

XMLDefine a sintaxe e a estrutura de uma linguagem

de MarkupÉ uma meta-linguagem, utilizada como linguagem

de especificação para outras linguagens:◦ XHTML

Recentemente, a HTML 4 foi reformulada como uma aplicação da linguagem XML

Combina o potencial expressivo da XML com o potencial de apresentação da HTML

Linguagem que permite visualizar páginas Web em browsers destinados a uma grande variedade de plataformas e dispositivos. Exemplo: PDAs e telemóveis

◦ MathML – Mathematical Markup Language◦ MusicXML – Music Markup Languague◦ WSDL – Web Services Definition Language◦ ...

Page 13: Parte5 xml

MathXML – Exemplo

Page 14: Parte5 xml

Documento XML correcto

Documento XML bem formado◦Em conformidade com a estrutura e as regras sintácticas

Documento XML válido◦Em conformidade com as regras

semânticas◦Regras definidas pelos utilizadores,

incluídas num esquema XML (XML Schema) ou no DTD (Document Type Definition)

Page 15: Parte5 xml

Exemplo de um documento XML (1)<?xml version="1.0" encoding="ISO-8859-1"?><bdbib>

<livro ISBN="_997-285-318-2"><autor>Roger Pressman</autor><título>Software Engineering</título><editora><nome>McGraw-Hill</nome><sede>Lisboa</sede></editora><ano>2005</ano></livro><livro ISBN="_997-722-193-9"><!-- comentário --><autor>Roger Pressman</autor><autor>David Lowe</autor><título>Web Engineering</título><editora><nome>MacGraw-Hill</nome><sede>Lisboa</sede></editora><ano>2007</ano></livro><artigo classificação= "DB" referencia="_997-722-193-9"><autor>Ana Afonso</autor><título>Visualization on DB Information</título><ano>2008</ano></artigo>

</bdbib>

Page 16: Parte5 xml

Exemplo de um documento XML (2)

Page 17: Parte5 xml

Documento XML Bem Formado: Estrutura e Sintaxe

Documento XML bem formado◦Um documento que cumpra a

estrutura e a sintaxe é designado por documento XML bem formado (well-formed).

Page 18: Parte5 xml

XML – Estrutura e Sintaxe

Page 19: Parte5 xml

XML – Estrutura e Sintaxe - Declaração

O prólogo é opcional e pode conter:◦XML declaration

Contém informação, relativa ao documento, a ser utilizada pelo parser version - versão da especificação que o documento cumpre encoding - tipo de codificação utilizado (opcional)

Exemplo: Esta especificação requer que processadores de XML suportem o tipo de codificação UTF-8 (poderá utilizar ISO-8859-1)

◦Document type declaration Indica quais as restrições a aplicar ao documento através de

uma DTD (Document Type Definition) interna e/ou externa

Page 20: Parte5 xml

XML – Estrutura e Sintaxe - Elemento

Page 21: Parte5 xml

XML – Estrutura e Sintaxe - Atributos

Os elementos na XML podem conter atributos, com o objectivo de adicionar (meta)informação:◦Attribute ::= attName ‘=‘ AttValue

Page 22: Parte5 xml

Estrutura e Sintaxe – Entity References

Uma entidade é uma unidade de texto que pode ser englobada num documento XML

A sua declaração deve ser efectuada ao nível da declaração de tipos do documento (DTD):◦ <!ENTITY entityname “texto”>

A referência é sempre da forma:◦ &entityname;

XML tem cinco entidades pré-definidas:◦ &apos - ‘’’◦ &amp - ‘&’◦ &quot - ‘”’◦ &lt -‘<‘◦ &gt -‘>’

Page 23: Parte5 xml

XML – Entity References - Exemplos

Page 24: Parte5 xml

Estrutura e Sintaxe – Numeric Character References

Os caracteres especiais podem ser representados por referência a entidades ou referências numéricas a caracteres◦Exemplos:

&#x20AC – símbolo euro em hexadecimal &#x26 – símbolo & em hexadecimal &#38 – símbolo & em decimal

Page 25: Parte5 xml

Documento XML bem formado

Um documento XML bem formado deverá estar em conformidade com as seguintes regras:◦ Elementos não vazios delimitados por uma

etiqueta de início e uma de fim◦ Elementos de conteúdo vazio são representados

por: <AmEmpty /> equivalente a <AmEmpty></AmEmpty>

◦ Os valores de um atributo são delimitados por “” ou por ‘’

◦ Podem existir etiquetas encadeadas mas não se podem sobrepor. Cada elemento que não o elemento raiz deve estar totalmente contido no elemento que o contem

◦ Documento em conformidade com o Unicode character set

Page 26: Parte5 xml

Documento com erros de mal formação

Page 27: Parte5 xml

Documento com erros de mal formação