66
© 2009 IBM Corporation 16 Outubro 2009 IBM Academic Initiative Mini Curso XML - FAESA XML Básico Loiane Groner Java Developer/IT Specialist [email protected]

Curso XML - IBM Academic Initiative

Embed Size (px)

DESCRIPTION

Mini curso de XML, com duração de 3 horas e meia que foi apresentado na FAESA, pelo programa IBM Academic Initiative.Todo o conteúdo presente é de autoria de Loiane Groner

Citation preview

Page 1: Curso XML - IBM Academic Initiative

© 2009 IBM Corporation

16 Outubro 2009IBM Academic Initiative

Mini Curso XML - FAESA

XML Básico

Loiane GronerJava Developer/IT [email protected]

Page 2: Curso XML - IBM Academic Initiative

2

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Quem sou eu na IBM?

� IBM – Março de 2009� IBM Hortolândia – Campinas - SP� Analista de Sistemas + Desenvolvedora Java� Projeto Internacional : Medco Account� Team: USA + Brasil� Tecnologias:J2EE, WebSphere, Spring, iBatis, ExtJS,

JQuery, Oracle, Rational Application Developer (RAD).

� Academic Initiative Ambassador - Abril/2008

Page 3: Curso XML - IBM Academic Initiative

3

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Agenda

�Fundamentos XML�Documentos XML bem formados�Validação de documentos XML com DTD e

Schema�Java e XML�Manipulação com a API DOM�Manipulação com a API SAX�Frameworks para leitura emanipulação de arquivos XML

Page 4: Curso XML - IBM Academic Initiative

© 2009 IBM Corporation

16 Outubro 2009IBM Academic Initiative

Mini Curso XML - FAESA

Fundamentos XML

Page 5: Curso XML - IBM Academic Initiative

5

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

O que é XML? � Extensible Markup Language (XML)

–Linguagem de marcação de dados

� Descreve dados estruturados

� Definição Infinita de tags

–Exemplo: pessoa, nome, endereço, telefone, etc

Page 6: Curso XML - IBM Academic Initiative

6

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

XML x HTML� HTML: descreve aparência e ações

� XML: descreve o que representa

Page 7: Curso XML - IBM Academic Initiative

7

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Estrutura de um documento XML (1/2)� Tags, elementos, atributos

� Tag: “<“ + texto + “>”

–Início: <nome> ; Fim: </nome>

� Elemento: <inicio> conteúdo </inicio>

� Atributos: par nome+valor na tag <inicio>

–<inicio atributo=“valor”> conteúdo </inicio>

� Elemento: <inicio> conteúdo </inicio>

� Apenas um único elemento: elemento raiz

Page 8: Curso XML - IBM Academic Initiative

8

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Estrutura de um documento XML (2/2)

Page 9: Curso XML - IBM Academic Initiative

9

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Estrutura Árvore XML

Page 10: Curso XML - IBM Academic Initiative

10

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Para que usar XML?� Principal: 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

� Padrão internacional

� Estruturar informação: XML pode ser usado para identificar qualquer tipo (hierárquico) de estrutura

� 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 tranferê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 11: Curso XML - IBM Academic Initiative

11

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Por que usar XML?� É recomendado pelo W3C (World Wide Web Consortium);

� É padrão aberto, você não precisa pagar nada para usar

� Existem várias ferramentas e editores bons no mercado, e o melhor: free

� Simplicidade e Legibilidade, tanto para humanos quanto para computadores

� Separação do conteúdo da formatação

� Concentração na estrutura da informação, e não na sua aparência

� Possibilidade de criar sua própria sintaxe de dados

� Possui suporte a Unicode, permitindo que praticamente qualquer informação escrita em língua humana possa ser transmitida

� Permite validação, o que torna os teste unitários mais efetivos, e a construção de aplicações bem mais fácil

Page 12: Curso XML - IBM Academic Initiative

12

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Quando não usar XML? (1/2)� A sintaxe do XML é redundante ou torna-se grande em

relação a representações de dados semelhantes

� A redundância pode afetar a eficiência quando utiliza-se o XML para armazenamento, afetando também transmissão e processamento, os custos ficam muito mais elevados

� Resumindo: em muitas situações, o XML pode ser substituído por documentos com formatos mais simples, como os arquivos properties ou texto. A grande quantidade de informação repetida pode prejudicar a velocidade de transferência real da informação (se estiver em formato XML)

Page 13: Curso XML - IBM Academic Initiative

13

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Criando um documento XML

Page 14: Curso XML - IBM Academic Initiative

14

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Partes de um XML

� Declaração XML� Prólogo� Instruções de processamento� Elementos e atributos� Comentários� Entidades� Seções CDATA

Page 15: Curso XML - IBM Academic Initiative

15

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Declaração XML

� A declaração XML utiliza o elemento <?xml?>. Se utilizar <?XML?> terá um erro de validação.

� 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;- Enconding – é 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.

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

Page 16: Curso XML - IBM Academic Initiative

16

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Comentários

<?xml version="1.0" encoding="UTF-8"?><!-- Aqui começa o email --><mensagem>

<!-- quem enviou a mensagem --><de>alguém</de><para>outra pessoa</para><!-- tag assunto foi comentada --><!--<assunto>digite o assunto</assunto>--><texto>abcdefghijk</texto>

</mensagem>

Page 17: Curso XML - IBM Academic Initiative

17

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Instruções de Processamento

� O XML permite que você utilize instruções especiais para passar informação para os programas que possam ler o documento XML. Uma instrução de processamento comença com “<?” e termina com “?>“. A única restrição é que você não pode usar <?xml?> ou <?XML?> (que também é reservado).

� No exemplo abaixo, a instrução de processamento é para o Cocoon, um framework da Apache que é focado em publicação XML. Quando o Cocoon está processando um XML, procura por instruções que comecem com cocoon-process, então processa o XML de acordo com esta instrução. O atributo type=”sql” indica que o documento XML contém uma instrução SQL.

<?cocoon-process type="sql"?>

Page 18: Curso XML - IBM Academic Initiative

18

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Prólogo

� O prólogo aparece no início de um documetno XML, e contém informações sobre o restante do documento. Um prólogo pode conter uma declaração XML, comentários (que descreve o documento), instruções de processamento, e declarações de tipo de documento (DTD).

� O XML abaixo exemplifica um prólogo contendo uma declaração XML, comentário, uma instrução de processamento e um DTD (no elemento <!DOCTYPE>).

<?xml version="1.0" encoding="UTF-8"?><!-- comentário --><?comando tipo="simples" ?><!DOCTYPE mensagem SYSTEM "prologo.dtd"><mensagem>mensagem</mensagem>

Page 19: Curso XML - IBM Academic Initiative

19

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Entidades (1/2)

� As entidades são constantes associadas a um valor de texto. São substituídas durante o processamento do documento XML. Por exemplo, se o texto “XML é legal” for aparecer em várias partes do documento podemos criar uma entidade assim:

� Após a criação desta entidade, se quiser usar essa frase no documento XML, basta substituir por &legal.

� Também existem algumas entidades pré-definidas. O XML possui alguns caracteres especiais, que podem até gerar conflito com o conteúdo do documento. Por exemplo, suponha que você queria utilizar a fórmula “x < y”. No XML, a fórmula ficaria assim:

<!ENTITY legal " XML é legal ">

<formula>x < y</formula>

Page 20: Curso XML - IBM Academic Initiative

20

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Entidade (2/2)

� Observe que a leitura não ficou muito legível. O que está confundindo a leitura é o carácter “<”, já que as tags são identificadas por este também. Para evitar essa confusão, podemos utilizar uma entidade pré-definida. O XML escrito corretamente com a entidade fica assim:

� A listagem abaixo contém as entidades pré-definidas:

� * &lt; que corresponde a <� * &gt; que corresponde a >� * &amp; que corresponde a &� * &quot; que corresponde a “� * &apos; que corresponde a ‘

� Alguns documentos XML possuem caracteres não usuais, especialmente os documentos que possuem conteúdo científico ou matemático. Se quisermos inserir o símbolo Π (pi), devemos fazer referência ao seu código no Unicode, como abaixo:

<formula>x &lt y</formula>

<PI>&#227;</PI>

Page 21: Curso XML - IBM Academic Initiative

21

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

CDATA (1/2)

� A seção CDATA serve para prevenir o processamento de uma porção de conteúdo. Tudo o que está nessa seção não seráprocessado pelo parser.

<?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 22: Curso XML - IBM Academic Initiative

22

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

CDATA (2/2)<?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 23: Curso XML - IBM Academic Initiative

23

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Tags e Atributos

� A especificação XML é bem específica em relação ao nome das tags. Você pode começar uma tag com uma letra, underscore (_) ou dois pontos (:). Os próximos caracteres podem ser letras, dígitos, underscore, hífen, e dois pontos. Espaço não é permitido. Exemplo de tags que são permitidas:

<documento><_documento><documento01><documento-01>

<2documento><.documento><numero documento><numero*documento><DOCUMENTO(ID)>< 2009>

Page 24: Curso XML - IBM Academic Initiative

24

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Documento XML bem formado

Page 25: Curso XML - IBM Academic Initiative

25

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

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

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

Page 26: Curso XML - IBM Academic Initiative

26

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

O Elemento Raiz deve conter todos os outros elementos

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

Page 27: Curso XML - IBM Academic Initiative

27

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

O documento XML deve ter pelo menos 1 elemento

<mensagem>Olá!</mensagem>

Page 28: Curso XML - IBM Academic Initiative

28

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Elementos devem ter tags inicial e final

<mensagem><frase>Olá Mundo!

</mensagem>

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

</mensagem>

Page 29: Curso XML - IBM Academic Initiative

29

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

As tags são case-sensitive

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

Page 30: Curso XML - IBM Academic Initiative

30

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Elementos não podem se sobrepor

<mensagem>Mensagem de<saudacao>Saudacao

</mensagem></saudacao>

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

</mensagem>

Page 31: Curso XML - IBM Academic Initiative

31

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Os atributos devem estar entre aspas

<mensagem id>Olá!</mensagem>

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

</documento>

Page 32: Curso XML - IBM Academic Initiative

32

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Os atributos devem ser únicos

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

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

Olá</mensagem>

Page 33: Curso XML - IBM Academic Initiative

33

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Utilize < e & apenas para iniciar uma tag e entidade

� 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 34: Curso XML - IBM Academic Initiative

34

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Validação de documentos XML

Page 35: Curso XML - IBM Academic Initiative

35

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

O que é modelar um documento XML?

Page 36: Curso XML - IBM Academic Initiative

36

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Como saber se eu preciso criar um documento que especifica o modelo do meu XML?

� Os documentos XML são escritos por pessoas (ou uma aplicação) e são usados como dados para outros aplicativos. Quando você restringe, cria uma padrão, escrever um programa que vai consumir aquele XML fica muito mais fácil e reduz bastante a possibilidade de erros.

� Seu documento XML deve ter alguns campos obrigatórios. Por exemplo, um email precisa ter um destinatário, se não tiver, como você vai enviar a mensagem?

� Você solicita um XML a pessoas que não estão familiarizadas com a estrutura do XML. Como o modelo é um documento, você pode torná-lo público, e essas pessoas poderão fazer o download. Um modelo de documento XML também pode ser utilizado em editores de XML (serve de guia, pois contém a lista dos elementos apropriados, e que podem ser usados para construir o XML).

Page 37: Curso XML - IBM Academic Initiative

37

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

E se eu não quiser usar um documento que especifique o conteúdo do meu XML?

� Vocabulário ilimitado: você pode utilizar qualquer nome para seus elementos.

� Sem regras de gramática: um elemento pode conter qualquer coisa: conteúdo misto, elementos, texto, ou pode ser vazio.

� Sem restrições aos atributos: qualquer elemento pode conter qualquer atributo.

Page 38: Curso XML - IBM Academic Initiative

38

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Como criar o modelo?

�DTD�Schema

Page 39: Curso XML - IBM Academic Initiative

39

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Validação de documentos XMLDTD

Page 40: Curso XML - IBM Academic Initiative

40

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Sintaxe

� Declaração de um conjunto de elementos. Você não pode utilizar outros elementos que não estejam definidos neste conjunto. Imagine como se fosse o vocabulário do XML.

� Definição do conteúdo para cada elemento. A definição de conteúdo é um padrão que nos diz quais os elementos ou dados que aquele determinado elemento XML pode conter, em qual ordem, quantidade e se é opcional ou obrigatório. Imagine como se fosse a gramática do XML.

� Declaração de um conjunto de atributos para cada elemento. Cada declaração de atributo define o nome, tipo (datatype), valores padrões (se aplicável), e comportamento (obrigatório ou opcional).

Page 41: Curso XML - IBM Academic Initiative

41

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Estrutura

Page 42: Curso XML - IBM Academic Initiative

42

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Elementos do DTD (1/2)

� 1- Elementos vazios: a maneira mais simples de declarar um elemento vazio é através da palavra-chave EMPTY. Exemplo: <!ELEMENT grafico EMPTY>2- Elementos que não contém restrições de conteúdo: neste tipo de declaração, o elemento XML pode conter qualquer outro elemento. Exemplo: <!ELEMENT contem_qualquer_coisa ALL>

� 3- Elementos que podem conter apenas dados do tipo texto (informação): Para elementos que apenas podem conter informação, mas não outros elementos, utiliza-se (#PCDATA), que significa “parsed-character data”. Isso significa que os caracteres serão verificados por um parser XML à procura de referências de entidades, e caso houver alguma, então esta entidade será substituída por seu valor correspondente.

Page 43: Curso XML - IBM Academic Initiative

43

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Elementos do DTD (2/2)

� 4- Elementos que podem contem apenas outros elementos:

- , -> Descreve uma sentença obrigatória de elementos. Também funciona como operador E (AND). Exemplo: A,B significa que B deve vir depois de A. B seguido de A não é permitido.

- | -> Descreve uma alternativa, funciona como o operador OU (OR). Exemplo: A|B|C significa que qualquer elemento é aceitável. Apenas uma opção épermitida, você deve escolher entre um dos três elementos.

- (…) -> Agrupa o conteúdo. Você pode usar a quantidade e parênteses que for preciso. Exemplo: (A|B), C significa que você deve escolher entre A ou B, e este deve ser seguido por um C. Portanto, tanto A C e B C são permitidos.

- ? -> Descreve uma sentença opcional. Exemplo: A ? significa que você pode escolher se vai usar ou não o elemento A.

- + -> Requere que pelo menos uma vez o elemento seja declarado, e não limite de quantas vezes este se repete. Exemplo: (A|B)+ significa que deve haver um número positivo e diferente de zero de As ou Bs. A sequência ABBBAAA éválida.

- * -> Significa que o elemento pode aparecer várias vezes, não tendo limite, e também é opcional. Exemplo: (A|B)* significa que a sequência pode ter tamanho zero e pode ter inúmeros elementos A ou B.

Page 44: Curso XML - IBM Academic Initiative

44

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Atributos DTD (1/3)

� 1- CDATA (character data)Qualquer caracter pode ser usado, incluindo caracteres de entidades.Declaração: <!ATTLIST circulo raio CDATA “12 cm”>Exemplos: dimensoes=”35×12x9 mm” | expressao=” 5 + 7 = 3 * 4 “

� 2- NMTOKEN (name token)Um name token é uma sequência de caracteres que começam com uma letra e pode conter números, letras e alguns caracteres de pontuação.Exemplo: <!ATTLIST parte numero NMTOKEN #REQUIRED>Obs.: qualquer espaço em branco (whitespace) é removido pelo processador XML.

� 3- ID (unique identifier)Este tipo de atributo é especial, pois fornece ao atributo a garantia de ser único no documento. Dois elementos do XML não podem ter o mesmo valor de um atributo do tipo ID.Exemplo: <!ATTLIST nome_id ID #REQUIRED>

Page 45: Curso XML - IBM Academic Initiative

45

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Atributos DTD (2/3)

� 4- IDREF (identifier reference)Este tipo de atributo é similar ao tipo ID, mas em vez do valor do atributo se referir ao elemento em questão, refere-se ao ID de outro elemento. Se não existir nenhum elemento com o ID referenciado, o parser mostrará um erro. Este tipo é usado para fazer referência a relacionamentos.Exemplo: <!ATTLIST relacionamento cliente ref IDREF #REQUIRED>

� 5- IDREFS (identifier reference list)Uma lista separada por um espaço de valores de IDREF. Se não existir nenhum elemento com o ID referenciado, o parser mostrará um erro.Exemplo: <!ATTLIST boxdvd refs IDREFS #REQUIRED>

� 6- ENTITY (nome de entidade)Este tipo aceita um nome de entidade como valor. Você pode usá-lo após declarar uma entidade no DTD.Exemplo: <!ATTLIST bulletlist icon ENTITY #IMPLIED>

� <!ENTITY bluedot SYSTEM “icons/bluedot.png”>

Page 46: Curso XML - IBM Academic Initiative

46

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Atributos DTD (3/3)

� 7- ENTITIES (lista de nomes de entidades)O valor do atributo é uma lista de nomes de entidades separados por um espaço.Exemplo: <!ATTLIST album filelist ENTITIES #REQUIRED>

� 8- Lista de valores EnumeradosUma lista de valores enumerados é uma lista com palavras-chave que você define. Esse tipo de atributo é util quando se tem um conjunto pequeno de possibilidades de valores. Na declaração, você especifica a lista de valores cercada por parênteses, separados por barras verticais (|).Exemplo: <!ATTLIST cliente genero ( F | M ) #IMPLIED>Um atributo só pode ter um valor: <cliente genero=”F”>

� 9- NOTATION (lista de notações)O valor de um atributo do tipo notação consiste em uma sequência de name tokens.Uma notação pode ser definida para preservar espaços em um elemento que normalmente seriam removidos pelo parser.

Page 47: Curso XML - IBM Academic Initiative

47

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Hands On

Page 48: Curso XML - IBM Academic Initiative

48

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Validação de documentos XMLSchema

Page 49: Curso XML - IBM Academic Initiative

49

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Hands On

Page 50: Curso XML - IBM Academic Initiative

50

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Java e XML

Page 51: Curso XML - IBM Academic Initiative

51

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Page 52: Curso XML - IBM Academic Initiative

52

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

DOM

Page 53: Curso XML - IBM Academic Initiative

53

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Mapa DOM

Page 54: Curso XML - IBM Academic Initiative

54

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Interfaces Principais

Page 55: Curso XML - IBM Academic Initiative

55

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Exemplo

Page 56: Curso XML - IBM Academic Initiative

56

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Hands On

� Vamos ver código!

Page 57: Curso XML - IBM Academic Initiative

57

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

SAX

Page 58: Curso XML - IBM Academic Initiative

58

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Eventos

� startDocument() -Indica que o parser achou o início do documento XML. Este evento não lhe passa qualquer informação, apenas indica que o parser vai começar a escanear o arquivo XML.

� endDocument() – Indica que o parser achou e fim do documento XML.

� startElement(…) – Indica que o parser achou o início de uma tag (tag de abertura/início). Este evento fornece o nome do elemento, o nome e valor dos atributos deste elemento, e também pode fornecer as informações sobre o namespace.

� characters(…) – Indica que o parser achou algum Texto (Informação).

� endElement(…) -Indica que o parser achou o fim de uma tag/elemento. Este evento fornece o nome do elemento

Page 59: Curso XML - IBM Academic Initiative

59

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Exemplo

� statDocument() � startElement chamado com name=”exemplo” e attrib contendo

um único valor para id � startElement chamado com name=”no_de_texto”� characters chamado uma ou mais vezes com o conteúdo “Olá

mundo”� endElement chamado com name=”no_de_texto”� endElement chamado com name=”exemplo”� endDocument()

Page 60: Curso XML - IBM Academic Initiative

60

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Hands On

Page 61: Curso XML - IBM Academic Initiative

61

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Frameworks

Page 62: Curso XML - IBM Academic Initiative

62

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Alguns Frameworks

� XStream� Xml Beans� Digester� Xerces/Xalan� DOM4J� Castor Project� JiBX

� Abstraem toda a parte “manual” da leitura DOM/SAX

Page 63: Curso XML - IBM Academic Initiative

63

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

E agora?

Page 64: Curso XML - IBM Academic Initiative

64

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Referência dos projetos/arquivos

Os arquivos apresentados neste mini-curso estão hospedados no GitHub:

� Validação de documentos XML com DTD – http://github.com/loiane/DTD

� Validaçao de documentos XML com Schema –http://github.com/loiane/Xml-Schema

� Leitura arquivos XML em Java com a API DOM –http://github.com/loiane/ManipulacaoXMLComDOM

� Manipulação arquivos XML em Java com a API DOM –http://github.com/loiane/ModificacaoXMLComDOM

� Leitura arquivos XML em Java com a API SAX –http://github.com/loiane/ManipulacaoXMLComSAX

Page 65: Curso XML - IBM Academic Initiative

65

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

OBRIGADO!!

Page 66: Curso XML - IBM Academic Initiative

66

Mini Curso XML

XML Básico – FAESA – 16-out-2009 | Confidencial © 2009 IBM Corporation

Contato

�Email: [email protected]�Office: [email protected]�Msn/Gtalk (raro): [email protected]� Twitter: @loiane�Wave: [email protected]�Blog: http://www.loiane.com