curso de xml completo

Upload: tiago-lisboa

Post on 16-Jul-2015

967 views

Category:

Documents


7 download

TRANSCRIPT

UNOESTE FIPP Faculdade de Informtica de Pres Prudente

Silvio A Carro 2009

XML: Extensive Markup Language, XML um sistema gramatical para construo de linguagens de marcao personalizadas. A XML amplia o poder da HTML tendo em vista que possvel criar suas prprias tags de marcao a partir de um conjunto de regras bem formadas. Um documento XML pode ser escrito em qualquer editor de texto e para qualquer plataforma. XML estruturada: Na escrita de um documento XML, no apenas inserirmos as informaes no arquivo, mas tambm uma estrutura para estes dados no arquivo. XML independente de linguagem.Pessoa: Jos da Silva 72 Maria Ap da Siva Joao da Silva

Jos da Silva 72 Maria Ap da Silva Joo da Silva

nome: Jos da Silva peso (kg): 72 mae: Maria Ap da Siva pai: Joao da Silva

XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html

1 XML uma modo de representar dados estruturados em arquivo texto XML um conjunto de regras para projetar formatos textuais que permitem estruturar os dados XML no uma linguagem de programao e voc no precisa ser programador para usar e aprender XML torna fcil a tarefa do computador gerar dados, ler dados e garantir que a estrutura de dados no ambgua.

XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html

2 XML parece com HTML, mas no HTML. Como HTML, o XML usa tags e atributos HTML especifica o que cada tag e atributo significa, e, freqentemente, como o texto ser mostrado no browser. XML usa tags s para delimitar o texto, deixando para a aplicao o trabalho de interpretar as tags.

XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html

3 XML texto, mas no para ler. XML pode ser editado em qualquer editor do tipo texto. Porm as regras para arquivos XML so rgidas: uma tag esquecida ou um atributo sem aspas tornam o arquivo sem uso. Est escrito na especificao oficial de XML: "Se o arquivo esta danificado, a aplicao deve interromper imediatamente o processamento e emitir um erro".

XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html

4 XML prolixo, mas isto no problema. Dados no formato XML ocupam bem mais espao que dados no formato binrio. Disco no mais problema Algoritmos de compresso HTTP/1.1 consegue comprimir arquivos on the fly (na transmisso)

XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html

5 XML uma famlia de tecnologias.XSL XSL-FO XHTML X Signature X Encription

Apresentao DTD

Segurana

DOM Modelo XMLSchema

XMLQuery

Acesso SAX

XLink

XPointer

XPath

XQuery

XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html

6 XML novo, mas no to novo.

XML em 7 pontos:web.singnet.com.sg/~xymedia/xml/XML7points.html

7 XML license-free, independente de plataforma e fornecedor. Acesso a uma enorme e crescente comunidade de ferramentas e profissionais. Recomendada pela W3C

Principais benefcios da linguagem XML:Buscas mais eficientes Web Semntica

Desenvolvimento de aplicaes flexveis para a Web

Principais benefcios da linguagem XML: Integrao de dados de fontes diferentes Web Services

Computao e manipulao locais Mltiplas formas de visualizar os dados CSS e XSLT

Fcil distribuio na Web via HTTP

Estrutura de um arquivo XML

XML Prolog Elementos Atributos Comentrios

Des.Sist.Amb.WEB baseados Tec. Java 18 meses Web Semantica 17/06/2006 Silvio Antonio Carro

Estrutura de um arquivo XML

XML Prolog

Declarao do XML. Primeira parte de qualquer documento XML bem formado. Define a verso do XML utilizado assim como outra informao: standalone= yes toda a validao necessria est no prprio documento

Estrutura de um arquivo XML

Elementos

Componentes bsicos de um doc. XML. So identificados por tags Exemplos:

O Rei vai nu Eu

Podem existir elementos vazios. Terminam com o smbolo / O nome dos elementos devem comear por uma letra case-sensitive: diferente de No se podem omitir ou sobrepor

Tutorial Eu

No vlido

Estrutura de um arquivo XML - Elementos

Os documentos XML devem possuir um nico elemento raiz (root)

Elemento raiz

Estrutura de um arquivo XML - Elementos

Todo elemento tem sua tag de fechamento

As tags de fechamento so obrigatrias. Isso significa que, ao contrrio do que ocorre em HTML, toda tag de abertura tem, obrigatoriamente, sua tag de fechamento.

Um elemento pode conter texto (valor), subelementos ou ambos:

apostila.pdf

Estrutura de um arquivo XML

Para melhor legibilidade, os elementos devem ser aninhados corretamente:

aplicativo.java fonte em java

Atributos em XML

Os atributos em XML so usados para descrever os elementos XML ou para fornecer uma informao adicional sobre os elementos.

Ana Rachel feminino Ana Rachel

No primeiro exemplo sexo um atributo; no ltimo exemplo sexo um elemento.

Atributos em XML

No existe uma regra que indique quando voc deve usar um ou outro, o que vale o bom senso. Mas a utilizao de atributos deve ser evitada se voc pode descrever seus dados como elementos. Use atributos para descrever como interpretar o contedo de um elemento:

100

Prefira os elementos aos atributos Atributos no podem conter valores que se repetem (elementos podem)

1

Atributos no so expansveis

2 Atributos no podem descrever estruturas

3

Atributos so de difcil manuteno

Projetando um documento XML passo a passo:1.

Rena os elementos de dados que voc precisa incluir no documento XML Verifique se no h um padro pronto e disponvel Analise quais elementos de dados precisam ser refinados ou agrupados

1.

1.

Endereo -> rua, nmero, cidade, CEP ...

Apresente um nome adequado de elemento que descreva o documento XML inteiro.

Origem do elemento raiz

Repita esse processo e d nomes aos outros elementos

Exemplo: O Mestre da tartaruga Mr. Je Patrick Sport Ian Stadium Passos Dias Aguiar Mota 120 2001 Cada dia que passava, o Mestre tornava-se mais mestre...a tartaruga essa, comia que se fartava 4

Exerccio Time de Futebol.- Crie um XML vlido para representar um time de futebol - Use o XMLSpy

Namespaces Ambiguidade Birdy Namespaces so teis para distinguir entre William Wharton dois elementos definidos com um 0679734120 mesmo nome, mas que Knopf pertencem a esquemas diferentes. Alem disso, um documento pode associar elementos Amazon.com (800)555-1313 previamente definidos sua estrutura, desde $24.95 que utilize referencias aos esquemas que definem esses Borders elementos. $22.36

Namespaces-

Forma de evitar conflitos de nomes (ex. Variveis e Mdulos de umprograma);

-

Forma de permitir que dois elementos com o mesmo nome possam existir embora em contextos diferentes;Exemplo:

-

xxx 27 234567

Namespaces As URLs, URIs, e URNs no precisam existir, servem apenas para diferenciao de nomes

- O atributo xmlns necessrio distinguir namespaces - O valor de xmlns deve referenciar um URI de um Namespace - Um documento pode conter Namespaces especficos ou por default; - Os elementos/ atributos sem prefixo esto associados ao Namespace por default

Birdy William Wharton 0679734120 Knopf Amazon.com (800)555-1313 $24.95 < company.NAME> Borders $22.36

No Confunda!Os bancos de dados constituem-se numa excelente soluo para armazenar grandes volumes de dados e recuper-los rapidamente. O estudo do XML se concentra em uma questo diferente do armazenamento de dados: como transmitir dados de um programa para outro em uma forma estruturada.

Outros Exerccios:a) Formate seu RG em XML b) Modele um pedido de compras em XML, considere os dados do comprador e itens de produto.

DTDA DTD uma sequncia de regras que descreve os elementos e atributos vlidos para documentos XML. O propsito de uma DTD formalizar a descrio de um documento

Criando documentos vlidos (DTD)

Doc. XML Bem formadoSegue as especificaes do standard XML, ou seja, apresenta-se como sintaticamente correto.

Doc. XML VlidoUm documento XML Bem formado que respeita as regras presentes num Document Type Definition (DTD) ou XML Schema, garantindo estrutura do documento e consistncia de dados.

Um documento XML pode ser Bem-Formado e/ou Vlido

Criando documentos vlidos (DTD)

Para que um documento XML seja um arquivo vlido temos que usar o que chamamos de Definio do Tipo do Documento ou, originalmente Document Type Definition DTD. O propsito da DTD definir uma construo de blocos vlidas para um documento XML, e ela define a estrutura do documento usando uma lista de elementos vlidos. A DTD pode ser declarada dentro de um documento XML ou num arquivo parte. O DTD permite descrever cada marca e fornecer regras para interpretar cada informao usada em um arquivo XML. Quando usada em um arquivo XML a DTD aparece entre colchetes [ e termina com um colchete, seguido de um sinal de maior (]>). Gramtica DTD definida com a declarao de elementos (ELEMENT) e de seus atributos (ATTLIST)

Criando documentos vlidos (DTD) para (#PCDATA)> de (#PCDATA)> cabecalho (#PCDATA)> corpo (#PCDATA)>DTD define:

as marcas (tags) que podem ser utilizadas no documento XML;

o nmero e a sequncia de tags; os atributos de cada tag os tipo de valores que cada atributo pode vir a ter (opcional)

Janice Jefferson Lembrese Amanha voc tem prova de matemtica

DTD - Sintaxe

Tom Jane Reminder Don't forget me this weekend!

XSD Simple ElementsXML Schema define os elementos de um arquivo XML. Um simple element um elemento XML que contm apenas texto. Ele no pode conter outros elementos ou atributos.

onde xxx o nome do elemento e yyy seu tipo de dados: xs:string xs:decimal xs:integer xs:positiveInteger xs:boolean xs:date xs:time

Exemplos... Refsnes 36 1970-03-27 ...

Default and Fixed Values (Simple Elements)

Atributos

onde xxx o nome de um atributo e yyy especifica o tipo de dado do atributo: xs:string xs:decimal xs:integer xs:positiveInteger xs:boolean xs:date xs:time

ExemplosSmith

Default and Fixed Values (Atributos)

Optional and Required (Atributos)

Definindo um Complex ElementComplex Element com um atributo e outro elemento

Hege Silva Cecilie Tom Silva Hege Jim Stale Silva Mais informaes e exemplos:

http://www.w3schools.com/

Sintaxe em Exemplo (XML/XSD):

Pode ser: Rainy Cloudy Clean

New York 26 18 weather.xml

?weather.xsd

Exerccio- Crie um XSD para o XML do exerccio anterior - Use o XMLSpy

CSSCascade Style SheetSeparando o contedo do estilo

Vantagens de separar contedos de estilos:

Reutilizao de fragmentos de cdigo: aspectos diferentes em contextos diferentes para o mesmo bloco de cdigo. Mltiplos formatos de output: formas (papel, on-line), formatos (manuais, relatrios), dispositivos (PDA, WAP, PC s) Estilos satisfazem preferncias do utilizador (ex. acessibilidade), cores, fontes de texto... Estilos normalizados (dentro de uma empresa) Liberdade de aplicao de estilos posteriori

CSS:

Cascade Style Sheet No novidade:

Resource files (.rc) do VB XLib/Motif HTML

Formataes (estilos) de texto, pargrafos, etc Tamanho, fonte, tipo cor da letra Etc.

CSS e HTML: Teste CSS .novo_estilo { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 18px; color: #FF0000; font-weight: bold; } /head>

Exemplo da aplicao de CSS para alterar a formatao do texto

CSS:

First Book O regresso dos que no foram Antonio Passos Dias Aguiar Mota Isto a linha Um Isto a linha Dois Isto a linha Tres

book{ display:block; font-size:20pt; font-color: red; } titulo{ display:block; font-size:12pt; color: blue; font-family:arial; } autor{ display:block; font-size:10pt; color: red; font-family:arial; } linha{ display:block; font-size:10pt; color: green; } Teste.css

http://www.maujor.com/

Extensible Stylesheet Language

Transformao em documentos com XSL

XSL uma especificao com o objetivo de realizar pesquisas e transformaes em documentos XML. XSL envolve XSLT, XSL-FO e XPATH. XSL Transformations (XSLT) :

Linguagem de alto nvel para transformar documentos XML em outros documentos, geralmente em HTML. Documentos escritos em XSLT so chamados de folhas de estilo e contm:

Elementos XSLT: , , , ... Texto ou XML a ser gerado no documento-resultado

XSLT

A transformao XSLT realizada sobre a rvore de um documento-fonte: Todos os ns do documento so acessveis. Tipos de n disponveis:

Elemento Atributo Texto Comentrio Instruo de processamento Namespace Raiz

XSLT

Potencialidades de transformao:

Gerao de texto esttico Supresso de contedo Deslocar texto (ex. trocar ordens) Duplicar texto (e.x., criar TOC - tabelas de contedo) Ordenao Calcular nova informao a partir de existente

XSLT

Considere o seguinte documento XML:

Rio de Janeiro Itabuna

Exemplo 1 Rio de Janeiro Itabuna

O seguinte template (parte de uma folha de estilos XSLT) pode extrair os dados do documento-fonte:

A aeronave de prefixo decolou de s tendo como destino o aeroporto de .

Elementos XSLT geralmente so usados com um prefixo associado ao seu namespace: para evitar conflitos com o documento-resultado.

Contm regras que sero aplicadas a um n especfico Possui o atributo match, que determina qual elemento XML, a regra deve ser aplicada.

usado para selecionar o valor de um elemento XML e adicion-lo sada da transformao Possui o atributo select, que contm uma expresso Xpath que calcula o valor a ser adicionado ao documento resultado

Exemplo 2: iniciando pelo /XML

Corinthians campeo 2009! Faa a referncia deste modo: file:///D:/email.xslXSLT

Saudao Saudao de Hoje Corinthians

de Hoje

campeo 2009! HTML

Exemplo 2: iniciando pelo elemento raiz XML Corinthians campeo 2005! XSLT

Saudao de Hoje

Saudao de Hoje Corinthians campeo 2005! HTML

Recupera o valor de um elementoraiz

Exemplo 3 XML com atributosXML

Resumo do capitulo Alfredo Buarque HTML Publicacao tipo: periodico ISSN: 01034508 Capitulo 1:IntroducaoXSLT

Autor: Alfredo Buarque Resumo: Resumo do capitulo

Publicacao tipo: ISSN: Capitulo : Autor: Resumo:

Permite a construo de loops Possui o atributo select, que contm uma expresso Xpath que vai determinar sobre que elemento ser realizado o loop

usado para ordenar a sada Possui o atributo select, que indica qual elemento XML ordenar Possui o atributo order, que indica o tipo da ordenao: ascending ou descending.

Filtros:Pode-se filtrar a sada de um XML adicionando um critrio no atributo select do elemento Operadores vlidos: = (igual) != (diferente) < (menor) >= (maior ou igual)