A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

XML – Extensible Markup Language (Introdução)

Apresentações semelhantes


Apresentação em tema: "XML – Extensible Markup Language (Introdução)"— Transcrição da apresentação:

1 XML – Extensible Markup Language (Introdução)
Prof. Joel da Silva

2 Tópicos a serem abordados
Introdução e Conceitos Básicos Dados estruturados  dados não estruturados, o que é XML, formato de um documento XML, padrões de nomes e ferramentas. Validação de Documentos XML A necessidade de validação, Padrão DTD e o padrão XML, Schemas e sua utilidade. Transformação Dinâmica de XML Introdução a XSL e seus comandos básicos, como utilizar o XSL.

3 Tópicos a serem abordados
Manipulação de XML SAX, DOM, JDOM e outros Uso de XML Exemplos reais de utilização Ferramentas de Desenvolvimento Netbeans IDE- Plugin XML: Ferramentas-> Plugins -> Configurações Adicionar repositório: Instalar Plugin XML Tools em Plug-ins Disponíveis

4 Tópicos a Serem Abordados
Introdução e Conceitos Básicos Validação de Documentos XML Transformação Dinâmica de XML Manipulação de XML Uso de XML Ferramentas de Desenvolvimento

5 Dados estruturados  não estruturados
Claros Ambíguos De fácil entendimento por pessoas e por máquinas Difícil entendimento por pessoas

6 A necessidade de estruturar dados
Exemplo 1: Interpretação do varejo Código do produto Preço do produto R$ 5,50 Dígito do código do produto

7 A necessidade de estruturar dados
Exemplo 2: Interpretação do sistema bancário Código da Operação Data da Operação 01/10/99 Valor da operação R$ ,00 Número da Conta

8 A necessidade de organizar os dados
Necessidade de Organização: Que sejam legíveis por máquinas e por humanos Definirmos a estrutura dos dados junto com os valores Mostrarmos claramente os relacionamentos entre os dados Separarmos os dados da estrutura de apresentação Usarmos padrões abertos e flexíveis

9 XML – Extensible Markup Language

10 Histórico de XML XML é um subconjunto de SGML.
O padrão de XML é regido pela W3C (World Wide Web Consortium):

11 XML  HTML HTML descreve como os dados são visualizados.
<TABLE> <TR> <TD>Codigo</TD><TD>Preco</TD></TR> <TR> <TD> </TD> <TD> R$ 5,50</TD></TR> </TABLE> HTML descreve como os dados são visualizados. XML define a estrutura dos dados. <Produto> <CodigoAutomacao> <Codigo> </Codigo> <Digito>3</Digito> </CodigoAutomacao> <Preco>5,50</Preco> </Produto>

12 Onde o XML é utilizado Automação de processos. (Configuração e troca de dados); Distribuição de dados (Troca de informação via Web e integração B2B); Web Services; Aplicações e integração de dados (Aplicações que precisam de repositórios de dados); Exemplo Real de Utilização: NOTA FISCAL ELETRÔNICA

13 Aplicação Real de XML Exemplo de Fluxo (

14 Aplicação Real de XML https://github.com/nfephp-org/nfephp
Nota Fiscal Eletrônica (XML, XML Schema e PHP) O NFePHP é um projeto de software livre para Nota Fiscal Eletrônica. Na versão atual ele já realiza as principais tarefas, tais como: Geração da nota fiscal em XML a partir de TXT; Assinatura da nota utilizando certificado digital e-CNPJ e e-NFe A1 (em PHP nativo!); Envio e validação das notas em lotes por web services; Geração da DANFE; Exercício Prático: Fazer Download e Testar a API da NFE

15 Sintaxe de um documento XML
Elemento básico de uma estrutura XML <IdElemento> Conteúdo </IdElemento> <Codigo> </Codigo> <Digito>3</Digito> <Preco>5,50</Preco>

16 Sintaxe de um documento XML
Elemento básico de uma estrutura XML <IdElemento> Conteúdo </IdElemento> <Codigo> </Codigo> <Digito>3</Digito> <Preco>5,50</Preco>

17 As duas interpretações usando XML
<Produto> <CodigoAutomacao> <Codigo> </Codigo> <Digito>3</Digito> </CodigoAutomacao> <Preco>5,50</Preco> </Produto> <Transacao> <Operacao>07</Operacao> <Data Operacao> 01/10/1999 </Data Operacao> <Valor>10.500,00</Valor> <Conta>000475</Conta> </Transacao>

18 Uso de metadados <Produto>
<Codigo Tipo=“EAN13”> <Codigo> <Digito>3</Digito> <Preco Moeda=“R$”>5,50</Preco> </Produto> <Transacao> <Operacao>07<Operacao> <DataOperacao Format=“DD/MM/AAAA”> 01/10/1999</DataOperacao> <Valor Moeda=“R$”>10.500,00</Valor> <Conta>000475</Conta> </Transacao>

19 Sintaxe de um documento XML
Instruções de processamento <?xml version=“1.0” ?> Comentário <!-– Comentário !> <Produto> </Produto> Elemento raiz (root) <Codigo> </Codigo> Sub-elementos <Peso></Peso><Custo /> Elemento vazio <Preco Moeda=“R$”>5,50</Preco> Atributos

20 Criação de um documento XML
Regras para um documento XML bem formado: Um documento tem só um elemento raiz Os indicadores de início e fim de elementos têm que combinar Consistência dos nomes Elementos aninhados corretamente Valores dos atributos entre aspas Não existem atributos repetidos no mesmo elemento. Regra para um documento válido: Se um documento XML tem uma instrução informando o tipo do documento (DTD ou Schema), este só é válido se satisfaz todas as condições do DTD ou Schema

21 Ferramentas para Desenolvimento
Microsoft Notepad ou qualquer editor de texto Altova XMLSPY - Eclipse + plugin xml - Netbeans + plugin xml - Aptana - Existem inúmeras outras ferramentas no mercado...

22 Exemplo básico de XML Use o Notepad para criar um arquivo XML que representa um cliente. Inclua as seguintes informações: Nome, sexo, identidade, data de nascimento, local de nascimento, nacionalidade e endereço. Incluir como atributo o tipo de cliente, código do cliente e o formato da data.

23 Exemplo básico de XML <Cliente codigo="001" tipo="Normal">
<Nome>Jose Maria</Nome> <Sexo>Masculino</Sexo> <Identidade> </Identidade> <Nacimento> <Data format="dd/mm/aaaa">23/12/1966</Data> <Local>Recife-PE</Local> </Nacimento> <Endereco>Av 17 de agosto 344, Casa Forte</Endereco> </Cliente> Depois de criar o arquivo, utilizar o browser para visualizar. Que mudança este documento deve sofrer para suportar mais de um Cliente?

24 Gramática XML Extensibilidade Flexibilidade
XML permite que uma instituição ou grupo de instituições crie seu conjunto de indicadores e atributos para satisfazer suas entidades de dados e para poder validar os dados enviados.

25 Gramática A gramática de uma estrutura XML define Elementos:
Os nomes que são utilizados para definir os elementos Quais os Sub-elements de um determinado elemento e se são opcionais ou obrigatórios Em que ordem os elementos devem aparecer e a quantidade mínima e máxima de elementos Atributos: Quais os atributos que são obrigatórios e quais os opcionais O tipo de dados do atributo e os valores padrão deste atributo.

26 Gramáticas XML Existem hoje áreas com gramáticas de XML bem definidas, por exemplo: KML - Keyhole Markup Language CML - Chemical Markup Language GML - Geography Markup Language SVG -SCALABLE VECTOR GRAPHICS Exercício de Pesquisa Para a próxima aula, apresentar uma lista de no mínimo 10 gramáticas, de aplicações específicas, que são baseadas em XML

27 Name space É utilizado para resolver problemas de conflitos de nomes de elementos em diferentes contextos. Sintaxe: <prefixo:nome_elemento xmlns:prefixo=url do name space> </prefixo:nome_elemento>

28 Name space - Exemplo Pagamento de um cliente:
< Cliente>12345</Cliente> <Valor>1000</Valor> </pagamento> Pagamento do salário de um funcionário: <Funcionario>12345</Funcionario>

29 Name space - Exemplo Pagamento de um cliente:
<cont:pagamento xmlns:cont=“ < cont:Cliente>12345</cont:Cliente> < cont:Valor>1000</cont:Valor> </cont:pagamento> Pagamento do salário de um funcionário: <salario:pagamento xmlns:salario=“ <salario:Funcionario>12345</salario:Funcionario> < salario:Valor>1000</salario:Valor> </salario:pagamento>

30 Tópicos a serem abordados
Introdução e Conceitos Básicos Validação de Documentos XML Transformação Dinâmica de XML Manipulação de XML Uso de XML Ferramentas de Desenvolvimento

31 Validação de Dados Motivação
Validação da gramática e da consistência de documentos XML a serem processados Necessidade de processamento de documentos XML bem formados e com gramática correta Garantia da correta interpretação de um XML por ambas as partes envolvidas no seu envio e recepção.

32 Validação de dados – Tópicos
O que pode ser validado? O que não pode ser validado? O que são Schemas? Processo de validação de um arquivo XML Sintaxe de Schemas

33 O que pode ser validado? Estrutura do XML Elementos
Que elementos são permitidos Que elementos filhos são requeridos ou opcionais Se a ordem ou a quantidade de elementos é importante Que tipos de conteúdo são permitidos

34 O que pode ser validado? (cont.)
Estrutura do XML Atributos Que atributos são requeridos ou opcionais Quais são os tipos de dados dos atributos Se existem valores default para os atributos

35 O que não pode ser validado?
Semântica Necessidade de entendimento comum prévio do significado dos tags que representam os elementos e dos atributos associados a estes Problemas de diferença de formatos/semântica podem ser resolvidos com XSL Deve existir conhecimento da semântica por parte de quem elabora os XSL’s

36 O que não pode ser validado? (cont.)
Diferenças de Semântica Nomes de elementos Atributos x elementos Ambigüidades <?xml version=“1.0” ?> <Preco> <Valor Moeda=“R$”> 120,00 </Valor> <Tipo>VENDA</Tipo> </Preco> <?xml version=“1.0” ?> <Preco> <Tipo>R$</Tipo> <Moeda>REAL</Moeda> <Val>120,00</Val> </Preco>

37 O que são Schemas? Schemas
Documento XML que contém regras de validação dos atributos e elementos de um documento XML Sintaxe própria para aplicação das regras de validação A validação é realizada quando o documento XML é carregado

38 Processo de validação de um XML
O parser usa o Schema para aplicar as regras de transformação nele definidas ao documento XML em questão


Carregar ppt "XML – Extensible Markup Language (Introdução)"

Apresentações semelhantes


Anúncios Google