aula introdução a linguagem xml

73
Linguagem para Organização e Transferência de dados para Web. Prof. Rudson Kiyoshi S. Carvalho Anhanguera - 2015 Parte - 1

Upload: rudson-kiyoshi-souza-carvalho

Post on 20-Jul-2015

650 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Aula Introdução a Linguagem XML

Linguagem para Organização e Transferência de dados para Web.

Prof. Rudson Kiyoshi S. Carvalho Anhanguera - 2015

Parte - 1

Page 2: Aula Introdução a Linguagem XML

Quem sou eu?

Page 3: Aula Introdução a Linguagem XML

- Setia Tecnologia - Arquiteto de Software - Desenvolvedor Java, .NET e Sql Server

- MBA - Engenharia de Software com ênfase em SOA - MBA - Arquitetura de Soluções - Bacharel em Sistemas de Informação

Page 4: Aula Introdução a Linguagem XML

Calendário e Sistema de Avaliação

Page 5: Aula Introdução a Linguagem XML

Calendário

Page 6: Aula Introdução a Linguagem XML

Sistema de AvaliaçãoO QUE MUDA: • Média para aprovação: 6,0• ATPS: 20% da nota = até 2,0 pontos (1o e 2o Sem)• Arredondamento: uma casa decimal (5,85 = 5,9)• Frequência: mínimo 75% O QUE CONTINUA: • Pesos: 40% (1o Bim) / 60% (2o Bim)• 1o Bim (trabalho ou prova + ATPS) / 2o Bim (Prova +ATPS) • Prova substitutiva substitui a nota da B2

Page 7: Aula Introdução a Linguagem XML

Sistema de Avaliação

Page 8: Aula Introdução a Linguagem XML

Provas e Entrega de Trabalho

ATPS entrega: 31/MarçoProvas B1 – 06 a 10/Abril

Page 9: Aula Introdução a Linguagem XML
Page 10: Aula Introdução a Linguagem XML

ATPS• Equipes de 2 a 4 participantes.

• Entregas:

• Parte 1: 31-03-2015

• Relatório 1 - Manual de desenvolvimento XML.

• Relatório 2 - Manual de desenvolvimento DTD e CSS.

• Parte 2: 09-06-2015

• Relatório 3 - Manual de desenvolvimento XSL.

• Relatório 4 - Relacionamento XML e Base de Dados.

Page 11: Aula Introdução a Linguagem XML

ATPS - Entrega 1- Relatório 1• Passo1: Montar um descritivo (mínimo de 20 linhas) sobre a linguagem XML em si,

detalhando os objetivos e as características da linguagem. Este descritivo deverá ser realizado de forma que profissionais de TI da empresa possam compreender os reais objetivos e características da linguagem, de forma clara e objetiva.

• Passo 2: Descrever os principais elementos de sintaxe da linguagem, com exemplos de utilização das mesmas. O descritivo das sintaxes deve ser muito bem detalhado, com analogias referenciando a banco de dados, para facilitar a compreensão pela equipe de TI da Vassoura Vassourinha XXI Ltda. Segue exemplo em tabela 01 a seguir.

• Passo 3: Montar um arquivo XML para interface das vendas entre a Vassoura Vassourinha XXI Ltda. e Vassouras Lindaura YY Ltda. baseado nos dados descritos a seguir. Notar que as empresas possuem dados divergentes em seus sistemas. Devem-se selecionar aqueles dados que possuem relevância às empresas.

• Passo 4: Elaborar o Relatório 1 – Manual de Desenvolvimento XML. Baseados na especificação de trabalhos relacionada em “Padronização”, descrita neste documento; montar um documento de referência em XML para a equipe de TI da Vassoura Vassourinha XXI Ltda., contendo os resultados alcançados com a elaboração da Etapa 1.

Page 12: Aula Introdução a Linguagem XML

ATPS - Entrega 1- Relatório 2• Passo1:Montar um padrão para criação de dados XML, de modo que este padrão possa

ser utilizado posteriormente para descrever o tipo de dados que aquele arquivo XML transporta. É necessária a criação de um padrão para criação de dados XML, de modo que este padrão possa ser utilizado posteriormente para descrever o tipo de dados que aquele arquivo XML transporta. Para tanto, é necessária a descrição detalhada dos atributos criados no passo 3 da 1a etapa.

• Passo 2: Gerar um documento “DTD” (Definição do Tipo de Documento) para padronização do arquivo XML da empresa, baseado no passo anterior.

• Passo 3: Aplicar estilos aos atributos da linguagem, de modo que os atributos-árvore fiquem com fonte maior que seus respectivos atributos-folha.

• Passo 4: Elaborar o Relatório 2 – Manual de desenvolvimento DTD e CSS. Baseados na especificação de trabalhos relacionada em “Padronização”, descrita neste documento, montar um documento de padronização de dados para a equipe de TI da Vassoura Vassourinha XXI Ltda., contendo os resultados alcançados com a elaboração da Etapa 2.

Page 13: Aula Introdução a Linguagem XML

ATPS - Entrega 2- Relatório 1• Passo1: Apresentar a linguagem XSL para a equipe de TI e descrever

detalhadamente seu uso, conforme a etapa 1. Para tanto, eles precisam conhecer um meio de formatar a linguagem XML de maneira mais rápida. Você deve apresentar a linguagem XSL a equipe de TI e descrever detalhadamente seu uso, de maneira compreensível a eles, conforme explicado na etapa 1 deste documento. Basear-se no material apresentado nas aulas das semanas 12 e 13.

• Passo 2: Apresentar o conceito de arquivos formatadores de XSL, de modo que a equipe de TI possa futuramente elaborar um arquivo XSL.

• Passo 3: Elaborar o Relatório 3 – Manual de desenvolvimento XSL. Baseados na especificação de trabalhos relacionada em “Padronização”, descrita neste documento, montar um documento de referência no uso de formatadores XSL para a equipe de TI da Vassoura Vassourinha Ltda., contendo os resultados alcançados com a elaboração da Etapa 3.

Page 14: Aula Introdução a Linguagem XML

ATPS - Entrega 2- Relatório 2• Passo1: Elaborar um documento em que a equipe de TI

relacione as tabelas de vendas descritas na etapa 1 com os atributos da linguagem XML, de maneira simplificada e bem funcional.

• Passo 2: Elaborar o Relatório 4 - Relacionamento XML e Base de Dados. Baseados na especificação de trabalhos relacionada em “Padronização”, descrita neste documento, montar um documento de referência da interface gerada para a equipe de TI da Vassoura Vassourinha XXI Ltda., contendo os resultados alcançados com a elaboração da etapa 4, bem como o relatório final a ser entregue para a equipe de TI da Vassoura Vassourinha XXI Ltda.

Page 15: Aula Introdução a Linguagem XML

Linguagem para Organização e Transferência de dados para Web.

Page 16: Aula Introdução a Linguagem XML

ObjetivoDesenvolver aplicações

utilizando a linguagem XML.

Page 17: Aula Introdução a Linguagem XML

Conteúdo ProgramáticoLinguagem XML - Introdução - Conceitos básicos e sintaxe - Caracteres - Marcação (elementos e atributos) - Seções A abordagem da XML - Tipos de documentos - Tipos de elementos - Declaração e tipos de atributos - Seções condicionais Estruturas Lógicas e físicas em documentos XML Mecanismos de estilos XML - Uso de folhas de estilo Processador de XML Conceitos e utilização de XSL Desenvolvimento de aplicações

Page 18: Aula Introdução a Linguagem XML

Bibliografia Básica Padrão1-) GOLDBERG, Kevin Howard. Guia Prático Visual XML. 1a ed. São Paulo: Alta Books, 2009.

2) RAY, Erik T.. Aprendendo XML. 1a ed. Rio de Janeiro: Campus - Elsevier, 2001.

3) DEITEL, Harvery M.; DEITEL, Paul J.; et al.. XML : Como Programar. 1a ed. Porto Alegre: Bookman, 2003.

4) WAHLIN, Dan. XML e ASP.NET para desenvolvedores. 1a ed. São Paulo: Pearson, 2003.

Page 19: Aula Introdução a Linguagem XML
Page 20: Aula Introdução a Linguagem XML

XML Conceitos Básicos

Page 21: Aula Introdução a Linguagem XML

O que é XML?X M L ( EX t e n s i b l e M a r k u p Language) ou linguagem extensível de marcação, é uma linguagem des ignada para descrever e estruturar informações.

Como uma linguagem de marcação, o XML se assemelha com a linguagem HTML, possuindo marcações para descrever os dados.

Porém, estas marcações não são pré-definidas na l inguagem, tornando possível a criação de m a r c a ç õ e s d e a c o r d o c o m necessidades específicas.

Page 22: Aula Introdução a Linguagem XML

O poder do XML• Sintaxe simples

• Definição infinita de tags

• Extensão e Adaptação

• Personalização

• Reutilização

• Gratuito - Padrão Livre (W3C)

• Multiplataforma

Page 23: Aula Introdução a Linguagem XML

HTML x XML

• HTML (HyperText Markup Language) - Descreve aparência e ações.

• XML (Extensible Markup Language) - Descreve a representação de algo.

Page 24: Aula Introdução a Linguagem XML

HTML x XML

HTML XML

Page 25: Aula Introdução a Linguagem XML

Como escrever um documento XML?

• Podem ser escritos à mão usando um editor.

• Podem ser gerados automaticamente, para:

• Troca de dados, protocolos entre aplicativos.

• Importação/exportação entre diferentes formatos de dados (relacional -> xml, xml -> relacional, etc.)

• Marcação de saída relativamente simples:

fprintf(sdtout, “<titulo>titulo livro</titulo>"\n);

System.out.printl(“<titulo>titulo livro</titulo>"n\);

File.WriteAllText(“c:\\arquivo.xml”,“<para>paragrafo</para>”);

Page 26: Aula Introdução a Linguagem XML

Como ler um documento XML?

• Software deve ser usado para ler um documento XML

• A leitura é mais complexa do que a escrita

• Várias questões:

• Caracteres como "enter" "espaços em branco" devem ser sempre tratados

• Substituição de entidades no texto.

• Processar DTD/XML Schema

Page 27: Aula Introdução a Linguagem XML

Marcadores• Elementos• Atributos• Referências a entidades• Comentários• Instruções de Processamento• Seções Formatadas• Definições de Tipos de Documentos - DTD• XML Schema - XSD• XML Style Sheet - XSL• XML Style Sheet Transformation - XSLT

Page 28: Aula Introdução a Linguagem XML

Declaração XMLA declaração XML utiliza o elemento <?xml atributos… ?>.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> ︎

Existem três atributos que podem ser usados na declaração: • Version – é a versão do XML, que pode ser 1.0 ou 1.1. Este

atributo é obrigatório se você usar a declaração XML;• Encoding – é a linguagem de codificação do documento. O

padrão é UTF-8. Este atributo é opcional;• Standalone – os valores possíveis são “yes” ou “no”. Use “yes”

se o documento não faz referência a documentos externos ou entidades. Use “no” caso contrário. Este atributo é opcional.

Page 29: Aula Introdução a Linguagem XML

Elemento

Marcação mais comumDelimitado por < e >

Exemplos:<elemento> mensagem de texto </elemento> <elemento/>

Page 30: Aula Introdução a Linguagem XML

Atributos

Pares nome-valor que caracterizam o elemento

Em XML, todos os atributos devem vir entre aspas.

Exemplo: <camiseta tamanho=“p”>Polo</camiseta>

Page 31: Aula Introdução a Linguagem XML

Referências a EntidadesUtilizadas para representar caracteres especiais:

• &lt; que corresponde a < • &gt; que corresponde a >• &amp; que corresponde a &• &quot; que corresponde a “• &apos; que corresponde a ‘ <PI>&#227;</PI> (UNICODE)

Page 32: Aula Introdução a Linguagem XML

Comentários

Não são processados pelo interpretador XML Início do comentário: <!-- Fim do comentário: -->

Exemplo: <!-- Este texto é apenas um comentário -->

Page 33: Aula Introdução a Linguagem XML

<?xml version="1.0" encoding="UTF-8"?> <!-- Aqui começa o email --> <mensagem> <!-- quem enviou a mensagem --><de>algu&#233;m</de><para>uma pessoa</para><!-- tag assunto foi comentada --><!--<assunto>digite o assunto</assunto>--><texto>abcdefghijk</texto></mensagem>

Comentários

Page 34: Aula Introdução a Linguagem XML
Page 35: Aula Introdução a Linguagem XML

Sintaxe Correta XML bem formado

Page 36: Aula Introdução a Linguagem XML

O documento XML deve começar com uma declaração XML

<!-- Não é permitido! --><?xml version="1.0" encoding="UTF-8"?>

Page 37: Aula Introdução a Linguagem XML

O elemento raiz deve conter todos os outros elementos

<mensagem>Olá!</mensagem><mensagem>Hello!</mensagem>

Page 38: Aula Introdução a Linguagem XML

O documento XML deve ter pelo menos 1 elemento

<mensagem>Olá!</mensagem>

Page 39: Aula Introdução a Linguagem XML

Elementos devem conter tags inicial e final

<mensagem> <frase>Olá Mundo!</mensagem>

<mensagem> <frase>Olá Mundo!</frase> <frase/></mensagem>

Page 40: Aula Introdução a Linguagem XML

As tags são case-sensitive

Mini Curso XML

<b>As tags são case sensitive!</B>

Page 41: Aula Introdução a Linguagem XML

Elementos não podem se sobrepor

<mensagem> Mensagem de <saudacao>Saudacao</mensagem></saudacao>

<mensagem> Mensagem de <saudacao>Saudacao</saudacao></mensagem>

Page 42: Aula Introdução a Linguagem XML

Os atributos devem estar entre ASPAS

<mensagem id>Olá!</mensagem>

<documento> <mensagem id="01">Olá</mensagem> <mensagem id='02'>Mundo!</mensagem>

</documento>

Page 43: Aula Introdução a Linguagem XML

Os atributos devem ser únicos

<mensagem id="01" id="txt">Olá</mensagem>

<mensagem id="01" ID="02" iD="03" Id="04">

Olá

</mensagem>

Page 44: Aula Introdução a Linguagem XML

Utilize os operadores < e & apenas para iniciar uma tag ou referenciar entidades

• Os processadores XML sempre assumem que o carácter < inicia uma tag e que o carácter & inicia uma referência a uma entidade. Por este motivo, utilize as entidades pré-definidas.

• Se por algum motivo o valor de um atributo ou elemento utilizar algum dos caracteres < > “ ‘ e &, utilize as entidades pré- definidas, pois os processadores dão importância a esses caracteres.

Page 45: Aula Introdução a Linguagem XML

Exercício 1 - Criar um documento XML para a estrutura abaixo

Page 46: Aula Introdução a Linguagem XML

Exercício 2 - Criar um documento XML para cadastro de alunos

Page 47: Aula Introdução a Linguagem XML

Exercício 3 - Criar um documento XML para uma cesta de compra de uma loja

virtual

Page 48: Aula Introdução a Linguagem XML

Instruções de Processamento

Recurso para prover informações para uma aplicação.

Não são parte do documento XML, mas são passados às aplicações.

Instruções não reconhecidas são ignoradas.

Page 49: Aula Introdução a Linguagem XML

Partes de Instruções de Processamento

<?

Obrigatório - Indica o início da instrução de processamento XML literal.

piName

Obrigatório - Indica o nome do aplicativo de destino da instrução de processamento. Não pode começar com "xml" ou "XML".

piData

Opcional - Indica como o aplicativo de destino de piName deve processar o documento XML.

?>

Obrigatório - Indica o final da instrução de processamento.

Exemplo:

<?comando tipo=“SQL" ?>

Page 50: Aula Introdução a Linguagem XML

Seções CDATA• Todos os textos enviados num arquivo XML é analisado (parser ou

parsing).

• Quando utilizamos as seções CDATAs (unparsed) os textos presentes nesta seção não são analisados, desta forma podemos enviar funções, caracteres especiais, fórmulas, elementos e etc…

Exemplo: <![CDATA[

function matchwo(a,b){ if (a < b && a < 0) then {return 1;} else {return 0;} } ]]>

Page 51: Aula Introdução a Linguagem XML

Seções CDATA

• Regra não se pode aninhar (sobrepor) seções CDATA.

Exemplo: <![CDATA[Teste <![CDATA[ 123456789 ]]> ]]>

Page 52: Aula Introdução a Linguagem XML

<?xml version="1.0" encoding="UTF-8"?> <documentoXML> <titulo>Este é o conteúdo do XML de exemplo</titulo> <conteudo> <![CDATA[<contato> <nome>Maria</nome> <telefone>99999999</telefone> </contato> ]]> </conteudo></documentoXML>

Page 53: Aula Introdução a Linguagem XML

Exercício 4 - Criar um documento XML para a migração dos dados de filmes de uma locadora especializada em

documentários para o sistema da NetFlix, onde o titulo dos filmes devem ser enviados com as TAGs HTML para

Negrito.

Page 54: Aula Introdução a Linguagem XML

Exercício 5 - Desenvolver um Arquivo XML para um pedido de locação conforme o modelo abaixo.

Page 55: Aula Introdução a Linguagem XML

Exercício 6 - Transforme o modelo abaixo numa estrutura para transmissão de

dados no formato XML.

Page 56: Aula Introdução a Linguagem XML

Definições e Validações

DTDs e XSDs

Page 57: Aula Introdução a Linguagem XML

Agora preciso de um padrão de definição e uma validação

Page 58: Aula Introdução a Linguagem XML

Declarações de Tipos de Documentos - DTD

• DTD - Document Type Definition.

• Um documento XML com a sintaxe correta é chamado de bem formado (Well Formed).

• Um documento XML com a sintaxe correta e validado através de um DTD e chamado de bem formado e válido (Well Formed and Valid).

Page 59: Aula Introdução a Linguagem XML

Declarações de Tipos de Documentos - DTD

• Permite a criação de Tags.

• Definição dos blocos de construção de um documento XML.

• Permite a definição de semântica diferenciada de um documento xml com as definições de:

• Declarações de elementos

• Declarações de listas de atributos Declarações de entidades

• Declarações de notação

Page 60: Aula Introdução a Linguagem XML

Por que utilizar um DTD?!DOCTYPE note define o elemento raiz deste documento. !ELEMENT note define que o elemento note terá quatro elementos: "to,from,heading,body" !ELEMENT to define que o elemento to será do tipo "#PCDATA" !ELEMENT from define que o elemento from será do tipo "#PCDATA"!ELEMENT heading define que o elemento heading será do tipo "#PCDATA" !ELEMENT body define que o elemento body será do tipo "#PCDATA"

Page 61: Aula Introdução a Linguagem XML

XML Schema - XSD• XSD - Xml Schema Definition

• Um XML Schema, descreve a estrutura de um arquivo XML.

• Define:

• define os elementos que podem aparecer no documento.

• define os atributos que podem aparecer no documento.

• define quais elementos serão elementos filhos.

• define a ordem dos elementos.

• define o número de elementos filhos.

• define onde um elemento é vazio ou pode conter um texto.

• define tipos de dados para elementos e atributos.

• define valores padrões para elementos e atributos.

Page 62: Aula Introdução a Linguagem XML

XSD Elementos Complexos• Um elemento complexo é uma estrutura XML que contém mais de um elemento dentro dele.

<xs:element name="employee">

<xs:complexType>

<xs:sequence>

<xs:element name="firstname" type="xs:string"/>

<xs:element name="lastname" type="xs:string"/>

</xs:sequence>

</xs:complexType>

</xs:element>

Page 63: Aula Introdução a Linguagem XML

DTD x XSD

DTD XSD

Page 64: Aula Introdução a Linguagem XML

Exercício 6 - Criar um documento DTD para a estrutura abaixo

Page 65: Aula Introdução a Linguagem XML

Exercício 7 - Criar um documento DTD para a estrutura XML de uma cesta de

compra de uma loja virtual

Page 66: Aula Introdução a Linguagem XML

Exercício 8 - Criar um XSD para a estrutura abaixo

Page 67: Aula Introdução a Linguagem XML

Exercício 9- Criar um XSD para o XML

Page 68: Aula Introdução a Linguagem XML

XSL Languages• XSL- Extensible Style Sheet Language

• CSS - Style Sheet para HTML

• XSL - Style Sheet para XML

• XSL é originalmente formado por três partes:

• XSLT - linguagem de transformação de documentos XML

• XPath - linguagem de navegação de documentos XML

• XSL-FO - linguagem de formatação de documentos XML

Page 69: Aula Introdução a Linguagem XML
Page 70: Aula Introdução a Linguagem XML

http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog

Page 71: Aula Introdução a Linguagem XML

Para que usar o XML?• Principal uso: compartilhamento de informações através da Internet.• Identificação da informação: você pode definir suas próprias tags.• Armazenamento de informação: XML é portável e não é proprietário.• Estruturar informação: XML pode ser usado para identificar qualquer tipo

(hierárquico) de estrutura.• Padrão Internacional.• Publicação: combinando os últimos três tópicos (identificação,

armazenamento e estruturação) significa que podemos utilizar o XML para publicá-lo na Web

• Mensagens e transferência de dados.• Simplificação da mudança de plataforma.• Web Services: o XML é usado para gestão da informação e transmissão.

Page 72: Aula Introdução a Linguagem XML

Vantagens• Flexível • Auto-contida • Portável• Fácil de utilizar • Robusta • Legível• Separação do conteúdo da formatação

Page 73: Aula Introdução a Linguagem XML

Desvantagens

• Tamanho• Custo de processamento • Complexidade