Tecnologias XML
XML
XML Namespace
XML Schema
XSLT
XML




Extensible Markup Language
XML é uma linguagem de anotação
(markup) de documentos
Derivado do SGML (Standard Generalized
Markup Language).
XML é uma recomendação da W3C (World
Wide Web Consortium)
Standard para representar e trocar
informação estruturada
Declaração
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<pessoas>
<pessoa id="123">
<nome> António José Silva</nome>
<data-nascimento>
Elementos
<ano>1965</ano>
<mes>10</mes>
<dia>3</dia>
</data-nascimento>
<bi>4025527</bi>
Atributo
</pessoa>
<pessoa id="234">
<nome> Carlos Tavares</nome>
<data-nascimento>
<ano>1975</ano>
<mes>10</mes>
<dia>3</dia>
</data-nascimento>
<bi>8085527</bi>
</pessoa>
</pessoas>
• A informação é estruturada hierarquicamente
Root
element
pessoas
pessoa
nome
ano
...
data
-nascimento
mês
bi
dia
Estrutura XML
Declaração
XML
<?xml version="1.0" encoding="ISO-8859-1"?>

version="1.0"
define a versão do XML utilizada

encoding="ISO-8859-1"
Define o modo de codificação dos caracteres.
O valor por omissão é UTF-8

standalone="yes"
Especifica referências a outros documentos
Estrutura XML

Elementos
<ano>1965</ano>
<anotação de inicio>conteúdo<anotação de fim />




Um elemento pode conter apenas texto
Um elemento pode ser vazio – apenas atributos
Um elemento pode conter apenas sub-elementos
Um elemento pode conter texto e/ou sub-elementos
<pessoa id="234">
O Senhor
<nome>Carlos Tavares</nome>
<data-nascimento>
nasceu no ano de
<ano>1975</ano>
...
Estrutura XML
Regras para o nome de um elemento:

•
•
•
•
O primeiro carácter deverá ser uma letra, um
underscore ou um sinal de dois pontos;
Os caracteres seguintes podem ser letras,
dígitos, underscores, hífens, pontos e dois
pontos;
O espaço em branco não pode aparecer no
nome de uma anotação
Os caracteres < e > são reservados para as
anotações
Estrutura XML

Atributos
<pessoa id="234">...



Define-se na anotação de início de um
elemento
Definido por um par nome=“valor”
Valor do atributo entre “”
<data-nascimento ano="1975"
mes="10" dia="3" />
Estrutura XML

Caracteres especiais

Referência a entidades
pré-definidas
&lt;
<
&gt;
>
&amp;
&
&quot;
“
&apos;
‘

válido para mês &gt;0 e mês &lt;13
Referência a
caracteres unicode
&#decimal ou
&#xhexadecimal
&#xDF;&lt;&#189
ß<½
Documento XML bem formado

Deve começar com a declaração
<?xml version="1.0" encoding="ISO-8859-1" ?>






A anotações de abertura (<nome>) correspondem
anotações de fecho (</nome>)
Um elemento pode ser vazio obrigando a usar o
caracter '/' na marca de abertura <anotação />
As marcas têm de ser encaixadas correctamente.
os valores dos atributos têm de estar entre aspas
apenas um elemento que engloba todos os outros raíz do documento (root ou document element).
há distinção entre maiúsculas e minúsculas nos
nomes dos elementos
XML namespace

Problema: nomes iguais para elementos com
semânticas muito diferente
<título> XML in a Nutshell </titulo>
<titulo> Professor </titulo>

Necessidade de qualificar claramente os nomes dos
elementos e atributos
<livro:título> XML in a Nutshell </livro:título>
<pes:titulo> Professor </pes:titulo>

XML namespace é uma colecção de nomes
identificados por um URI (Uniform Ressource
Identifier) permitindo associar um prefixo ao nome
XML namespace
 Criação

de um namespace
Usa-se o atributo xmlns
xmlns:pes=http://xml.dei.isep.ipp.pt/pessoas
O valor do atributo deve ser um URI com o
objectivo de ser um identificador único
 O atributo não é um endereço físico de um
recurso
 O prefixo pes passa a qualificar os elementos
<pes:nome>António José </pes:nome>

XML namespace

Os namespace podem ser declarados localmente
a um elemento
<dt:data xmlns:dt="http://xml.isep.pt/datas">
<dt:ano>1965</dt:ano>
<dt:mes>10</dt:mes>
<dt:dia>3</dt:dia>
</dt:data>

Os namespace podem ser declarados sem
prefixo - namespace por omissão
<pessoas xmlns="http://xml.isep.pt/pessoas" >
Download

Tópicos XML