159
Um Sumário de XML Aula 4 Explicação de XML Relacionando XML à HTML Vantagens da XML Relacionando XML à SGML Usuários existentes e utilização de XML

Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

  • Upload
    lytram

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Um Sumário de XMLAula 4

• Explicação de XML• Relacionando XML à HTML• Vantagens da XML• Relacionando XML à SGML• Usuários existentes e utilização de XML

Page 2: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Objetivos

• Familiarização com a XML.

• Apresentar um tratamento mais abrangente do que será apresentado nas aulas seguintes.

• Conhecer o suficiente sobre XML, para poder discutí-la em termos gerais.

Page 3: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Objetivos• Oferecer noções básicas da vasta área de aplicação

da XML.

• Refletir sobre como se pode aplicar essa tecnologia aos seus próprios projetos.

• Tornar seu entendimento de XML mais substancial. Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”.

Page 4: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

O que é a XML ?

• XML é uma sigla. É acrônimo de eXtensible Markup Language.

• É uma linguagem com a finalidade de descrever informações. O mesmo ocorre com a HTML.

• XML representa um aperfeiçoamento da abordagem da HTML.

• O propósito original de sua existência é a WWW.

Page 5: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Sobre a HTML

• HTML é uma tecnologia que mudou o mundo em que vivemos. Contudo, muitas informações são perdidas quando os dados são convertidos para HTML.

• Informações, que se preservadas podem ser aproveitadas para se criar um mundo novo de aplicativos na WWW.

Page 6: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Um documento HTML simples

<! - - HTML Snippet - - ><h1>Invoice</h1><p>From: Joe Bloggs<p>To: M. Another<p>Amount: $100.00<p>Tax: 21%<p>Total Due: $121.00

Page 7: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Um documento XML simples

<! - - XML Snippet - - ><Invoice><From>Joe Bloggs</From><To>M. Another</To><Date year = ‘1999’ month = ‘2’ day = ‘1’/><Amount currency = ‘Dollars’>100.00</Amount><TaxRate>21</TaxRate><TotalDue currency = ‘Dollars’>121.00</TotalDue></Invoice>

Page 8: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Comparando os documentosAgora, coloque-se em frente a seu computador ...

Qual deles captura as informações mais úteis ?Qual deles possui uso mais potencial ?Qual dos dois documentos é mais fácil de se processar ?

Page 9: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Essência da XML• A distinção ilustrada nestes dois documentos

representa a verdadeira essência da XML.

• XML tem tudo a ver em preservar informações úteis.

• Informações que os computadores podem usar para serem mais “inteligentes” no que puderem fazer com seus dados.

Page 10: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Você pode estar pensando ...• Por que, então, não adicionamos tags referentes a

<Invoice> , <TaxRate> , entre outros, à HTML ?

• Poderíamos fazer, mas onde esse processo terminaria ?

• Nenhum conjunto de tags, por maior que ele seja, jamais chegará perto de oferecer todas as tags que podemos precisar.

Page 11: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Existe uma forma melhor ...

• Seu nome é XML.• XML não é uma “HTML mais rápida”.• XML é uma tecnologia fundamentalmente

diferente que libera informações das “algemas” de um conjunto de tags fixo, como existe em HTML.

• Por exemplo, se você estiver descrevendo uma fatura, por que não chamá-la de <Invoice> em vez de um título de nível 1 ?

Page 12: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Idéia básica de XML ...

• Clareza de expressão ...• XML significa falar de forma mais clara, ou seja,

denominar a informação pela forma em que ela é conhecida.

• XML não é um programa de computador, e dessa forma não faz nada por conta própria. O mesmo se pode dizer de HTML.

Page 13: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

O que é XML ?

• XML é uma linguagem que oferece uma abordagem padrão para descrição, captura, processamento e publicação de informações.

• Oferece vantagens significativas sobre HTML.

Page 14: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

O que é XML ?• XML é um conjunto de idéias – todas elas bem

simples.

• XML é uma linguagem de marcação com mudanças muito importantes.

• A maioria das linguagens de marcação, são linguagens, com um certo conjunto fixo de elementos, e esse conjunto é baseado no modelo da linguagem.

Page 15: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

O que é a XML ?

• HTML, por exemplo, possui um conjunto fixado de tags com o qual podemos elaborar documentos.

• XML, por outro lado, não define qualquer conjunto de tags em particular.

Page 16: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Aparência de XML

• Parece muito com HTML! Mas, isso não é uma coincidência.

• Os documentos em XML, como os documentos em HTML, são compostos de marcações e dados. A sintaxe lembra a da HTML.

Page 17: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Um exemplo XML

<Spice><Name>Sichuan Peppercorns</Name><CountryOfOrigin Country = “China”/><Description>Pungent, distinctive, Excellent with slow cooked,

earthy dishes.</Description<Example>Sichuan Braised Chicken</Example></Spice>

Page 18: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Marcações em XML

• Com a XML, temos a liberdade de definir e usar qualquer nome que desejarmos para implementar tags em seus dados.

Page 19: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XML é eXtensível ...

• Porque podemos usá-la para criarmos nossas próprias marcações (tags).

• Ao contrário da maioria das linguagens de marcação, a XML possui uma estrutura flexível, com a qual se pode criar linguagens de marcação personalizadas.

Page 20: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Tipos de Elementos

• Qualquer linguagem baseada em XML é composta de um conjunto de tipos de elementos que recebem alguns nomes e significados.

• Os exemplos incluem os tipos de elementos,Invoice (significado = fatura) , TaxRate(significado = taxa) e Spice (sigificado = tempero).

Page 21: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

O que é XML ?

• Ao invés de um conjunto fixo de tags, XML oferece uma estrutura padrão que lhe possibilita criar sua própria estrutura, ou usar aquelas definidas por terceiros que melhor se encaixe às suas necessidades.

Page 22: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Metalinguagem• XML proporciona uma estrutura padrão que

lhe possibilita criar sua própria estrutura para seus documentos, por que ela é uma metalinguagem.

• Ou seja, uma linguagem que fala de outra linguagem.

Page 23: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Estrutura Padrão

• Diversas linguagens de marcação podem ser construídas com base no que a XML oferece.

Page 24: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Definidas por terceiros

• A maioria das pessoas usa as linguagens de marcação baseadas em XML, criadas por terceiros, que melhor se adequem às suas finalidades, no que tange a um domínio de aplicação.

Page 25: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Linguagens baseadas em XML de padrão industrial

• XML é aplicada em áreas como:

Tecnologia Push (CDF – Channel Definition Format) Comércio Eletrônico (OTP – Open Trading Protocol) Matemática (MML – Mathematical Markup Language)

Page 26: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Definições de Tipos de Documentos

• Um conjunto de tipos de elementos serve para definir tipos de documentos e são conhecidos como Document Type Definitions (DTD).

• Exemplos de DTD: CDF, OTP e MML

Page 27: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Definir sua própria linguagem

• A principal vantagem de se poder definir sua própria linguagem de marcação é que ela lhe oferece a liberdade de capturar e publicar informações úteis sobre como seus dados ficarão e sua estruturas, ao invés de ter que se acostumar com um formato criado por outras pessoas.

Page 28: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Um exemplo• Considere uma empresa realizando comércio

eletrônico de PCs na Web. Estas são as informações que a empresa precisa publicar:

Maker: Acme PC IncModel: Blaster 555Storage:

RAM: 128 MBHard Disk: 20 GB

Page 29: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento HTML

• Para publicar essas informações usando HTML, é preciso criar um documento, por exemplo como:

Page 30: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento em HTML<! - - snippet of HTML - - ><h1>Personal Computers for Sale</h1><h2>Maker : Acme PC Inc</h2><h3>Model : Blaster 555</h3><table border = 1>

<tr><td>Storage:</td>

</tr>

...

Page 31: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento HTML (cont.)<tr>

<td>RAM</td><td>128 MB</td>

</tr><tr>

<td>Hard Disk</td><td>20 GB</td>

</tr>

</table>

Page 32: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Visualizando no seu browser

• Ao serem abertas em um navegador, essas informações ficarão como:

(visualize no seu navegador)

Page 33: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Perda de informações• Os dados originais foram transformados em

HTML para fins de publicação na Web.• Durante a transformação, informações úteis sobre

o que as informações realmente representam foram perdidas.

• A versão HTML dos dados não reflete a semântica dos dados sobre os PCs. Tudo que ela indica são níveis de títulos, tabela, texto em itálico, entre outras coisas.

Page 34: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Consequência ...

• Como consequência, quando esse documento HTML se torna disponível na Web, os diferentes utilitários de pesquisa vêem somente um conjunto de níveis, tabelas, texto em itálico, ...

• Mas, não vêem a semântica das informações sobrePCs.

Page 35: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Publicando em XML

• Pense na possibilidade da empresa poder publicar suas informações de vendas, da seguinte forma:

Page 36: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Um documento XML<! - - Snippet of na XML document - - ><PCforSale>

<Maker>Acme PC Inc</Maker><Model>Blaster 555</Model><Storage>

<RAM Units = “MB”>128</RAM> <HardDisk Units = “GB”>20</HardDisk>

</Storage></PcforSale>

Page 37: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Novas possibilidades ...• Esta representação abrirá algumas possibilidades

bastante interessantes.

• Este documento em XML pode conter uma interface mais rica para a Web, que apresente todos os tipos de possibilidades sobre como ele poderia ser colocado em uso.

• Note, agora o significado explícito sobre as informações de venda sobre PCs, contido no documento XML.

Page 38: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Informações sobre os Dados

• Ao manter as informações sobre o que realmente são os itens de dados, pode-se considerar o seguinte:

Page 39: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

O que XML proporciona

• Permitir o navegador fazer a formatação dos dados na tela do usuário.

• Permitir ao navegador realizar cálculos a partir dos dados, e manipular e exibir os resultados em várias formas.

Page 40: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• Possibilitar a pesquisa mais inteligente das informações.

• Verificar de forma inteligente se todas as informações necessárias relativas a uma entrada numa página Web, estão realmente lá.

Page 41: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• Realizar pesquisas complexas dos dados, para fins do seu próprio gerenciamento, ou como um serviço aos clientes.

• Criar vínculos inteligentes entre tipos diferentes de informações.

Page 42: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...• Padronizar um conjunto de tipos de

elementos XML relativo a todo um tipo de mercado.

• Evitar a necessidade de reduzir o nível de complexidade dos dados, antes de publicá-los.

Page 43: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cunho Filosófico

• A filosofia da essência da XML apareceu como resultado de uma análise longa e cuidadosa do que realmente significa o termo documento no mundo digital.

Page 44: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

O termo documento ...

• De modo geral, os documentos são compostos de três componentes:

Conteúdo de dadosEstruturaApresentação

Page 45: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documentos

• Conteúdo dos Dados:As palavras propriamente ditas.

• Estrutura:O tipo de documento e a organização de seus elementos.

Page 46: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento

• Apresentação:A forma com que as informações são

apresentadas ao leitor.

Page 47: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento XML• A idéia central em XML é que benefícios

significativos passam para o detentor do documento se esses três aspectos forem mantidos separados e tornados explícitos em um sistema de computador.

• Observe as diferenças: Fig. 1.4

Page 48: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento Tradicional

Page 49: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento XML

Page 50: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento XML• Em XML, criamos o conteúdo do documento

concentrando-se no significado real das informações e no modo como são estruturados.

• São adiados ítens que tem a ver com apresentação, deixando-os que sejam tratados quando alguém precisar olhar o documento.

Page 51: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento XML

• Um documento XML pode ser criado para ter arbitrariamente uma boa aparência sem emaranhar as informações de formatação com o conteúdo básico do documento.

• “Documentos Estruturados” !!

Page 52: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

SGML• Desde 1986, existe, o padrão internacional

denominado Standard Generalized Markup Language (SGML) – ISO 8879, para fazer o que a XML faz.

• Padrão muito poderoso e geral, mas com crescente complexidade.

Page 53: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XML

• XML é um subconjunto da SGML que pretende tornar a SGML “leve” o suficiente para uso na Web.

• Todos os documentos XML são documentos SGML válidos.

Page 54: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

As Iniciativas da SGML• ATA (Air Transport Authority)

Aviação• DocBook

Manuais técnicos• Text Encoding Initiative (TEI)

Iniciativa de codificação de textos• J2008

Manutenção automotiva

Page 55: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Iniciativas da SGML• Edgar

Relatórios financeiros para repartições públicas.

• HTMLHypertext Markup Language

• Pinnacles (PICS)Dados de semicondutor

Page 56: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Algo errado com a SGML ?• Não.

• A complexidade de implementação, que é um produto de todo o recurso da SGML, teve o efeito de limitar sua base de usuários a grandes corporações que precisam de todo seu recurso.

• As idéias que a SGML incorpora são muito boas e úteis para ficarem restritas a tal nicho.

Page 57: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XML

• Uma SGML simplificada que retém a maior parte dos recursos inerentes à SGML em uma forma simples, ordenada e de fácil uso e implementação.

Page 58: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Relacionamento entre linguagens

• ATA, DocBook, TEI, J2008, Edgar, HTML e PICS são linguagens originadas da SGML.

• CML (Linguagem de Marcação Química),OFX (Intercâmbio Financeiro Aberto),CDF (Formato de Definição de Canal)

são linguagens originadas da XML.

Page 59: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Estrutura de um Documento XML

• XML inclui um mecanismo para definição de regras que controlam como os documentos são estruturados.

• São os chamados Document Type Definitions – DTD (Definições do Tipo de Documento)

Page 60: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

DTDs

• Em um DTD, além da definição do tipo de documento, podemos fazer com que os documentos em XML sejam automaticamente verificados.

Page 61: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

DTDs

• Os efeitos de como as informações devem aparecer em um documento XML, são alcançados no DTD, listando-se os tipos de elementos que se deseja usar e indicando a ordem estrutural no qual os elementos podem ocorrer.

Page 62: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Verificação do Documento• Por ter uma estrutura simples e bem-definida,

XML permite que validemos o documento antes de iniciarmos seu processamento.

• Um programa utilitário denominado XML Parser é então capaz de verificar se o documento corresponde ou não às regras prescritas.

• Se não quisermos que a estrutura seja verificada ?

Page 63: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XML e a Aparência no Browser

• Padrão subsidiário da XML XSL (XML Style Language)

• Conceito de folha de estilo em um processador de textos ou folha de estilo do padrão HTML (CSS – Cascading Style Sheet)

Page 64: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Conceito de Folha de Estilo

• A idéia básica é capturar detalhes sobre como ficarão os vários elementos em um documento e então armazená-los em um documento em separado, ao invés deemaranhá-los com o seu conteúdo.

Page 65: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento Separado

• Esta separação permitirá que a apresentação seja alterada apenas com a alteração da folha de estilo.

• XSL é a linguagem de folha de estilo proposta para XML.

Page 66: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XSL• Possui mais recursos do que a CSS, a qual é

ainda largamente compatível com XSL.

• XSL é um subconjunto simplificado da linguagem de estilo padrão DSSSL(ISO/IEC 10179).

Page 67: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

E quanto ao hipertexto ?

• XML não predefine qualquer elemento. Então como fazer para especificar vínculos de hipertexto?

• XML delega a tarefa de capturar as informações de hipertexto, para um padrão subsidiário conhecido como XLL (eXtensible LinkLanguage).

Page 68: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XLL

• XLL é derivado do padrão existente para expressar vínculos de hipertexto em documentos SGML, conhecido comoHyTime, um outro padrão ISO/IEC 10744, criado durante os anos da TEI baseada na SGML.

Page 69: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Unicode - ISO/IEC 10646

• O Unicode, com seus caracteres de bytes múltiplos, suporta uma grande variedade de alfabetos e idiomas.

• Suportado em linguagens de programação como Java e sistemas operacionais como Windows e AIX.

Page 70: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Baseada em Padrões ISO/IEC

• XML é derivada da SGML.• XSL é derivada da DSSSL.• XLL é derivada da HyTime.• Unicode.

Page 71: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Diferenças entre XML e HTML

• XML é a estrutura para se fazer linguagens de marcação, enquanto HTML é uma linguagem de marcação.

• XML pode ser vista com uma generalização do paradigma de publicação de informações, cuja pioneira é a HTML e a Web.

Page 72: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Sobre XML

• O menor denominador comum no mundo dos documentos é o texto simples.

• XML foi criada com base no texto simples, permitindo que os níveis de informações úteissejam capturados juntamente com dados básicos, fazendo assim de forma completamente independente do aplicativo e do fornecedor.

Page 73: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Sobre XML• XML é uma tecnologia voltada ao

documento. • A abordagem da XML é representada por

conteúdo, estrutura e apresentação, atravessando exatamente o mundo da Tecnologia da Informação.

• Quem sabe onde XML será aplicada fora do mundo dos documentos ?

Page 74: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Sobre XML

• XML é o que se chama de tecnologia de infra-estrutura.

• Sobre a estrutura simples e bem-formada de XML, outras aplicações são construídas.

• O desenvolvimento de XML consiste na criação de vocabulários de domínios de aplicação específicos que serão processados por programas.

Page 75: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Vocabulários em XML

• Foram criados vocabulários para aplicações como WAP, intercâmbio financeiro aberto, bancos de dados, química, comércio eletrônico, entre outros.

• Esses vocabulários são definidos através dos DTDs.

Page 76: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Quem usa XML ?

• Microsoft• Netscape• Sun Microsystems• Adobe• IBM• Corel• Hewlett-Packard• ...

Page 77: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Áreas de Aplicação de XML• Home Banking• Tecnologia Push• Distribuição de Software• Automação na Web• Integração de Bancos de Dados• Tradução de Software• Representações Intermediárias de Dados• Publicação Científica• Comércio Eletrônico• Computação Distribuída (Interoperabilidade)

Page 78: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

O Estado Atual de XML

• XML é um conjunto de recomendações publicadas pelo W3C, que especifica a sintaxe e a semântica de XML e de tecnologias correlatas.

• Site do W3C: www.w3c.org• O texto da recomendação XML :

www.w3c.org/TR/REC-xml

Page 79: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Outras Tecnologias XML

• Namespaces in XML

Especifica como qualificar nomes de elementos e atributos com identificadores de espaços de nomes únicos.

Page 80: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• Document Object Model (DOM)

Conjunto de interfaces de programação abstratas para percorrer, manipular e criar documentos XML.

Page 81: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• XML Schema Part 1: Structures

Uma linguagem baseada em XML para descrever elementos, atributos e notações em termos de tipos hierárquicos.

Page 82: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• XML Schema Part 2: Datatypes

Um conjunto de tipos de dados predefinidos e uma linguagem baseada em XML para definir tipos de dados gerados pelo usuário.

Page 83: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• XML Information Set

Descrição de um documento XML abstrato, sem preocupação com sintaxe.

Page 84: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• XML Base (XBase)

Adendo a XML 1.0 que especifica como determinar qual URI se utilizar quando se tem várias referências URI relativas.

Page 85: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• XML Inclusions (XInclude)

Adendo a XML 1.0 que provê uma alternativa a DTDs para acessar entidades externas.

Page 86: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• XML Path Language (XPath)

Uma linguagem para selecionar um conjunto de nodos em um documento XML.

Page 87: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Mais ...

• XML Pointer

Uma linguagem que usa expressões XPathcomo identificadores URI, para permitir a referência de elementos em documentos externos.

Page 88: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Conceitos Básicos em XML

• XML é uma linguagem usada para descrever e manipular documentos estruturados.

• A manipulação de documentos XML é feita por meio desta estrutura.

• Um documento XML é estruturado em forma de árvore.

Page 89: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Conceitos Básicos em XML

• Possui sempre um elemento-raiz, de onde outros elementos vão se ramificar.

• Essa estrutura em árvore estabelece como documentos XML vão ser definidos e vão ser tratados.

• O tratamento envolve principalmente encontrar um determinado elemento, ou grupo de elementos para serem processados.

Page 90: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Exemplo• <?xml version=“1.0”?>

<Capitulo> <Titulo>

Capitulo Um </Titulo><Tabela>

<Titulo>Tabela Um

</Titulo></Tabela><secao><Titulo>Secao Um</secao><Titulo>

<Tabela><Titulo>Tabela Dois</Titulo></Tabela></secao>

</Capitulo>

Page 91: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Hierarquia e Sequência

• Em XML duas relações entre os elementossão importantes:

Hierarquia e Seqüência

Page 92: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Hierarquia

• Estabelece relações:pai/filho e ancestral/descendente

• <Capitulo> é o elemento-raiz.• Os “Titulo” filhos de <Capitulo> são:

“Capitulo Um” • Os “Titulos” que são descendentes de <Capitulo>

são: “Capitulo Um”, “Tabela Um”, “Secao Um”, e “Tabela Dois”.

Page 93: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Sequência

• A sequência em que as informações aparecem também é importante:

• <Instrucoes><Titulo>Lavar os cabelos</titulo><Sequencia>

<Passo>Molhar os cabelos</Passo><Passo>Fazer Espuma</Passo><Passo>Enxaguar</Passo><Passo>Repetir</Passo>

</Sequencia></Instrucoes>

Page 94: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Dados e Marcações

• Um documento XML consiste de uma combinação de dados caracteres e marcações (tags).

• Marcações podem ser: - caracteres de início de tags- fim de tags- elementos vazios- referências à entidades- referências à caracteres- comentários

Page 95: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Dados e Marcações

- delimitadores de seções CDATA(valores a serem desconsiderados quanto à sintaxe XML)

- declaração de tipo de documento- instruções de processamento- declarações XML- declarações textuais- quaisquer espaço em branco fora do elemento-raiz e fora de qualquer outra tag.

Page 96: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Elementos de Informação

• Os elementos de informação podem representar estruturas de dados arbitrárias.

• Elementos de informação podem conter valores codificados como caracteres, e nesse caso, dizemos que são elementos com apenas texto.

Page 97: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Elementos de Informação

• Um elemento representa um tipo estruturado, se ele não contém dados textuais, e sim um ou mais elementos descendentes.

• Também podem existir elementos descendentes com texto (conteúdo misto).

• Documentos que não têm conteúdo misto são chamados normalizados.

Page 98: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Elemento com Tipo Estruturado

• <?xml version=“1.0”?><Capitulo>

<Titulo>Capitulo Um

</Titulo><Tabela>

<Titulo>Tabela Um

</Titulo></Tabela><secao><Titulo>Secao Um</secao><Titulo>

<Tabela><Titulo>Tabela Dois</Titulo></Tabela></secao>

</Capitulo>

Page 99: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XML com Conteúdo Misto - 1<Pedidos>

<NroPedido NumPedido=“12435”><Cliente NumClient=“543”>

<CustName>IndustriasABC</CustName><Rua>Avenida Central,123</Rua><Cidade>São Paulo</Cidade><Estado>SP</Estado><CEP>60609</CEP>

</Cliente></DataPedido>981215</DataPedido><Linha NroLinha=“1”>

<Peca NroPeca=“123”>

Page 100: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XML com Conteúdo Misto - 2

<Descricao><P><B>Alicate:</B><BR/>Aco Inox, construido em uma so peca. Garantia 10 anos.</P></Descricao><Preco>9.95>/Preco></Peca><Quantidade>10</Quantidade>

</Linha><Linha NroLinha=“2”>

<Peca NroPeca=“456”><Descricao>

Page 101: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

XML com Conteúdo Misto - 3<P><B>Separador de gizmos:</B><BR/>Aluminio,um ano de garantia.</P></Descricao><Preco>13.27>/Preco></Peca><Quantidade>5</Quantidade>

</Linha></NroPedido>

</Pedidos>

Page 102: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Atributos em XML

• Cada ítem de elemento de informação pode ter uma ou mais propriedades, chamadas de atributos.

• Os atributos formam uma lista não-ordenada de itens de informação.

Page 103: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Atributos em XML

• <IMG SRC=“logotipo.gif” WIDTH=“32” HEIGHT=“64” ALT=“Logotipo”>

• Cada atributo tem um nome único, e cada um possui uma propriedade, consistindo de zero ou mais caracteres.

• Em XML, atributos podem ser usados para descrever um elemento, ou para fornecer informações adicionais sobre um elemento.

Page 104: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Sintaxe de XML

• Para podermos escrever, ler e entender como XML estrutura documentos e também, como e onde podemos usá-la;

• Documento XML bem-formado:se possui o seguinte formato, nesta ordem:

Prólogo, Elemento-Raiz, Miscelânea

Page 105: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Prólogo

• Consiste obrigatoriamente na declaração de que este é um documento XML, e a versão da recomendação W3C que ele segue.

• Todas as declarações XML iniciam com os cinco caracteres:<?xml version=“1.0”? encoding=“ISO-

8859-1” standalone=“yes”?>

Page 106: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Tipo de Codificação

• encodingEstabelece o conjunto de caracteres

utilizado no documento. Valores para esta declaração podem ser encontrados em http://charts.unicode.org/Exemplos:

UTF-8, US-ACII, ISO-8859-1

Page 107: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

DTD Externo

• standaloneIndica se o documento XML necessita ou não de um DTD externo:

no - o documento depende de um DTD externo;

yes - o documento não depende de um DTD externo.

Page 108: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Elemento-Raiz

• Um documento XML bem-formado contém um e apenas um elemento-raiz.

<x> <!--Incorreto!!--><a> ... </a> <a> ... </a><b> ... </b> <b> ... </b>

</x>

Page 109: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Um Documento XML

• <?xml version=“1.0” encoding=“ISO-8859-1”?><pessoa><id>770412-4956</id><nome>

<prenome>João</prenome><sobrenome>Silva</sobrenome>

</nome>

Page 110: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Continuação

• <endereço><rua>Central,205</rua><cep>01000</cep><cidade>São Paulo</cidade>

</endereço>

Page 111: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Continuação

• <telefone><res>011-5556677</res>

</telefone></pessoa>

• O primeiro elemento do documento é o elemento-raiz <pessoa>.

• As próximas linhas definem os elementos descendentes da raiz (id, nome, endereço e telefone)

Page 112: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Tags

• São definidas pelo criador do documento, e devem seguir algumas regras não presentes em HTML.

• Se um documento não for bem-formado ele será obrigatoriamente rejeitado pelo programa que está lendo.

Page 113: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

ISSO-8859-1

• Neste padrão estão presentes os caracteres acentuados como os usados na língua portuguesa. Assim, podemos usar caracteres acentuados não apenas nos tags, como também no corpo do documento.

Page 114: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento XML bem-formado

• Sendo XML uma linguagem altamente estruturada, é imperativo que todos os documentos XML estejam em conformidade com a recomendação XML 1.0.

• Dizemos que um documento é bem-formadoquando ele atende a todas as exigências estruturaisdesta recomendação.

Page 115: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Documento XML• <?xml version=“1.0” encoding=“ISO8859-1” standalone=“yes”?>

<Recibo><IDRecibo>1000</IDRecibo><NomeDoCliente>Jane Smith</NomeDoCliente><IteMs>

<Item><Código>134</Código><Descrição>Meia</Descrição><Preço>9.95</Preço>

</Item>

Page 116: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Continuação<Item>

<Código>153</Código><Descrição>Wolkswagen Passat</Descrição><Preço>10000,00</Preço>

</Item>

<Item><Código>171</Código><Descrição>Cafezinho</Descrição><Preço>0,30</Preço>

</Item></Items>

</Recibo>

Page 117: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Verificação de Bem-Formado

• Existem vários lugares na Web que podem ser usados para verificar se um documento XML é bem-formado.

• http://www.ltg.ed.uk/~richard/xml-check-html

Page 119: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Regras para Definição de Nomes

• Nomes (de elementos e atributos) devem iniciar com uma letra (A .. Z, excluindo quaisquer caracteres acentuados ou cedilha), seguida de outras letras, ou dígitos, ou caracteres de pontuação:

• “.” (ponto decimal), • “,” (vírgula), • “-” (hífen), • “_” (sublinhado), • “:” (dois pontos).

Page 120: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Exemplos de Elementos Válidos

• <NOME>• <Livro>• <volume>• <controle_de_trafego>

Page 121: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Elementos Inválidos

• <livro%8>• <controle de trafego>

(caracteres brancos)• <2linhas>

Page 122: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Tags Maiúsculas e Minúsculas

• Uma tag <CARTA> é diferente da tag <carta>, que é diferente de <Carta>.

• Tags de abertura e de fechamento, devem ser escritas de maneira idêntica.<Mensagem>Esta frase é incorreta</message><Mensagem>Esta frase é correta</Mensagem>

Page 123: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Abertura e Fechamento

• Em XML todos os elementos devem ter uma tag de fechamento, o que não acontece em HTML.

• Exemplos:<p>Este é um parágrafo</p><p>Este é outro parágrafo</p>

Page 124: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Elementos XML Vazios

• Elementos vazios devem conter uma barra (/) de fechamento antes do final da tag.

• Exemplo:<p>Este é um parágrafo seguido de uma linha em branco</p><br/>

Page 125: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Aninhamento de Elementos XML

• Todos os elementos XML devem ser aninhados apropriadamente.

• Em XML todos os elementos devem estar aninhados como segue:

<b><i>Este texto está em negrito e itálico</i></b>

Page 126: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Elemento-Raiz

• Todos os documentos XML devem ter uma única tag-raiz que define o elemento-raiz.

• Todos os outros elementos, sem exceção, devem estar aninhados dentro desse elemento e podem conter, por sua vez, sub-elementos aninhados.

Page 127: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• <raiz><filho>

<subfilho>... ...

</subfilho></filho>

</raiz>

Page 128: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Caracteres Reservados

• Vários caracteres fazem parte da estrutura de XML, e portanto, não podem ser usados nos dados do documento XML.

• É necessário substituí-los por sequências especiais de caracteres chamadas de entidades.

Page 129: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Caracteres e Entidades

• < &lt;• & &amp;• > &gt;• “ &quot;• ´ &apos;

Page 130: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Exemplo:Para escrevermos,“Moinho Brasil & Cia. Ltda”

<Empresa><Nome>

&quot;Moinho Brasil&Amp;Cia.Ltda&quot;</Nome>

</Empresa>

Page 131: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Atributos

• Um atributo é um par (nome,valor) associado a um elemento.

• Os atributos são declarados dentro da tag de abertura de um elemento.

Page 132: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Valores de Atributos

• Valores de atributos devem estar entre aspas ( “” ) ou apóstrofos (´`).

• Exemplos:<IMG SRC=“logotipo.gif” WIDTH=“32”HEIGHT=“64” ALT=“Logotipo”>

<IMG SRC=‘logotipo.gif’ WIDTH=‘32’HEIGHT=‘64’ ALT=‘Logotipo’>

<pessoa NASCIMENTO=“01/06/1980” >

Page 133: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Elementos X Atributos

• Usando um atributo pra definir sexo:

<pessoa sexo=“feminino”><nome>Ana</nome><sobrenome>Silva</sobrenome>

</pessoa>

Page 134: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• <pessoa><sexo>feminino</sexo><nome>Ana</nome>

<sobrenome>Silva</sobrenome></pessoa>

Faz mais sentido ?

Page 135: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Limitações de Atributos

• Atributos não podem conter múltiplos valores. Os atributos são pares nome-valor. Um atributo pode ter apenas um valor.

• <EMPRESA><NOME FONE1=“011-444-9999” FONE2=“011-554-9888”>Refinaria Brasil</NOME>

</EMPRESA>

Page 136: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Usando Elementos

• <EMPRESA><NOME Refinaria Brasil</NOME><FONES>

<FONE1>011-444-9999</FONE><FONE2>011-554-9888</FONE>

</FONES></EMPRESA>

Page 137: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Atributos não descrevem estruturas.Certos dados são mais bem descritos usando-se uma estrutura que um valor simples.

Page 138: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• <pessoa NASCIMENTO=‘01/06/1980’><Nome>Armando</Nome>

...

...</pessoa>

Page 139: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Se usarmos um elemento temos a flexibilidade de descrever:

• <pessoa> <nascimento>01/06/1980</nascimento><nome>Armando</nome>......

</pessoa>

Page 140: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Ou expandindo para:<pessoa><nascimento>

<data><dia>01</dia><mes>06</mes><ano>1980</ano>

</data></nascimento><nome>Armando</nome>

...</pessoa>

Page 141: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Quando usar Atributos

• Não existem regras específicas que determinem quando usar atributos.

• Em geral, os dados devem ser colocados em elementos.

• Informações a respeito dos dados (metadados) devem ser colocados em atributos.

Page 142: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Se estiver em dúvida coloque a informação nos elementos.

• Atributos são adequados para se colocar itens como números de identificação, endereços Web, referências e outras informações que não são diretamente relevantes ao leitor do documento XML.

Page 143: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Seções CDATA

• São usadas para inserir blocos de texto, que podem conter caracteres conflitantes com os usados em marcações.

• Seções CDATA iniciam com a cadeia de carateres “ <![CDATA[ ” e terminam com a cadeia de caracteres “ ]]>”.

Page 144: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Exemplo:

<![CDATA[ <saudacao>Ola a todos</saudacao> ]]>

<![CDATA[ trecho em JavaScript ]]>

Page 145: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Espaço de Nomes

• Namespaces é uma recomendação aprovada pelo W3C pela qual desenvolvedores podem qualificar nomes de elementos de maneira única na Internetcomo um todo, evitando conflitos entre elementos que tenham o mesmo valor.

• Esse risco existe porque XML permite a criação de tags. Diferentes pessoas em lugares diferentes podem criar os mesmos nomes de tags.

Page 146: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• É uma tecnologia que permite declarar que estamos utilizando nomes pertencentes a certo vocabulário, e assim podemos especificá-los de maneira não ambígua no documento.

Page 147: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Por que usar NameSpaces

• Um dos atrativis de XML é a capacidade de se criar tags que tenham algum significado.

• <livro> <titulo>A SuiTable Boy</titulo><preco moeda=“BrReais”>22.95</preco>

</livro>

Page 148: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Da mesma maneira podemos representar os dados de um autor:

<AUTOR><TITULO>Sr</TITULO><NOME>William Sheakespeare</NOME>

</AUTOR>

Page 149: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Namespaces resolvem esse problema por meio da associação de um vocabulário com uma tag.

• Exemplo:<Livros:TITULO>Hamlet</Livros>:TITULO>

<Autor:TITULO>Sr.</Autor:TITULO>

Page 150: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• O nome que precede uma tag é um prefixo que se refere a um namespace, também conhecido como URI (Universal Resource Identifier).

• Um URI garante que haverá unicidade quando dois ou mais documentos XML forem combinados não existindo conflito.

Page 151: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Declarando Espaços de Nomes

• Declaração Default<LIVRO xmlns=“urn:Biblioteca.org:InformacaoDeLivros” >

<TITULO>Hamlet</TITULO><PRECO moeda=“BR Real”>22.95</PRECO>

</LIVRO>

Define um nome de espaço para todos os elementos em um dado contexto.

Page 152: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Declarando Espaços de Nomes

• Declaração Explícita<lv:LIVRO

xmlns:lv=“urn:Biblioteca.org:InformacaoDeLivros” xmlns:dinheiro=“urn:Financas:Dinheiro” >

<lv:TITULO>Hamlet</lv:TITULO><dinheiro:PRECO dinheiro:moeda=“BR Real”>22.95</dinheiro:PRECO>

</lv:LIVRO>

Page 153: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Document Type Definition

• XML é uma linguagem extensível.Flexibilidade,Conflitos,

• Ordem em que os elementos ou atributosaparecem nos documentos, se existem elementos opcionais, e quais tipos desses elementos.

Page 154: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

DTD

• Para ajudar a resolver esse problema, criou-se o DTD – Document Type Definition.

• Um DTD define quais as classes possíveis para uma classe de documentos.

Page 155: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

DTD

• Tendo-se um DTD, um documento XML pode ser validado, ou seja, podemos confirmar se o documento segue certa definição, e a aplicação que vai processar esse documento não precisa se preocupar com erros de estrutura.

• Dessa forma, asseguramos que diferentes pessoas e programas podem tratar informações uns dos outros.

Page 156: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

DTD

• São usados para definir os chamados vocabulários.

• Cada vocabulário estabelece quais elementos são aplicáveis em um determinado domínio de aplicação.

• Cada ramo de atividade que envolve transferência de informação tem um grande potencial para o uso de DTDs.

Page 157: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Declaração de Tipo de Documento

• Uma declaração de tipo de documento define qual o DTD usado por um documento XML.

• Essa declaração aparece no prólogo de um documento, antes de um elemento-raiz.

• A declaração pode efetuar uma ou as duas das seguintes funções:

Page 158: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Conter declarações de markup no prólogo do documento. Assim é definido um DTD interno ao documento.

• Referenciar declarações de markup externas, o que define um DTD externo.

Page 159: Um Sumário de XML Aula 4 - inf.ufsc.brbosco.sobral/old_page/transparencias/ine5380_aula... · Ao final da aula 1 você saberá o que é XML e como XML “faz as coisas”. ... •

Cont ...

• Quando nos referimos ao DTD de um documento, estamos nos referindo ao externo e ao interno, tomados em conjunto.

• O DTD externo descreve estruturas gerais para uma classe de documentos.

• O DTD interno descreve estruturas específicas para um dado documento.