Escolar Documentos
Profissional Documentos
Cultura Documentos
• O que é XML?
eXtensible Markup Language
• Linguagem de representação usando marcas como o HTML
Marcas não pré-definidas. Precisam de ser definidas
• XML usa DTD ou esquemas para definir os dados
• Não FAZ NADA ! (Não executa)
Linguagem XML
<nota>
<de>Elsa</de>
<para>Paula</para>
<titulo>Aniversario</titulo>
<conteudo>Não te esqueça s de comprar a prenda</conteudo>
</nota>
1
Linguagem XML
Linguagem XML
Documentos XML usam sintaxe simples e auto-descritiva
<?xml version="1.0" encoding="ISO-8859-1"?>
<nota>
<para>Paula</para>
<de>Elsa</de>
<titulo>Aniversario</titulo>
<conteudo >Não te esqueças de comprar a prenda</conteudo>
</nota>
A primeira linha é uma Declaração XML dizendo a versão e código de
caracteres.
2ªlinha é a raíz do documento
Seguem-se quatro filhos da raíz
Fim do elemento raíz
2
Linguagem XML
<root> <child> <subchild>.....</subchild> </child> </root>
1- Incorrecto
<?xml version="1.0" encoding="ISO-8859-1"?>
<nota data=25/12/2003>
<de>Elsa</de>
<para>Paula</para>
</nota>
2- Correcto
<?xml version="1.0" encoding="ISO-8859-1"?>
<nota data=“25/12/2003">
<de>Elsa</de>
<para>Paula</para>
</nota>
17/10/03 AIAD- LEIC
Eugénio Oliveira
Linguagem XML
• Comentários em XML
• Podem usar-se editores normais mas existem editores próprios para XML
• Documentos XML são extensíveis sem prejudicar aplicações anteriores:
<nota>
<de>Elsa</de>
<para>Paula</para>
<titulo>Aniversario</titulo>
<conteudo>Não te esqueça s de comprar a prenda</conteudo>
</nota>
3
Linguagem XML
Documento aumentado:
<nota>
<data>2003-12-25</data>
<de>Elsa</de>
<para>Paula</para>
<titulo>aniversá rio</titulo>
<conteúdo>Não te esqueça s de comprar a prenda</conteudo>
</nota>
Linguagem XML
RELAÇÕES:
<book>
<title>My First XML</title>
<prod id="33-657" media="paper"></prod>
<chapter>Introduction to XML
<para>What is HTML</para>
<para>What is XML</para>
</chapter>
<chapter>XML Syntax
<para>Elements must have a closing tag</para>
<para>Elements must be properly nested</para>
</chapter>
</book>
Book elemento raíz.
Title, prod, e chapter são elementos filhos de book.
Book é o elemento pai de title, prod e chapter.
Title, prod e chapter são irmãos.
Só o elemento prod tem atributos (id, media) com valores 33-657 e paper
17/10/03 AIAD- LEIC
Eugénio Oliveira
4
Linguagem XML
<img src="computer.gif">
<a href="demo.asp">
Atributos podem dar informa ção que não pertence aos dados
<file type="gif">computer.gif</file>
Linguagem XML
Os 3 documentos XML seguintes tem a mesma informação:
<nota data=“25/12/2003">
<de>Elsa</de>
<para>Paula</para>
<título>Aniversário</título>
<conteúdo>Não te esqueças da prenda</conteúdo>
</nota>
2) Usa o Elemento data:
<nota>
<data> 25/12/2003 </data>
<<de>Elsa</de>
<para>Paula</para>
<título>Aniversário</título>
<conteúdo>Não te esqueças da prenda</conteúdo>
</nota>
17/10/03 AIAD- LEIC
Eugénio Oliveira
5
Linguagem XML
<nota>
<data> <dia>25</dia> <mês>12</mês> <ano>2003</ano> </data>
<de>Elsa</de>
<para>Paula</para>
<título>Aniversário</título>
<conteúdo>Não te esqueças da prenda</conteúdo>
</nota>
Linguagem XML
Documentos XML devem ser:
• Bem Formados (sintaxe correcta)
• Válidos (de acordo com o DTD
<nota>
<data> <dia>25</dia> <mês>12</mês> <ano>2003</ano> </data>
<de>Elsa</de>
<para>Paula</para>
<título>Aniversário</título>
<conteúdo>Não te esqueças da prenda</conteúdo>
</nota>
6
Linguagem XML
DTD
Modelo do documento
Elementos permitidos
Atributos dos elementos e valores por omissão
Composição de elementos e sua sequência
Linguagem XML
USO DO DTD
7
Linguagem XML
DECLARAÇÕES NO DTD
Linguagem XML
•Declaração de elemento
<!ELEMENT motor (tipo, fabricante, composição)>
•Texto em elemento
• PCDATA Parsable Character Data
<!ELEMENT texto (#PCDATA)>
• Conteúdo misto
– PCDATA é primeira expressão
– Grupo tem de ser uma escolha
<!ELEMENT endereço (#PCDATA | nome | lugar)*>
8
Linguagem XML
•Declaração de atributos
<!ATTLIST entrada
tipo (pessoa | empresa) "pessoa"
ident ID #REQUIRED>
• Sintaxe
<!ATTLIST elem-id
att1-id att1-tipo att1-class att1-omissão
• Tipos
– CDATA, Enumerado, ID, IDREF, IDREFS, ENTITY,
ENTITIES, NOTATION, NMTOKEN, NMTOKENS
• Classes
– #IMPLIED, #REQUIRED, #FIXED
•Entidade paramétrica no DTD
• Permite identificar blocos comuns que podem ser usados
repetidamente
<!ENTITY % comum "(parag|lista|tabela)">
• Uso (no ficheiro XML)
<!ELEMENT capitulo ((%comum;)*, secção*)>
<!ELEMENT secção (%comum;)*>
17/10/03 AIAD- LEIC
Eugénio Oliveira
Linguagem XML
9
Linguagem XML
• Exemplo de DTD sobre Notícias:
<!DOCTYPE NEWSPAPER [
<!ELEMENT NEWSPAPER(ARTICLE+)>
<!ELEMENT ARTICLE(HEADLINE,BYLINE,LEAD,BODY,NOTES)>
<!ELEMENT HEADLINE(#PCDATA)>
<!ELEMENT BYLINE(#PCDATA)>
<!ELEMENT LEAD(#PCDATA)>
<!ELEMENT BODY(#PCDATA)>
<!ELEMENT NOTES(#PCDATA)>
10