130 likes | 212 Views
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).
E N D
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
Declaração XML <?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> Elementos ADES 04/05 Atributo
A informação é estruturada hierarquicamente Root element ADES 04/05 ...
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 • 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" >