1. ARQUITECTURA WEB –
FORMATOS - XML
Aplicações e Serviços na Web
Versão baseada em slides da Ana Paula Afonso
apa@di.fc.ul.pt FCUL/DI/SI 2007/2008
2. Sumário
Arquitectura Web – Formatos
◦ Objectivos da linguagem XML
◦ Documentos bem formados: sintaxe XML
◦ Documentos válidos: semântica XML
DTD – Definição de Tipos do documento
Esquemas XML
◦ Extensões XML
XML espaços de nomes (namespaces)
◦ Visualização e interrogação de documentos XML
XSL e Xpath
◦ Processamento de ficheiros XML
APIs para XML: SAX e DOM
3. Referências
Referê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
4. 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)
5. 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
7. 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
8. 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 HTML
Concebida para intercâmbio de dados entre
diversos sistemas de informação e
armazenamento de dados
Concebida para ser auto-descritiva
Permite a criação de etiquetas (tags)
próprias
As etiquetas têm significado
Adiciona restrições semânticas
9. 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
10. HTML vs XML
XML não é uma substituição HTML
Os 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
11. 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
12. XML
Define 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
◦ ...
14. 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)
17. 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).
19. 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
21. XML – Estrutura e Sintaxe - Atributos
Os elementos na XML podem conter
atributos, com o objectivo de adicionar
(meta)informação:
◦ Attribute ::= attName ‘=‘ AttValue
22. 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 - ‘’’
◦ & - ‘&’
◦ " - ‘”’
◦ < -‘<‘
◦ > -‘>’
24. 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
25. 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