Um Sumário de XML Explicação de XML Relacionando XML à HTML

Slides:



Advertisements
Apresentações semelhantes
Faculdades Integradas Santa Cruz
Advertisements

Sistemas Distribuídos Baseados na Web
Standard para representar e trocar informação estruturada
Redes de computadores I
Profa. Rudson apostilas.wikidot.com/hipermidia
Diagrama de fluxo de dados (DFD)
1 FEUPXML Anotação de Documentos Elementos, Atributos, Entidades, Comentários, Declarações e Instruções de Processamento.
XML (eXtensible Markup Language) W3C - World Wide Web Consortium Documentos TXT estruturados? Por que XML? XML, ou eXtensible Markup Language, é uma linguagem.
XML - Extensible Markup Language
Programas Utilitários Básicos
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
A Linguagem HTML.
Treinamento do Microsoft® Access® 2010
HTML Básico João Araujo.
XML Extended Markup Language
Tecnologias Web Prof. Msc. Juliano Gomes Weber Tecnologias Web Notas de Aula – Aula 10 1º Semestre UNIJUÍ.
DIAGRAMA DE CASO DE USO Prof. Fabíola Gonçalves C. Ribeiro.
Treinamento do Microsoft® Access® 2010
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando.
Tópicos avançados em internet A
Tópicos de Sistemas de Informação A
Rodrigo Cristiano Silva
1ª Aula de Html Íria Albuquerque.
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
INTRODUÇÃO ÁS BASES DE DADOS
Cascading Style Sheets Folhas de Estilo em Cascata
1. Aprenda o básico sobre o Google
Profº Cláudio Barbosa XHTML – Introdução  XHTML (eXtensible HyperText Markup Language) – linguagem baseada na XML para.
Professor: Márcio Amador
Programação Orientada à Objetos
Trabalhos Científicos Usuais: Caracterização e Estrutura
Escola de Engenharia de Piracicaba Sistemas de Apoio a Decisão
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
A abordagem de banco de dados para gerenciamento de dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Introdução a Banco de Dados Aula 04
TECNOLOGIA WEB XHTML Aula 5 Profa. Rosemary Melo.
Universidade do Estado do Rio de Janeiro Instituto de Matemática e Estatística XML: Extensible Markup Language EquipeEquipe: Adriana Cristina de Oliveira.
Laboratório de Programação
Requisitos de Software
Autoria WEB Prof. Thiago Nogueira Tolentino Barbosa
Cascading Style Sheets (css). Cascading Style Sheets  Cascading Style Sheets (CSS) é uma linguagem de estilo utilizada para definir a apresentação de.
©Silberschatz, Korth and Sudarshan (modificado)10.1.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do.
Produção de Sites Unidade 9 – XML Prof.: Henrique Santos.
Fundamentos de linguagens de programação
O que é CSS? O CSS (Cascading Style Sheets) ou Folhas de Estilo em Cascatas é uma documentação que define as regras de formatação que serão aplicadas aos.
PROGRAMAÇÃO WEB AULA XHTML
Validando Documentos XML Vânia Maria Ponte Vidal
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
XML – Extensible Markup Language [Sintaxe] Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003 Material elaborado por Lisandra Cazassa Fumagalli.
XML: Conceitos, Tecnologias e Aplicações Vânia Maria Ponte Vidal
Expansão dos Casos de Uso
1 Sistemas Multimídia Fundamentos Básicos - HTML Prof. Hemir Santiago Prof. Hemir Santiago.
SISTEMAS DE INFORMAÇÃO
Karine Alessandra Córdova
Profº Cláudio Barbosa HTML - Introdução  HTML – Hypertext Markup Language – Linguagem de Marcação de Hipertexto;  Linguagem.
HTML Estrutura e Sintaxe.
HTML Prof. Geyson Silva.
Comunicação e Redação Empresarial
LINGUAGEM DE PROGRAMAÇÃO HTML COMPONENTES: ROBSON EDMILSON.
Prof. Wolley Profa. Érika
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
Programação p/ INTERNET - HTML Prof. João Ricardo Andrêo 30/5/ :10 1 Listas Numeradas As listas numeradas funcionam da mesma forma que as listas.
Prof. João Ricardo Andrêo Programação p/ INTERNET - HTML 31/5/ :34 1 Introdução e Conceitos CSS CSS significa Cascade Style Sheetes (Folha de Estilo.
Apresentação TI Alunos: Isadora Bernardo, Lucas Medeiros, Marcela Muniz e Renata Coutinho.
Questionário (Básico) Autor: Skyup Informática. Atividade - Questionário O módulo permite criar uma série de questões, que deverão ser respondida pelos.
Design para Web 3 XHTML.
Programação para Internet Rica– Aula 03 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

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

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.

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”.

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.

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.

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

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>

Comparando os documentos Agora, 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 ?

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.

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.

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 ?

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.

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.

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.

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.

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.

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>

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

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.

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) .

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.

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.

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

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.

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)

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

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.

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 Inc Model: Blaster 555 Storage: RAM: 128 MB Hard Disk: 20 GB

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

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> ...

Documento HTML (cont.) <tr> <td>RAM</td><td>128 MB</td> </tr> <td>Hard Disk</td><td>20 GB</td> </table>

Visualizando no seu browser Ao serem abertas em um navegador, essas informações ficarão como: (visualize no seu navegador)

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.

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 sobre PCs.

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

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>

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.

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:

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.

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á.

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.

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.

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.

O termo documento ... De modo geral, os documentos são compostos de três componentes: Conteúdo de dados Estrutura Apresentação

Documentos Conteúdo dos Dados: As palavras propriamente ditas. Estrutura: O tipo de documento e a organização de seus elementos.

Documento Apresentação: A forma com que as informações são apresentadas ao leitor.

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

Documento Tradicional

Documento XML

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.

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” !!

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.

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.

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

Iniciativas da SGML Edgar Relatórios financeiros para repartições públicas. HTML Hypertext Markup Language Pinnacles (PICS) Dados de semicondutor

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.

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.

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.

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)

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

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.

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 ?

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)

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 de emaranhá-los com o seu conteúdo.

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.

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).

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 Link Language).

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

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.

Baseada em Padrões ISO/IEC XML é derivada da SGML. XSL é derivada da DSSSL. XLL é derivada da HyTime. Unicode.

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.

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 úteis sejam capturados juntamente com dados básicos, fazendo assim de forma completamente independente do aplicativo e do fornecedor.

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 ?

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.

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.

Quem usa XML ? Microsoft Netscape Sun Microsystems Adobe IBM Corel Hewlett-Packard ...

Á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)

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

Outras Tecnologias XML Namespaces in XML Especifica como qualificar nomes de elementos e atributos com identificadores de espaços de nomes únicos.

Mais ... Document Object Model (DOM) Conjunto de interfaces de programação abstratas para percorrer, manipular e criar documentos XML.

Mais ... XML Schema Part 1: Structures Uma linguagem baseada em XML para descrever elementos, atributos e notações em termos de tipos hierárquicos.

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.

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

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.

Mais ... XML Inclusions (XInclude) Adendo a XML 1.0 que provê uma alternativa a DTDs para acessar entidades externas.

Mais ... XML Path Language (XPath) Uma linguagem para selecionar um conjunto de nodos em um documento XML.

Mais ... XML Pointer Uma linguagem que usa expressões XPath como identificadores URI, para permitir a referência de elementos em documentos externos.

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.

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.

Exemplo <?xml version=“1.0”?> <Capitulo> <Titulo> Capitulo Um </Titulo> <Tabela> Tabela Um </Tabela> <secao><Titulo>Secao Um</secao><Titulo> <Tabela><Titulo>Tabela Dois</Titulo></Tabela> </secao> </Capitulo>

Hierarquia e Sequência Em XML duas relações entre os elementos são importantes: Hierarquia e Seqüência

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”.

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>

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

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.

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.

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.

Elemento com Tipo Estruturado <?xml version=“1.0”?> <Capitulo> <Titulo> Capitulo Um </Titulo> <Tabela> Tabela Um </Tabela> <secao><Titulo>Secao Um</secao><Titulo> <Tabela><Titulo>Tabela Dois</Titulo></Tabela> </secao> </Capitulo>

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”>

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”>

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>

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.

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.

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

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”?>

Tipo de Codificação encoding Estabelece 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

DTD Externo standalone Indica 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.

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>

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>

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

Continuação <telefone> <res>011-5556677</res> </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)

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.

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.

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-formado quando ele atende a todas as exigências estruturais desta recomendação.

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>

Continuação <Item> <Código>153</Código> <Descrição>Wolkswagen Passat</Descrição> <Preço>10000,00</Preço> </Item> <Código>171</Código> <Descrição>Cafezinho</Descrição> <Preço>0,30</Preço> </Items> </Recibo>

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

Cont ... http://www.scripting.com/frontier5/xml/code/xmlValidator.html http://www.wml.com/xml/pub/tools/ruwf/check.html http://www.stg.brown.edu/service/xmlvalid/ http://koala.inria.fr:8080/

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).

Exemplos de Elementos Válidos <NOME> <Livro> <volume> <controle_de_trafego>

Elementos Inválidos <livro%8> <controle de trafego> (caracteres brancos) <2linhas>

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>

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>

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/>

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>

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.

Cont ... <raiz> <filho> <subfilho> ... ...

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.

Caracteres e Entidades < < & & > > “ " ´ &apos;

Cont ... Exemplo: Para escrevermos, “Moinho Brasil & Cia. Ltda” <Empresa> <Nome> "Moinho Brasil&Amp;Cia.Ltda" </Nome> </Empresa>

Atributos Um atributo é um par (nome,valor) associado a um elemento. Os atributos são declarados dentro da tag de abertura de um elemento.

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” >

Elementos X Atributos Usando um atributo pra definir sexo: <pessoa sexo=“feminino”> <nome>Ana</nome> <sobrenome>Silva</sobrenome> </pessoa>

Cont ... <pessoa> <sexo>feminino</sexo> <nome>Ana</nome> <sobrenome>Silva</sobrenome> </pessoa> Faz mais sentido ?

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>

Usando Elementos <EMPRESA> <NOME Refinaria Brasil</NOME> <FONES> <FONE1>011-444-9999</FONE> <FONE2>011-554-9888</FONE> </FONES> </EMPRESA>

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

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

Cont ... Se usarmos um elemento temos a flexibilidade de descrever: <pessoa> <nascimento>01/06/1980</nascimento> <nome>Armando</nome> ... </pessoa>

Cont ... Ou expandindo para: <pessoa> <nascimento> <data> <dia>01</dia> <mes>06</mes> <ano>1980</ano> </data> </nascimento> <nome>Armando</nome> ... </pessoa>

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.

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.

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 “ ]]>”.

Cont ... Exemplo: <![CDATA[ <saudacao>Ola a todos</saudacao> ]]> <![CDATA[ trecho em JavaScript ]]>

Espaço de Nomes Namespaces é uma recomendação aprovada pelo W3C pela qual desenvolvedores podem qualificar nomes de elementos de maneira única na Internet como 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.

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.

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>

Cont ... Da mesma maneira podemos representar os dados de um autor: <TITULO>Sr</TITULO> <NOME>William Sheakespeare</NOME> </AUTOR>

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>

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.

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.

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>

Document Type Definition XML é uma linguagem extensível. Flexibilidade, Conflitos, Ordem em que os elementos ou atributos aparecem nos documentos, se existem elementos opcionais, e quais tipos desses elementos.

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.

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.

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.

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:

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.

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.