Anda di halaman 1dari 101

I t d ao XML Introduo

Vanessa de Paula Braganholo


{braganholo@dcc.ufrj.br}

Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo

Roteiro da Aula
Dados Semi-estruturados O que XML XML x HTML Terminologia XML Namespaces

Dados estruturados ou no...


Dados estruturados
Estrutura conhecida a priori Ex.: Dados de um SGBD relacional tm um esquema relacional associado

Dados no estruturados
No h nenhuma estrutura prvia Ex.: imagem, video, udio, etc.

Material de Maria Cludia Yoko Cavalcanti

Dados SemiSemi-estruturados
Dados irregulares
Livros podem ser descritos por uma estrutura de partes e captulos ou podem ser descritos somente por captulos. A descrio de uma disciplina p p pode variar em termos de atributos de um departamento para outro:
faltam atributos ou apresentam atributos a mais

Dados incompletos
Nem todo endereo tem caixa postal Nem todo livro tem apndice ou prefcio

No necessariamente est de acordo com um esquema


Sua estrutura no previamente conhecida, no existe parte S auto-descritivos, So t d iti i.e., i embute b t a prpria i estrutura. t t

Material de Maria Cludia Yoko Cavalcanti

Dados SemiSemi-estruturados
Como se auto-descrevem pares atributo-valor {name: John John Smith Smith , tel: 3456, 3456 age: 32} valor de atributo pode tambm conter estrutura {name: {first:John, last: Smith}, , age: g 32} } tel: 3456, rtulos de atributo no necessariamente nicos {name: John John Smith Smith , tel: 3456, 3456 tel: 7891}

Material de Maria Cludia Yoko Cavalcanti

Dados SemiSemi-estruturados
Podem ser representados p g graficamente ns representam objetos conectados por arestas que os descrevem
Ex.: {name: {first:John, last: Smith}, tel: 3456, age: 32}

name first John last

tel 3456

age 32

Smith
Material de Maria Cludia Yoko Cavalcanti

Dados SemiSemi-estruturados
Situaes tpicas p
Qdo os dados no podem ser restritos a um esquema
Difcil definir uma estrutura... Ex: contratos

Qdo no h compromisso com o contedo


Pode-se ter muitos dados faltando... Ex. Leis

Qdo as fontes de dados so heterogneas e preciso integrar dados...


Descries equivalentes mas distintas...

Material de Maria Cludia Yoko Cavalcanti

Exemplos p
Arquivos q BibTex
Tm estrutura mas no regular
Alguns atributos no aparecem, apesar de obrigatrios
@article{Gettys90, author = {Jim Gettys and Phil Karlton and Scott McGregor}, title = {The {X} Window System, Version 11}, journal = {Software Practice and Experience}, volume = {20}, number = {S2}, year = {1990}, postscript = papers/gettys90.ps.gz, abstract = {A technical overview of the X11 functionality. This is an update of the X10 TOG paper by Scheifler \& Gettys.} }
Material de Maria Cludia Yoko Cavalcanti

Arquivos q GenBank
LOCUS DEFINITION ACCESSION VERSION KEYWORDS SOURCE ORGANISM SCU49845 5028 bp DNA PLN 21 21-JUN-1999 JUN 1999 Saccharomyces cerevisiae TCP1-beta gene, partial cds, and Axl2p (AXL2) and Rev7p (REV7) genes, complete cds. U49845 U49845.1 GI:1293613 . Saccharomyces cerevisiae (baker's yeast) Saccharomyces cerevisiae Eukaryota; Fungi; Ascomycota; Saccharomycotina; Saccharomycetes; Saccharomycetales; y ; Saccharomycetaceae; y ; Saccharomyces. y 1 (bases 1 to 5028) Torpey,L.E., Gibbs,P.E., Nelson,J. and Lawrence,C.W. Cloning and sequence of REV7, a gene whose function is required for DNA damage-induced mutagenesis in Saccharomyces cerevisiae Yeast 10 (11) (11), 1503 1503-1509 1509 (1994) 95176709 7871890 Location/Qualifiers <1..206 /codon_start=3 /product="TCP1-beta" /protein_id="AAA98665.1" /db_xref="GI:1293614" /translation="SSIYNGISTSGLDLNNGTIADMRQLGIVESYKLKRAVVSSASEA AEVLLRVDNIIRARPRTANRQHM" 687..3158 /gene="AXL2"
Material de Maria Cludia Yoko Cavalcanti

REFERENCE AUTHORS TITLE JOURNAL MEDLINE PUBMED FEATURES CDS

gene

Exemplos p
Guia de restaurantes (Palo Alto Weekly newspaper) p p )
Cada restaurante apresenta uma estrutura diferente
Guide R t Restaurant t Name Blues on the Bay Category Vegeterian Entree Name Black bean soup Price 10.00 Entree Name Asparagus Timbale Price 22.50 Location Street 1890 Wharf Ave City San Francisco Restaurant Name McDonalds Category Fast Food Price cheap Nearby Blues on the Bay
Material de Maria Cludia Yoko Cavalcanti

Web: grande fonte de dados semisemi -estruturados


Pginas web contm informao valiosa
Documentos de contedo importante Dados armazenados em BDs disponibilizados na web

Novas aplicaes surgem com outro objetivo


Intercambiar e/ou extrair informao da web Monitorao do acesso/navegao do usurio
Antes, a web era vista como uma forma f de d disponibilizar di ibili informao e/ou sistemas. Hoje, a Web vista como um grande d banco b de d dados. d d

WEB

Web WEB

Material de Maria Cludia Yoko Cavalcanti

Descrever os dados da Web


Tratar dados semi-estruturados Separar o contedo:
Independncia p de armazenamento
Permite a visualizao de dados provenientes de fontes heterogneas

Independncia de apresentao
Permite que as aplicaes apresentem/tratem os dados como lhes conveniente

Material de Maria Cludia Yoko Cavalcanti

Oq que XML?
eXtensible Markup p Language g g Padro para marcao de dados na Web, com foco na descrio do contedo W3C (ww.w3c.org) ( g) HTML descreve o formato do documento
HTML t tem um conjunto j t fi fixo d de t tags e no d descreve contedo

XML descreve o contedo do documento


Usurio define suas prprias tags para criar uma estrutura Um documento XML no tem nenhuma instruo para apresentao
Material de Maria Luiza Machado Campos

Histrico
1993: primeiros trabalhos sobre adaptao das
tcnicas SGML Web (Sperberg). HTML to the Max: A Manifesto for Adding SGML I t lli Intelligence t to th the W World ld Wid Wide W Web b Junho 1996: criao de um grupo de trabalho no W3C

Material de Maria Luiza Machado Campos

Histrico
1996
80 peritos em SGML uniram foras ao W3C (World Wide Web Consortium) Objetivo: Definir uma linguagem de marcao com o poder da SGML, porm fcil de ser implementada influncia do LOREL

10 fevereiro 1998
publicao da recomendao para verso 1.0 da linguagem

Material de Maria Luiza Machado Campos

SGML - Caractersticas
Standard Generalized Markup p Language g g Uma linguagem de marcao abrangente mas complexa l Desenvolvida por Charles F. F Goldfarb Adequada q para p aplicaes p envolvendo documentos grandes e complexos Tornou-se um padro T d ISO (ISO 8879) na dcada d d de d 80
Material de Maria Luiza Machado Campos

SGML e XML
SGML - norma ISO 8879:1986 SGML vinha sendo utilizada na indstria no suporte tcnicas de documentao. Muito complexa para utilizao de pblico em geral XML usa 10% de SGML para representar de forma eficaz 90% dos documentos

Material de Maria Luiza Machado Campos

Caractersticas de sucesso do XML


Simplicidade
Assim como o HTML HTML, torna fcil a adeso

No impe um acordo
Cada C d um d descreve seus d dados d como os v Aplicaes extraem os dados que interessam

Material de Maria Luiza Machado Campos

Linguagens g g de marcao
SGML linguagem de marcao com regras para definio de classes de documentos

Linguagens g g de marcao
SGML linguagem de marcao com regras para definio de classes de documentos
DTD A DTD B DTD N

...

Linguagens g g de marcao
SGML linguagem de marcao com regras para definio de classes de documentos
DTD A DTD B DTD N
Exemplos de DTDs: - HTML 1.0 - HTML 3.2 - HTML 4.0

...

Linguagens g g de marcao
SGML linguagem de marcao com regras para definio de classes de documentos
DTD A DTD B DTD N
Exemplos de DTDs: - HTML 1.0 - HTML 3.2 - HTML 4.0

...

XML - subconjunto da SGML linguagem de marcao com regras para definio de classes de documentos

Linguagens g g de marcao
SGML linguagem de marcao com regras para definio de classes de documentos
DTD A DTD B DTD N
Exemplos de DTDs: - HTML 1.0 - HTML 3.2 - HTML 4.0 Exemplos de DTDs: - XHTML 1.0 - DocBook

...

DTD A DTD B DTD N

...

XML - subconjunto da SGML linguagem de marcao com regras para definio de classes de documentos

Linguagens g g de marcao
SGML linguagem de marcao com regras para definio de classes de documentos
DTD A DTD B DTD N
Exemplos de DTDs: - HTML 1.0 - HTML 3.2 - HTML 4.0 Exemplos de DTDs: - XHTML 1.0 - DocBook

...

XML compatvel com SGML


DTD A DTD B DTD N

...

XML - subconjunto da SGML linguagem de marcao com regras para definio de classes de documentos

XML vs. HTML


Usurio define suas p prprias p tags g p para criar uma estrutura
Mais p prolixa q que o HTML

Estruturas podem ser aninhadas em um nvel de profundidade f did d arbitrrio bit i Um documento XML no tem nenhuma instruo para apresentao XML SGML mas HTML SGML Um documento XML pode conter uma descrio opcional de sua estrutura (DTD (DTD, XML Schema)
Material de Maria Luiza Machado Campos

De HTML p para XML...

HTML descreve a apresentao!


Material de Maria Luiza Machado Campos

Fonte HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD><TITLE>A bibliography on Databases</TITLE> <META content="text/html; / ; charset=windows-1252" httpp equiv=Content-Type> <META content="MSHTML 5.00.2314.1000 name=GENERATOR> </HEAD> <BODY> <h1> Bibliography </h1> <p> <i> Foundations of Databases </i> Abiteboul, Abiteboul Hull, Hull Vianu <br> Addison Wesley, 1995 <p> <i> Data on the Web </i> Abiteoul, Buneman, Suciu <br> M Morgan Kaufmann, K f 1999 </BODY> </HTML>
Material de Maria Luiza Machado Campos

HTML: Conjunto pr-definido de elementos (tags) para especificao das dimenses de estrutura e apresentao de um documento

Fonte XML

XML: Elementos (tags) definidos pelo usurio da linguagem e servindo i d para d descrever o contedo t d e a estrutura.

<bibliography> <book> <title> Foundations </title> <author> Abiteboul </author> / <author> Hull </author> <author> Vianu </author> <publisher> bli h Addi Addison Wesley W l </publisher> <year> 1995 </year> </book> </bibliography>

XML d descreve o contedo t d !!!


Material de Maria Luiza Machado Campos

Dimenses de informaes em um documento


Documentos apresentam p p pelo menos duas dimenses de informaes:
o contedo p propriamente p dito a estrutura organizacional

Material de Maria Luiza Machado Campos

XML: dimenses e p processamento ...


XML
Dimenses de estrutura e contedo Documentos bem formados!

Outras dimenses de um documento XML


Apresentao: CSS, XSL Mais estrutura e semntica: DTDs e XML Schemas Metadados e mais semntica: RDF Estrutura de hipertexto: XLink e XPointer

Processamento de documentos XML


Parsers, APIs, P API DOM DOM... Aplicaes em geral

Material de Maria Luiza Machado Campos

E a apresentao? p
Uma representao em XML no tem diretamente nenhuma i f informao d de apresentao. As numerosas propriedades grficas ou tipogrficas esto ausentes t da d fonte f t XML. XML Estas propriedades sero definidas por intermdio de um i f informaes suplementares, l t em uma f folha lh d de estilo til associada ao documento XML Uma f U folha lh d de estilo til um conjunto j t de d regras para especificar ifi a realizao concreta de um documento sobre uma mdia p particular.

Material de Maria Luiza Machado Campos

Exemplo p de um documento
Cabealho Objeto S d Saudao
Objet: Dvida? Prezado Senhor, Bar do Carrego Rua das Bodegas, s/n 58106-920 C. Grande

Logotipo
Campina GRande, 20 de maio de 2001

Tel: 012133564 F 879765426 Fax:

Data Destinatrio Corpo Assinatura

Sr. Edilson Silva, Rua das Flores, 12 581293 Caruaru

Forma F Polida Rodap

Bla bla bli, bli bli blo bla, bla kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf jkvbc lkhdklvn v

Aproveito do ensejo para renovar meus protestos de elevada estima e considerao. assinatura

Rodap

Material de Maria Luiza Machado Campos

Representao XML
<cabecalho> </cabecalho> <destinatario> <nome> Sr Edilson Silva </nome> <endereco> <rua> rua das Flores </rua> <cidade> Caruaru </cidade> </endereco> </destinatario> <objeto> bla bla </objeto> <data> 20 Maio 2001 </data> <saudacao> d Prezado P d Senhor, S h </saudacao> / d <corpo> <para>Aqui o primeiro pargrafo</para> <para> aqui o segundo ... </para> </corpo>

...

<logotipo loc="logo-graph"/> <endereco> d &abrev-endereco; & b d </endereco>

<carta> ... </carta>

Material de Maria Luiza Machado Campos

Princpio de funcionamento das folhas de estilos


<carta> <cabecalho> . . . </cabecalho> <corpo> p . . . </corpo> </carta> If carta then ... If cabecalho then If corpo then ... If para then Times i new roman, size 12, skip first line If then

WindStar 2000 Les rosires en buget AB562 Saint Ptaouchnoque Tel: T l 012133564 Fax: 879765426

Saint Ptaouchnoque, Le 30 nivose 2004 Editions Duschmol, 12 rue Schmurz YT123 Rapis

Objeto: Dvida Prezado Senhot, Bla bla bli, bli blo bla, kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf j jkvbc lkhdklvn v . sssinatura Rodap

Material de Maria Luiza Machado Campos

Porque q XML?

Material de Maria Luiza Machado Campos

Extensibilidade e estrutura
Em XML, um autor ou uma comunidade de autores inventam livremente as tags que lhes paream teis para marcar os componentes de um documento. Exemplo: diversas formas de representar uma data
<date> 5 janeiro 2000 </date> <date> <ano> 2000 </ano> <mes> 01 </mes> <dia> di 05 </dia> /di </date> <date format='ISO-8601'> 2000-01-05 </date>

Grande liberdade de escolha das estruturas de dados facilita a troca de dados


Material de Maria Luiza Machado Campos

Interoperabilidade p
Todos os dados podem ser vistos como documentos XML e no mais como arquivos no formato X ou Y Y. Consequncias:
Um servidor de documentos XML suscetvel de responder a um conjunto de necessidades de uma organizao. i Um simples editor de textos pode tratar o conjunto de dados de uma organizao. organizao A interoperabilidade dos utilitrios est assegurada.

Material de Maria Luiza Machado Campos

Modularidade e reutilizao
Cada usurio livre p para definir suas p prprias p estruturas de documento Ele pode tambm estar conforme as estruturas tipadas, chamadas DTD Cada comunidade pode propor as estruturas normalizadas A validao a um DTD permite a automatizao no tratamento dos dados e assegura uma possibilidade de controle de integridade

Material de Maria Luiza Machado Campos

Acesso fontes de informao heterogneas


A consulta e troca de dados entre as base de dados heterogneas g complexa
XML contribui para minimizar este problema: formato de troca normalizado, li d genrico, i i independente d d d de plataforma l f

Material de Maria Luiza Machado Campos

Acesso fontes de informao heterogneas


A indexao e consulta de bases de documentos pode se beneficiar de informaes estruturais e textuais.
pesquisa por palavras-chaves: Jorge+Amado retorna todos os documentos contendo as palavras Jorge e Amado pesquisa estrutural: pesquisa os documentos cujo autor Jorge Amado (ie os documentos contendo um elemento autor, ou escrito-por contendo Jorge e Amado)

Material de Maria Luiza Machado Campos

XML no Mercado...
Descrever documentos armazenados
Memria intra e inter organizacional

Descrever dados armazenados


SGBDs nativos e habilitados

Intercambiar dados
Integrar sistemas Aplicaes B2B

Criar novas linguagens


WML (Wap Markup Language)

XML no Mercado...
Bancos de Dados e Aplicaes p
Microsoft Office 2000 products, Oracle, Sybase

Metadados:
OMG-MOF XMI proposal to W3C (IBM, Unisys, Oracle, Rational, Platinum, Sybase )

Desenvolvedores de ferramentas:
Java SAX, Java DOM, etc.

Grupos de padronizao:
ISO 11179, ANSI X3L8, Dublin Core, EDI

XML no Mercado
XML est se tornando uma p plataforma p padro p para os processos entre empresas dos quais depende o comrcio eletrnico B2B. W. Lewis
B2B e-commerce: empresas que centralizam mltiplos vendedores e compradores, compatibilizando ordens de compra e venda entre eles.

Fornecedor A Ordem de compra em XML Transformao Fornecedor B

Ordem de Compra p em XML Ordem de Compra em XML

Microsoft adopts XML for Office formats


By Gavin Clarke in San Francisco Published Friday 3rd June 2005 09:07 GMT Mi Microsoft f h has crept closer l to i interoperability bili between b Office Offi documents d and d those h from f competing productivity suites by way of XML. The company p y will adopt p "industry y standard" XML as the file format for p popular p applications like Word in the next major release of Office, codenamed Office 12 and expected in 2006. The implementation is called Microsoft Office XML Open Format. ... (It is) potentially opening the format to third parties to develop interoperability with Office. Two spin-off benefits of the new formats is that files will become up to 75 per cent smaller compared to files in Office 2003, 2003 and documents will by default not execute embedded code like macros in Word, Excel or PowerPoint documents, potentially containing viruses.

XML
Apenas uma linguagem de marcao?
A linguagem g g XML tem associada uma srie de iniciativas:
XSL SAX, DOM DTD XML Schema DTD, S h XLink and XPointer XPath XQuery XPath, RDF, OWL Servios Web (WSDL (WSDL, etc etc.) ) etc.

Material de Maria Luiza Machado Campos

Sintaxe XML

Marcao XML
Instrues de marcao XML so denominadas tags
No especificam um estilo de apresentao particular Identificam a natureza de um componente de texto

As tags XML delimitam um objeto identificvel no fluxo de dados

Um elemento XML formato por uma start-tag (marca inicial) o contedo propriamente p p dito e uma end-tag g ( (marca final) ) OBRIGATORIAMENTE

Marcao XML
A start- tag e a end- tag encontram- se distribudas no fluxo d d de dados d Objetivo de delimitar objetos identificveis E Exemplo: l
<pergunta> Vai viajar para <cidade> Porto Alegre </ cidade> segunda? </pergunta>

Porto Alegre uma cidade, assim a tag usada para demarcar a informao recebe o nome de cidade

Tipos p de marcas
Composta
<from> <name>Carina Dorneles</name> <email>dorneles@inf.ufrgs.br</email> </from>

Marca composta de outras marcas

Texto
<name>Carina Dorneles</name>

Marca composta de contedo texto Marca composta de outras marcas + contedo texto Marca sem contedo

Mista
<from>Carina f C i D Dorneles l <email>dorneles@inf.ufrgs.br</email> </from>

Vazia
<profissao><engenheiro/></profissao>

Estrutura de um documento XML


Elementos podem conter outros elementos
Aninhamento de tags

O documento completo encontra-se encontra se delimitado por um nico elemento denominado "elemento documento" ou "elemento raiz" Pode ser visualizada de diferentes formas
Forma de rvore, caixas dentro de caixas, etc.

Visualizao da estrutura
Livro

Captulo

Captulo

Seo

Seo

...

...

Regras g de estruturao
Cada elemento possui um nico pai Cada elemento possui um nmero arbitrrio de irmos e filhos
Um elemento sem filhos denominado folha

Exceo: o elemento documento/elemento raiz no p possui pai e no possui irmos

Regras g de estruturao
Todas as tags devem ser fechadas:
<p> Pargrafo em HTML <p> um possvel pargrafo em XML </p>

As tags XML so case sensitive


<Mensagem> Isto est incorreto </mensagem> <MENSAGEM> Isto correto </MENSAGEM> <mensagem> Isto correto </mensagem>

Regras g de estruturao
As tags g devem estar bem aninhadas
<b> <i>Isto permitido em HTML, mas no em XML</b> </i>

<b> <i> Isto permitido em XML </i> </b>

Regras g de estruturao
TODO documento XML deve possuir uma raiz
<titulo>Oi</titulo> / <capitulo> <secao> Esta seo ... </secao> </capitulo> <livro> <titulo>Oi</titulo> <capitulo> <secao> Esta seo ... / </secao> </capitulo> </livro>

Valores de atributos devem estar entre aspas


<mensagem data= data="20 20.10.2001 10 2001"> > Esta uma mensagem enviada em 20 de outubro de 2001 </mensagem>

Estruturas hierrquicas q
p possvel definir regras g q que expressam p como os elementos podem ser combinados (estrutura hierrquica) q )
DTD (Document Type Definition) XML Schema

Estruturas hierrquicas recursivas


Um elemento pode conter direta ou indiretamente instncias de si mesmo

Atributos
Um elemento p pode conter um nmero arbitrrio de atributos
Cada atributo um par (nome, valor), separados por = Os valores dos atributos so cadeias de caracteres e devem ser delimitadas por aspas Um atributo possui um tipo quando utilizada uma DTD Pode-se Pode se associar um valor default a um atributo
O que no se pode fazer com um elemento Isso feito atravs de uma DTD

Atributos
Valores dos atributos:
Podem conter espaos Podem comear com caractere numrico Podem conter qualquer caractere de pontuao

Material de Maria Luiza Machado Campos

Atributos
Exemplo:
<livro isbn="85.241.0590-9"> | <capitulo numero numero="3"> 3 > | | <secao> | | | <para>...</para> | | | <para>...</para> | | </secao> | | <secao> | | | <para>...</para> | | </secao> | </capitulo> </ it l > | <capitulo numero="4"> ... ... </livro>

Elementos x Atributos
No h regras g Atributos apresentam algumas restries
No so extensveis No permitem mltiplos valores No descrevem estruturas

Recomendao: em geral, preferir elementos, e usar atributos p para informaes secundrias Metadados (dados sobre os dados) devem ser representados como atributos
Ex: <price currency=US>59.99</price>

Elementos x Atributos
<book <b k lang=English l E li h price=US$59.99 title=XML Bible author=Hommer Simpson> ... </book>

book

Lang=English Price=US$59.99 Hommer Simpson XML Bible

<book lang=English> <price currency=US$> 59.99 </ i > </price> <title>XML Bible </title> ... </book>

book

Lang=English

Currency=US$

title
XML Bible

price
59.99

Material de Maria Luiza Machado Campos

Instrues de Processamento: Mecanismo de insero de informaes explcitas em um documento que so destinadas a alguma aplicao. aplicao Comea com <? e termina com ?>

Material de Maria Luiza Machado Campos

Comentrios comeam com <!-- e terminam com --> e so ignorados. No podem acontecer antes da instruo de declarao XML nem dentro de um elemento; no podem conter a seqncia --

Material de Maria Luiza Machado Campos

Referncias a Entidades so marcaes que so substitudas com caracteres de dados no processamento do documento. As cinco entidades a seguir so predefinidas por XML: & &amp; &lt &lt; &gt; & t & &quot; t & &apos;

Material de Maria Luiza Machado Campos

CDATA: todo o texto que aparece entre delimitadores de seo CDATA que so considerados caracteres de dado: <![CDATA[ ... ]]>
Material de Maria Luiza Machado Campos

<passo>se A &gt; B entao MAIOR = A senao MAIOR = B </passo> <passo>se MAIOR &lt; C entao MAIOR = C </passo> Material de Maria Luiza Machado Campos

Exerccio Exe rccio


Escreve um documento XML p para representar p uma receita mdica
Lembre-se: importante pensar em como estes documentos sero estruturados, e no em como sero apresentados O slide seguinte contm um exemplo de receita mdica

Exemplo p de Receiturio mdico


Ana Maria Marina , 7 anos
Clnica Baby P di t i Pediatria

Uso interno Xarope SemTosse 1 colher 3x ao dia Uso Externo Gyellow aplicar no brao 1x ao dia ao deitar

___________ Dr. Juca

20/10/2001

Vamos testar?
Use o Exchanger g XML Lite p para verificar o documento XML que voc criou ou Use o parser RXP... (baixar do site da disciplina)
rxp <nome do arquivo XML>

Exerccios Exe rccios


Faa o seu currculo em XML Informaes obrigatrias:
Dados pessoais Formao Idiomas Cursos adicionais

Verso do XML
Existem duas verses da especificao p da linguagem XML:
1.0 1.1

Histrico da Evoluo das verses


Verso 1.0: nomes de elementos e atributos baseados no enconding Unicode 2.0 Unicode evoluiu para 4.0, e deste modo, os caracteres que no estavam presentes na verso 2.0 no podiam ser usados em nomes de elementos e atributos (hoje j est na verso 5 5.0) 0)
Especificao de nomes na verso 1.0 do XML: tudo que no era explicitamente permitido, era proibido

Verso 1.1
Flexibilizou a definio de nomes em XML, , mudando a regra do jogo
Tudo q que no explicitamente p p proibido, ,p permitido Isso faz que com a verso de XML no precise mais mudar caso surjam j novas verses do Unicode

Normalizao deve ser garantida pelo parser (eliminao de espaos em branco e sinais de fim de linha desnecessrios falaremos mais sobre isso quando estivermos aprendendo a API DOM)

No curso
Aqui q no curso ficaremos com a verso 1.0...

Instruo de Processamento
Mecanismo de insero de informaes explcitas em um d documento t destinadas d ti d a alguma l aplicao li Os parsers XML no interpretam tais informaes, assim como no o fazem para comentrios; eles simplesmente as repassam para a aplicao Sintaticamente uma instruo de processamento uma cadeia de caracteres que comea com a configurao <? e termina com ?> Exemplo
<para> seria bom finalizar esta pagina <?ACME-paginator DO:new-page?> aqui. </para>

Material de Maria Luiza Machado Campos

Instruo especial p XML


uma instruo de p processamento especial p
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

Parmetros
version indica a verso da linguagem (1.0 ou 1.1) obrigatrio encoding indica a codificao de caracteres utilizado no documento - opcional

Instruo especial p XML


Parmetros (cont.) ( )
standalone - opcional
="yes" yes , indica d ca que no o e existem s e dec declaraes a aes e externas e as que afetam a interpretao (default) ="no", indica que um conjunto de declaraes d fi id externamente contm definido i informao f que afeta f a interpretao do contedo do documento. O valor "no" deve ser usado se qualquer elemento, atributo ou entidade externa for definida em uma DTD externa

Encoding g
Utilizar atributo encoding g na declarao XML do prlogo
ex: <?XML version=1.0 encoding=ISO-8859-1?>

Pode-se utilizar declarao de encoding como parte de uma instr instr. de processamento separada separada, aps a declarao XML mas antes do caractere aparecer
ex: <?XML encoding=ISO-8859-1 ?>

Material de Maria Luiza Machado Campos

Conjuntos j de caracteres
UTF-8 UTF-16 ASCII
Unicode

1 byte, 7 bits --> 128 combinaes

ISO 8859 8859-1 1 Latin-1 Latin 1


1 byte, 8 bits --> 256 combinaes (ASCII + caracteres para maioria das lnguas da Europa Ocidental - inclusive Portugus)

ISO 8859-(2...15)
1 byte, 8 bits --> 256 combinaes (ASCII + caracteres para outros conjuntos de lnguas)

Material de Maria Luiza Machado Campos

Comentrios
Comeam com <!-- e terminam com -->. Todo dado entre essas marcas ignorado pelo processador XML. No podem acontecer antes da instruo de processamento (declarao XML) que deve ser a primeira sentena de um documento, nem dentro de um elemento. A seqncia -- no pode aparecer em um comentrio, exceto como parte dos delimitadores.

Material de Maria Luiza Machado Campos

Sees CDATA
Normalmente o texto que aparece entre os delimitadores < e > so considerados id d marcaes. E Exceo f feita i aos textos entre delimitadores de seo CDATA, que so considerados caracteres de dado Os delimitadores de abertura e fechamento da seo so, p <![CDATA[ [ [ e ]] ]]> respectivamente, A nica seqncia de caracteres que no pode aparecer em uma seo CDATA ]]>

Material de Maria Luiza Machado Campos

Declarao CDATA
As sees CDATA so teis quando se deseja que todos os caracteres de um texto sejam interpretados como caracteres e no como elementos de marcao. Exemplos so textos contendo t d os caracteres t <, < >, > &, & etc., t comuns em trechos t h de d cdigo de programas. Exemplo:
<![ CDATA[ Em E XML a entidade tid d &lt &lt; eh h b builtilt in i ]]>

Resultado depois do documento ser processado:


"Em XML a entidade &lt; eh built- in".

Material de Maria Luiza Machado Campos

Exerccio
1. Escreva um documento XML q que tenha 5 > 4 como o valor de um elemento 2. Escreva um documento XML que tenha uma entidade de texto &gt; 3. Agora faa a entidade aparecer no resultado assim como foi escrita no documento XML Basta abrir o documento no browser (Firefox ou IE) para ver o resultado, ou ento Use o RXP para ver o resultado em cada exerccio, com os parmetros bm, assim: rxp bm <arquivo XML>

Documentos XML bem formados


Seguem a especificao XML
As tags abrem e fecham corretamente S pode haver um elemento raiz Tags vazias so finalizadas por /> Elementos aninhados corretamente Atributos no so repetidos na mesma tag Valores de atributos devem ser limitados por aspas ou apstrofos <citacao texto = Ele disse: Isso no! /> <pessoa altura = 5&apos;6&quot;/> (56 5 ps e 6 polegadas)

Material de Maria Luiza Machado Campos

Exerccio
Escreva um documento XML simples, p , e teste todos os itens da transparncia anterior. Veja o tipo de erro g gerado p pelo p parser em cada um deles.

Documentos XML bem formados


Tipagem p g fraca
apenas um parser em uma rvore rotulada No verifica a estrutura em si:
a hierarquia dos elementos e seus atributos

No se p pode g garantir p por exemplo: p


Toda instncia de livro deve ter um elemento preo que inclui um atributo moeda

Material de Maria Luiza Machado Campos

Documentos XML bem formados


Tecnicamente no p precisam comear com a declarao XML, mas o W3C recomenda
<?xml version = 1.0?>
Instruo de processamento que indica que o documento est escrito em XML em uma determinada verso

Material de Maria Luiza Machado Campos

Tecnologias g XML
SOAP WSDL UDDI DOM SAX
Manipulao programtica Interoperabiliade Programas

RDF DAML
Web Semntica

DTD XML Schemas


Estruturao

XPath Xpointer Xlink Xquery XSLT


Manipulao XML

XML + namespaces Ncleo

CSS XSL-FO XHTML XFORMS VoiceXML WML


Tecnologias de Apresentao

Material de Maria Luiza Machado Campos

Namespaces

Motivao
Problema1: Cada usurio ou g grupo p p pode criar suas prprias tags
mesmas tags g p podem ter significados g diferentes

Problema2: quando se juntam dois documentos que usam a mesma tag com significados diferentes
conflito!

Precisa-se Precisa se de alguma maneira remover a ambigidade


usam-se ento Namespaces

Material de Maria Luiza Machado Campos

Namespaces p
Permitem q que seja j usado um esquema q de atribuio de nomes ao longo de um conjunto de documentos Associa nomes exclusivos a URIs URLs so usados no por apontarem para uma dada localizao mas por serem exclusivos

Material de Maria Luiza Machado Campos

Declarao e uso de Namespace p


Usa atributo xmlns no elemento correspondente: p Namespace default
Ex: <foo xmlns=http://example.com/NS/>

Namespace nomeado
Ex: <a:foo xmlns:a=http://example.com/NS/>

<x <xxmlns:edi='http://ecommerce.org/schema'> xmlns:edi='http://ecommerce.org/schema'> <x xmlns='http://ecommerce.org/schema'> <!<ecom:x xmlns:ecom='http://ecommerce.org/schema'> <!<price units='Euro'>32 units= Euro >32.18</price> 18</price> the 'price' element's namespace is http://ecommerce org/schema --> > <ecom:price units='Euro'>32.18</ecom:price> the 'price' element's namespace ishttp://ecommerce.org/schema http://ecommerce.org/schema --> </x> <edi:price </ecom:x> <edi:priceunits='Euro'>32.18</edi:price> units='Euro'>32.18</edi:price> </x> /x > </ </x>
Material de Maria Luiza Machado Campos

Mltiplos p Namespaces p
<?xml version="1.0"?> <!-- both namespace prefixes are available throughout --> <bk:book xmlns:bk='urn:loc.gov:books' xmlns:isbn='urn:ISBN:0-395-36341-6'> <bk:title>Cheaper by the Dozen</bk:title> <isbn:number>1568491379</isbn:number> </bk:book> /

Material de Maria Luiza Machado Campos

Outro Exemplo p
<aaa > <bbb > <ccc /> </bbb> <BBB > <CCC /> </BBB> <x111 > <x222 /> </x111> </aaa>

Material de Maria Luiza Machado Campos

Declaraes em todos os elementos


<lower:aaa xmlns:lower = "http://etc.org/lowercase" > <lower:bbb l bbb xmlns:lower l l = "h "http://etc.org/lowercase" // /l "> <lower:ccc xmlns:lower = "http://etc.org/lowercase" /> </lower:bbb> <upper:BBB xmlns:upper = "http://etc.org/uppercase" > <upper:CCC xmlns:upper = "http://etc.org/uppercase" /> </upper:BBB> pp <xnumber:x111 xmlns:xnumber = "http://etc.org/xnumber" > <xnumber:x222 xmlns:xnumber = "http://etc.org/xnumber" /> </xnumber:x111> </lower:aaa> Vamos testar com o RXP? rxp N N <arquivo XML> Testem inserir erros de namespace
Material de Maria Luiza Machado Campos

Declaraes s em alguns g elementos


<lower:aaa xmlns:lower = "http://zvon.org/lowercase" > <lower:bbb > <lower:ccc /> </lower:bbb> <upper:BBB xmlns:upper = "http://zvon.org/uppercase" > <upper:CCC /> </upper:BBB> <xnumber:x111 xmlns:xnumber = "http://zvon.org/xnumber" > <xnumber:x222 b 222 /> / </xnumber:x111> </lower:aaa>

Material de Maria Luiza Machado Campos

Declararao na raiz
<lo e aaa xmlns <lower:aaa l :lower lo e = "http://etc.org/lowercase "http //etc o g/lo e case xmlns:upper = "http://etc.org/uppercase" xmlns:xnumber = "http://etc.org/xnumber" http://etc.org/xnumber > <lower:bbb > <lower:ccc /> </lower:bbb> <upper:BBB > <upper:CCC /> </upper:BBB> <xnumber:x111 > <xnumber:x222 /> </xnumber:x111> </lower:aaa>

Material de Maria Luiza Machado Campos

Namespace p Default
Namespaces no tm que ser declarados explicitamente com prefixos O atributo ib xmlns l define d fi o namespace d default f l que usado d para o elemento onde ele ocorre e para seus filhos e descendentes <aaa > <bbb xmlns = "http://etc.org/lowercase" > / <ccc /> </bbb> <BBB xmlns = "http://etc.org/uppercase" > <CCC /> </BBB> <x111 xmlns = "http://etc.org/xnumber" > <x222 /> </x111> / 111 </aaa>

Material de Maria Luiza Machado Campos

Exemplo p
Elementos podem at pertencer a diferentes namespaces embora b eles l tenham h os mesmos prefixos! fi ! <aaa > <lower:bbb xmlns:lower = "http://etc.org/lowercase" > <lower:ccc /> </lower:bbb> /l bbb <lower:BBB xmlns:lower = "http://etc.org/uppercase" > <lower:CCC /> </lower:BBB> <lower:x111 xmlns:lower = "http://etc.org/xnumber" > <lower:x222 /> </lower:x111> / </aaa> Mas evite isso, para no confundir!
Material de Maria Luiza Machado Campos

Namespaces p e seu uso


Namespaces p so amplamente p usados nas diversas iniciativas associadas ao XML
<xsl:stylesheet version="1.0" xmlns:xsl http://www.w3.org/1999/XSL/Transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="pattern"> <produto><xsl:value-of p select="."/></produto> p </xsl:template> </xsl:stylesheet> y

Material de Maria Luiza Machado Campos

Anda mungkin juga menyukai