aula introdução a linguagem xml

Post on 20-Jul-2015

650 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Prof. Rudson Kiyoshi S. Carvalho Anhanguera - 2015

Parte - 1

Quem sou eu?

- 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

Calendário e Sistema de Avaliação

Calendário

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

Sistema de Avaliação

Provas e Entrega de Trabalho

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

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.

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.

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.

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.

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.

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

ObjetivoDesenvolver aplicações

utilizando 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

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.

XML Conceitos Básicos

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.

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

HTML x XML

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

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

HTML x XML

HTML 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>”);

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

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

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.

Elemento

Marcação mais comumDelimitado por < e >

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

Atributos

Pares nome-valor que caracterizam o elemento

Em XML, todos os atributos devem vir entre aspas.

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

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)

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

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

Sintaxe Correta XML bem formado

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

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

O elemento raiz deve conter todos os outros elementos

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

O documento XML deve ter pelo menos 1 elemento

<mensagem>Olá!</mensagem>

Elementos devem conter tags inicial e final

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

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

As tags são case-sensitive

Mini Curso XML

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

Elementos não podem se sobrepor

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

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

Os atributos devem estar entre ASPAS

<mensagem id>Olá!</mensagem>

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

</documento>

Os atributos devem ser únicos

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

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

Olá

</mensagem>

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.

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

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

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

virtual

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.

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

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;} } ]]>

Seções CDATA

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

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

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

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.

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

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

dados no formato XML.

Definições e Validações

DTDs e XSDs

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

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

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

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"

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.

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>

DTD x XSD

DTD XSD

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

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

compra de uma loja virtual

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

Exercício 9- Criar um XSD para o 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

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

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.

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

Desvantagens

• Tamanho• Custo de processamento • Complexidade

top related