tecnologias xml xml xml namespace xml schema xslt
TRANSCRIPT
Tecnologias XML
XMLXML NamespaceXML 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
<?xml version="1.0" encoding="ISO-8859-1"?><pessoas> <pessoa id="123">
<nome> António José Silva</nome><data-nascimento>
<ano>1965</ano><mes>10</mes><dia>3</dia>
</data-nascimento><bi>4025527</bi>
</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>
DeclaraçãoXML
Elementos
Atributo
• A informação é estruturada hierarquicamente
pessoa
nome bidata
-nascimento
ano mês dia
pessoasRoot
element
...
Estrutura XMLDeclaração XML
<?xml version="1.0" encoding="ISO-8859-1"?><?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
Referência a caracteres unicode
&#decimal ou &#xhexadecimal
ß<½ ß<½
válido para mês >0 e mês <13
< <
> >
& &
" “
' ‘
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" >