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
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
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
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)
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
Perspectiva Histórica (3)
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
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
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
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
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
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◦ ...
MathXML – Exemplo
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)
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>
Exemplo de um documento XML (2)
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).
XML – Estrutura e Sintaxe
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
XML – Estrutura e Sintaxe - Elemento
XML – Estrutura e Sintaxe - Atributos
Os elementos na XML podem conter atributos, com o objectivo de adicionar (meta)informação:◦Attribute ::= attName ‘=‘ AttValue
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 - ‘’’◦ & - ‘&’◦ " - ‘”’◦ < -‘<‘◦ > -‘>’
XML – Entity References - Exemplos
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:
€ – símbolo euro em hexadecimal & – símbolo & em hexadecimal & – símbolo & em decimal
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
Documento com erros de mal formação
Documento com erros de mal formação
Top Related