Você está na página 1de 101

I t d XML I t d XML Introduo ao XML Introduo ao XML

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 Roteiro da Aula
Dados Semi-estruturados
O que XML
XML x HTML XML x HTML
Terminologia XML
Namespaces
Dados estruturados ou no... 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 Semi Dados Semi--estruturados 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 pode variar em termos de atributos de p p
um departamento para outro:
faltam atributos ou apresentam atributos a mais
Dados incompletos 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 t d iti i b t i t t So auto-descritivos, i.e., embute a prpria estrutura.
Material de Maria Cludia Yoko Cavalcanti
Dados Semi Dados Semi--estruturados estruturados
Como se auto-descrevem
pares atributo-valor
{name: J ohn Smith tel: 3456 age: 32} {name: J ohn Smith , tel: 3456, age: 32}
valor de atributo pode tambm conter estrutura
{name: {first:J ohn, last: Smith},
tel: 3456, age: 32} , g }
rtulos de atributo no necessariamente nicos
{name: J ohn Smith tel: 3456 tel: 7891} {name: J ohn Smith , tel: 3456, tel: 7891}
Material de Maria Cludia Yoko Cavalcanti
Dados Semi Dados Semi--estruturados estruturados
Podem ser representados graficamente p g
ns representam objetos conectados por arestas
que os descrevem que os descrevem
Ex.: {name: {first:J ohn, last: Smith}, tel: 3456, age: 32}
tel
name age
first last
3456 32
Smith J ohn
Material de Maria Cludia Yoko Cavalcanti
Dados Semi Dados Semi--estruturados 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 Qdo as fontes de dados so heterogneas e preciso
integrar dados...
Descries equivalentes mas distintas...
Material de Maria Cludia Yoko Cavalcanti
Exemplos Exemplos pp
Arquivos BibTex q
Tm estrutura mas no regular
Alguns atributos no aparecem, apesar de obrigatrios
@ar t i cl e{Get t ys90,
aut hor = {J i mGet t ys and Phi l Kar l t on and aut hor {J i mGet t ys and Phi l Kar l t on and
Scot t McGr egor },
t i t l e = {The {X} Wi ndow Syst em, Ver si on
11},
j our nal = {Sof t war e Pr act i ce and
Exper i ence},
vol ume = {20},
number = {S2}, number {S2},
year = {1990},
post scr i pt = paper s/ get t ys90. ps. gz,
abst r act = {A t echni cal over vi ew of t he X11
f unct i onal i t y. Thi s i s an updat e of t he X10
TOG paper by Schei f l er \ & Get t ys. }
}
Material de Maria Cludia Yoko Cavalcanti
Arquivos GenBank Arquivos GenBank qq
LOCUS SCU49845 5028 bp DNA PLN 21 J UN 1999 LOCUS SCU49845 5028 bp DNA PLN 21- J UN- 1999
DEFI NI TI ON Sacchar omyces cer evi si ae TCP1- bet a gene, par t i al cds, and Axl 2p
( AXL2) and Rev7p ( REV7) genes, compl et e cds.
ACCESSI ON U49845
VERSI ON U49845. 1 GI : 1293613
KEYWORDS .
SOURCE Sacchar omyces cer evi si ae ( baker ' s yeast )
ORGANI SM Sacchar omyces cer evi si ae
Eukar yot a; Fungi ; Ascomycot a; Sacchar omycot i na; Sacchar omycet es;
Sacchar omycet al es; Sacchar omycet aceae; Sacchar omyces. y ; y ; y
REFERENCE 1 ( bases 1 t o 5028)
AUTHORS Tor pey, L. E. , Gi bbs, P. E. , Nel son, J . and Lawr ence, C. W.
TI TLE Cl oni ng and sequence of REV7, a gene whose f unct i on i s r equi r ed f or
DNA damage- i nduced mut agenesi s i n Sacchar omyces cer evi si ae
J OURNAL Yeast 10 ( 11) 1503 1509 ( 1994) J OURNAL Yeast 10 ( 11) , 1503- 1509 ( 1994)
MEDLI NE 95176709
PUBMED 7871890
FEATURES Locat i on/ Qual i f i er s
CDS <1. . 206
/ codon_st ar t =3
/ pr oduct =" TCP1- bet a"
/ pr ot ei n_i d=" AAA98665. 1"
/ db_xr ef =" GI : 1293614"
/ t r ansl at i on=" SSI YNGI STSGLDLNNGTI ADMRQLGI VESYKLKRAVVSSASEA
AEVLLRVDNI I RARPRTANRQHM"
gene 687. . 3158
/ gene=" AXL2"
Material de Maria Cludia Yoko Cavalcanti
Exemplos Exemplos pp
Guia de restaurantes
Gui de
R t t
(Palo Alto Weekly
newspaper)
Rest aur ant
Name Bl ues on t he Bay
Cat egor y Veget er i an
Ent r ee
p p )
Cada restaurante
apresenta uma estrutura
Ent r ee
Name Bl ack bean soup
Pr i ce 10. 00
Ent r ee
diferente
Ent r ee
Name Aspar agus Ti mbal e
Pr i ce 22. 50
Locat i on Locat i on
St r eet 1890 Whar f Ave
Ci t y San Fr anci sco
Rest aur ant
Name McDonal d s
Cat egor y Fast Food
Pr i ce cheap
Near by Bl ues on t he Bay
Material de Maria Cludia Yoko Cavalcanti
Web: grande fonte de dados Web: grande fonte de dados
semi semi estruturados estruturados semi semi--estruturados 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 Monitorao do acesso/navegao do usurio
Antes, a web era vista como
f d di ibili
Hoje, a Web vista como um
d b d d d uma forma de disponibilizar
informao e/ou sistemas.
grande banco de dados.
Web
WEB
WEB
Material de Maria Cludia Yoko Cavalcanti
Descrever os dados da Web Descrever os dados da Web
Tratar dados semi-estruturados
Separar o contedo:
Independncia de armazenamento p
Permite a visualizao de dados provenientes de fontes
heterogneas
Independncia de apresentao Independncia de apresentao
Permite que as aplicaes apresentem/tratem os dados como lhes
conveniente
Material de Maria Cludia Yoko Cavalcanti
O que XML? O que XML? qq
eXtensible Markup Language p g g
Padro para marcao de dados na Web, com foco
na descrio do contedo W3C (ww.w3c.org) ( g)
HTML descreve o formato formato do documento
HTML t j t fi d t d HTML tem um conjunto fixo de tags e no descreve
contedo
XML descreve o contedo contedo do documento XML descreve o contedo contedo do documento
Usurio define suas prprias tags para criar uma
estrutura estrutura
Um documento XML no tem nenhuma instruo para
apresentao
Material de Maria Luiza Machado Campos
Histrico Histrico
1993: primeiros trabalhos sobre adaptao das 1993: primeiros trabalhos sobre adaptao das
tcnicas SGML Web (Sperberg).
HTML to the Max: A Manifesto for Adding SGML
I t lli t th W ld Wid W b Intelligence to the World Wide Web
J unho 1996: criao de um grupo de trabalho no
W3C
Material de Maria Luiza Machado Campos
Histrico 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 SGML -- Caractersticas Caractersticas
Standard Generalized Markup Language p g g
Uma linguagem de marcao abrangente mas
l complexa
Desenvolvida por Charles F Goldfarb Desenvolvida por Charles F. Goldfarb
Adequada para aplicaes envolvendo documentos q p p
grandes e complexos
T d ISO(ISO8879) d d d Tornou-se um padro ISO (ISO 8879) na dcada de
80
Material de Maria Luiza Machado Campos
SGML e XML 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% 10% de SGML para representar de forma
eficaz 90% 90% dos documentos
Material de Maria Luiza Machado Campos
Caractersticas de sucesso do XML Caractersticas de sucesso do XML
Simplicidade
Assimcomo o HTML torna fcil a adeso Assim como o HTML, torna fcil a adeso
No impe um acordo
C d d d d Cada um descreve seus dados como os v
Aplicaes extraem os dados que interessam
Material de Maria Luiza Machado Campos
Linguagens de marcao Linguagens de marcao g g g g
SGML linguagem de marcao com regras para
definio de classes de documentos
Linguagens de marcao Linguagens de marcao g g g g
SGML linguagem de marcao com regras para
definio de classes de documentos
DTD A
DTD B
DTD N
...
Linguagens de marcao Linguagens de marcao g g g g
SGML linguagem de marcao com regras para
definio de classes de documentos
DTD A
DTD B
Exemplos de DTDs:
- HTML 1.0
- HTML 3.2
DTD N
... - HTML 4.0
Linguagens de marcao Linguagens de marcao g g g g
SGML linguagem de marcao com regras para
definio de classes de documentos
DTD A
DTD B
Exemplos de DTDs:
- HTML 1.0
- HTML 3.2
DTD N
... - HTML 4.0
XML - subconjunto da SGML linguagem de marcao com
regras para definio de classes de documentos
Linguagens de marcao Linguagens de marcao g g g g
SGML linguagem de marcao com regras para
definio de classes de documentos
DTD A
DTD B
Exemplos de DTDs:
- HTML 1.0
- HTML 3.2
DTD N
... - 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 de marcao Linguagens de marcao g g g g
SGML linguagem de marcao com regras para
definio de classes de documentos
DTD A
DTD B
Exemplos de DTDs:
- HTML 1.0
- HTML 3.2
DTD N
... - 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 XML vs. HTML
Usurio define suas prprias tags para criar uma p p g p
estrutura
Mais prolixa que o HTML p q
Estruturas podem ser aninhadas em um nvel de
f did d bit i profundidade arbitrrio
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 XML Schema) opcional de sua estrutura (DTD, XML Schema)
Material de Maria Luiza Machado Campos
De HTML para XML... De HTML para XML... pp
HTML descreve a apresentao! apresentao!
Material de Maria Luiza Machado Campos
Fonte HTML Fonte HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD><TITLE>A bibliography on Databases</TITLE>
<METAcontent="text/html; charset=windows-1252" http- / ; p
equiv=Content-Type>
<METAcontent="MSHTML 5.00.2314.1000 name=GENERATOR>
</HEAD> </HEAD>
<BODY>
<h1> Bibliography </h1>
<p><i>Foundations of Databases </i>Abiteboul Hull Vianu <br> <p> <i> Foundations of Databases </i> Abiteboul, Hull, Vianu <br>
Addison Wesley, 1995
<p> <i> Data on the Web </i> Abiteoul, Buneman, Suciu <br>
M K f 1999 Morgan Kaufmann, 1999
</BODY>
HTML: Conjunto pr-definido
de elementos (tags) para
especificao das dimenses de
</HTML>
especificao das dimenses de
estrutura e apresentao
de um documento
Material de Maria Luiza Machado Campos
Fonte XML Fonte XML
XML: Elementos (tags) definidos pelo
usurio da linguagem
i d d t d
<bibliography>
e servindo para descrever o contedo
e a estrutura.
<bibliography>
<book> <title> Foundations </title>
<author> Abiteboul </author> /
<author> Hull </author>
<author> Vianu </author>
bli h Addi W l <publisher> Addison Wesley
</publisher>
<year>1995 </year> <year> 1995 </year>
</book>

</bibliography>
XML d t d t d !!! XML descreve o contedo contedo!!!
Material de Maria Luiza Machado Campos
Dimenses de informaes em um documento Dimenses de informaes em um documento
Documentos apresentam pelo menos duas p p
dimenses de informaes:
o contedo propriamente dito p p
a estrutura organizacional
Material de Maria Luiza Machado Campos
XML: dimenses e processamento ... XML: dimenses e processamento ... pp
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 Estrutura de hipertexto: XLink e XPointer
Processamento de documentos XML
P API DOM Parsers, APIs, DOM...
Aplicaes em geral
Material de Maria Luiza Machado Campos
E a apresentao? E a apresentao? p p
Uma representao em XML no tem diretamente nenhuma
i f d informao de apresentao.
As numerosas propriedades grficas ou tipogrficas esto
t d f t XML ausentes da fonte XML.
Estas propriedades sero definidas por intermdio de um
i f l t f lh d til informaes suplementares, em uma folha de estilo
associada ao documento XML
U f lh d til j t d ifi Uma folha de estilo um conjunto de regras para especificar
a realizao concreta de um documento sobre uma mdia
particular. p
Material de Maria Luiza Machado Campos
Exemplo de um documento Exemplo de um documento pp
Bar do Carrego
Rua das Bodegas, s/n
58106-920 C. Grande
Tel: 012133564
F 879765426
Logotipo Cabealho
Campina GRande,
20 de maio de 2001
Sr. Edilson Silva,
Fax: 879765426
Data
Objeto
S d
Rua das Flores, 12
581293 Caruaru
Objet: Dvida?
Prezado Senhor,
Blablabli bli blobla kkkkvhlgvckjdhklbg
Destinatrio
Saudao
F
Bla bla bli, bli blo 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.
Corpo
Forma
Polida
assinatura
Rodap
Rodap
Assinatura
Material de Maria Luiza Machado Campos
Representao XML Representao XML
<cabecalho>
<logotipo loc="logo-graph"/>
d & b d
. . .
</cabecalho>
<destinatario>
<endereco> &abrev-endereco;
</endereco>
<nome> Sr Edilson Silva </nome>
<endereco>
<rua>rua das Flores </rua>
<carta>
. . .
<rua> rua das Flores </rua>
<cidade> Caruaru </cidade>
</endereco>
</destinatario>
</carta>
</destinatario>
<objeto> bla bla </objeto>
<data> 20 Maio 2001 </data>
d P d S h / d <saudacao> Prezado Senhor, </saudacao>
<corpo>
<para>Aqui o primeiro pargrafo</para>
<para> aqui o segundo ... </para>
</corpo>
Material de Maria Luiza Machado Campos
Princpio de funcionamento das Princpio de funcionamento das
folhas de estilos folhas de estilos
<car t a>
folhas de estilos folhas de estilos
<cabecal ho>
. . .
</ cabecal ho>
<cor po> p
. . .
</ cor po>
</ car t a>
If car t a then
WindStar 2000
Les rosires en buget
AB562 Saint Ptaouchnoque
T l 012133564
If car t a then ...
If cabecal ho then
If cor po then
...
If par a then
i
Saint Ptaouchnoque,
Le 30 nivose 2004
Editions Duschmol,
12 rue Schmurz
YT123Rapis
Tel: 012133564
Fax: 879765426
Ti mes new r oman,
si ze 12,
ski p f i r st l i ne
If then
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 jkvbc lkhdklvn v j
.
sssinatura
Rodap
Material de Maria Luiza Machado Campos
Porque XML? Porque XML? qq
Material de Maria Luiza Machado Campos
Extensibilidade e estrutura 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> <date>
<ano> 2000 </ano>
<mes> 01 </mes>
di 05 /di <dia> 05 </dia>
</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 Interoperabilidade pp
Todos os dados podemser vistos como Todos os dados podem ser vistos como
documentos XML e no mais como arquivos
no formato X ou Y no formato X ou Y.
Consequncias:
Um servidor de documentos XML suscetvel de
responder a um conjunto de necessidades de uma
i organizao.
Um simples editor de textos pode tratar o conjunto de
dados de uma organizao dados de uma organizao.
A interoperabilidade dos utilitrios est assegurada.
Material de Maria Luiza Machado Campos
Modularidade e reutilizao Modularidade e reutilizao
Cada usurio livre para definir suas prprias p p 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 Acesso fontes de informao
heterogneas heterogneas heterogneas heterogneas
A consulta e troca de dados entre as base de dados
heterogneas complexa g
XML contribui para minimizar este problema: formato de
li d i i d d d l f troca normalizado, genrico, independente de plataforma
Material de Maria Luiza Machado Campos
Acesso fontes de informao Acesso fontes de informao
heterogneas heterogneas heterogneas heterogneas
A indexao e consulta de bases de documentos
pode se beneficiar de informaes estruturais e
textuais.
pesquisa por palavras-chaves: J orge+Amado retorna
todos os documentos contendo as palavras J orge e todos os documentos contendo as palavras J orge e
Amado
pesquisa estrutural: pesquisa os documentos cujo autor pesquisa estrutural: pesquisa os documentos cujo autor
J orge Amado (ie os documentos contendo um elemento
aut or , ou escr i t o- por contendo J orge e Amado)
Material de Maria Luiza Machado Campos
XML no Mercado... 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... 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 no Mercado
XML est se tornando uma plataforma padro para p p p
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.
Ordem de
Compra
Fornecedor A
Ordem de
compra
em XML
p
em XML
Ordem de
Transformao
Compra
em XML
Fornecedor B
Microsoft adopts XML for Office Microsoft adopts XML for Office
formats formats formats formats
By Gavin Clarke in San Francisco
Published Friday 3rd J une 2005 09:07GMT
Mi f h l i bili b Offi d d h f Microsoft has crept closer to interoperability between Office documents and those from
competing productivity suites by way of XML.
The company will adopt "industry standard" XML as the file format for popular p y p y p 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 comparedtofilesinOffice2003 anddocumentswill bydefault not execute smaller compared to files in Office 2003, and documents will by default not execute
embedded code like macros in Word, Excel or PowerPoint documents, potentially
containing viruses.
XML XML
Apenas uma linguagemde marcao? Apenas uma linguagemde marcao? Apenas uma linguagem de marcao? Apenas uma linguagem de marcao?
A linguagem XML tem associada uma srie de g g
iniciativas:
XSL
SAX, DOM
DTD XML S h DTD, XML Schema
XLink and XPointer
XPath XQuery XPath, XQuery
RDF, OWL
Servios Web (WSDL etc ) Servios Web (WSDL, etc.)
etc.
Material de Maria Luiza Machado Campos
Sintaxe XML Sintaxe XML
Marcao 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 dito e uma end-tag (marca final) OBRIGATORIAMENTE p p g ( )
Marcao XML Marcao XML
A start- tag e a end- tag encontram- se distribudas no fluxo
d d d de dados
Objetivo de delimitar objetos identificveis
E l Exemplo:
<pergunta> <pergunta>
Vai viajar para <cidade> Porto Alegre </ cidade> segunda?
</pergunta>
PortoAlegre uma cidade, assima tag usada Porto Alegre uma cidade, assim a tag usada
para demarcar a informao recebe o nome de
cidade
Tipos de marcas Tipos de marcas pp
Composta
<from>
<name>Carina Dorneles</name>
<email>dorneles@inf.ufrgs.br</email>
</from>
Marca composta de outras
marcas
</from>
Texto
<name>Carina Dorneles</name>
Marca composta de contedo
<name>Carina Dorneles</name>
Mista
f C i D l
Marca composta de contedo
texto
<from>Carina Dorneles
<email>dorneles@inf.ufrgs.br</email>
</from>
Marca composta de outras
marcas + contedo texto
Vazia
<profissao><engenheiro/></profissao>
Marca sem contedo
Estrutura de um documento XML Estrutura de um documento XML
Elementos podem conter outros elementos
Aninhamento de tags
O documento completo encontra-se delimitado por um nico O documento completo 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 Visualizao da estrutura
Livro
Captulo Captulo
Seo Seo
...
...
Regras de estruturao Regras de estruturao g g
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 possui p
pai e no possui irmos
Regras de estruturao Regras de estruturao g g
Todas as tags devemser fechadas: Todas as tags devem ser fechadas:
<p> Par gr af o emHTML
<p> umposs vel par gr af o emXML </p>
As tags XML so case sensitive
<Mensagem> I st o est i ncor r et o </mensagem>
<MENSAGEM> I st o cor r et o </MENSAGEM>
<mensagem> I st o cor r et o </mensagem>
Regras de estruturao Regras de estruturao g g
As tags devem estar bem aninhadas g
<b>
<i>I st o per mi t i do emHTML, mas no emXML</b> <i>I st o per mi t i do emHTML, mas no emXML</b>
</i>
<b>
<i> I st o per mi t i do emXML </i> <i> I st o per mi t i do emXML </i>
</b>
Regras de estruturao Regras de estruturao g g
TODO documento XML deve possuir uma raiz
<titulo>Oi</titulo>
<livro>
<titulo>Oi</titulo>
/
<capitulo>
<secao>
Esta seo ...
<capitulo>
<secao>
Esta seo ...
/

</secao>
</capitulo>
</secao>
</capitulo>
</livro>
Valores de atributos devem estar entre aspas
<mensagem data="20 10 2001"> <mensagem data= 20.10.2001 >
Est a uma mensagemenvi ada em20 de out ubr o de 2001
</mensagem>
Estruturas hierrquicas Estruturas hierrquicas qq
possvel definir regras que expressam como os p g q p
elementos podem ser combinados (estrutura
hierrquica) q )
DTD (Document Type Definition)
XML Schema XML Schema
Estruturas hierrquicas recursivas Estruturas hierrquicas recursivas
Um elemento pode conter direta ou indiretamente
instncias de si mesmo instncias de si mesmo
Atributos Atributos
Um elemento pode conter um nmero arbitrrio de p
atributos
Cada atributo um par (nome, valor), separados por =
Os valores dos atributos so cadeias de caracteres e Os valores dos atributos so cadeias de caracteres e
devem ser delimitadas por aspas
Umatributo possui umtipo quando utilizada uma DTD Um atributo possui um tipo quando utilizada uma DTD
Pode-se associar umvalor default a umatributo 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 Atributos
Valores dos atributos:
Podem conter espaos
Podem comear com caractere numrico
Podemconter qualquer caractere de pontuao Podem conter qualquer caractere de pontuao
Material de Maria Luiza Machado Campos
Atributos Atributos
Exemplo:
<livro isbn="85.241.0590-9">
| <capitulo numero="3"> | <capitulo numero 3 >
| | <secao>
| | | <para>...</para>
| | | <para>...</para>
| | </secao>
| | <secao> | |
| | | <para>...</para>
| | </secao>
| </ it l > | </capitulo>
| <capitulo numero="4"> ... ...
</livro>
Elementos x Atributos Elementos x Atributos
No h regras g
Atributos apresentam algumas restries
No so extensveis No so extensveis
No permitem mltiplos valores
No descrevem estruturas
Recomendao: em geral, preferir elementos, e
usar atributos para informaes secundrias p
Metadados (dados sobre os dados) devem ser
representados como atributos representados como atributos
Ex: <price currency=US>59.99</price>
Elementos x Atributos Elementos x Atributos
<b k l E li h <book lang=English
price=US$59.99
title=XML Bible
book
Lang=English
Price=US$59.99
author=Hommer Simpson>
...
Hommer Simpson
XML Bible
</book>
<book lang=English>
<price currency=US$> 59.99
</ i >
book
Lang=English
</price>
<title>XML Bible </title>
...
price title
Currency=US$
</book>
price title
59.99
XML Bible
Material de Maria Luiza Machado Campos
Instrues de Processamento: Mecanismo de insero de
informaes explcitas em um documento que so
destinadas a alguma aplicao destinadas a alguma 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 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:
& &lt & t & t & &amp; &lt; &gt; &quot; &apos;
Material de Maria Luiza Machado Campos
CDATA: todo o texto que aparece entre delimitadores de
seo CDATA que so considerados caracteres de dado: seo CDATA que so considerados caracteres de dado:
<![CDATA[ ... ]]>
Material de Maria Luiza Machado Campos
<passo>se A &gt; B <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
Exe Exerccio rccio
Escreve um documento XML para representar uma p p
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 de Receiturio mdico Exemplo de Receiturio mdico pp
Ana Maria Marina 7 anos Ana Maria Marina , 7 anos
Uso interno
Xarope SemTosse
Clnica Baby
P di t i Xarope SemTosse
1 colher 3x ao dia
Pediatria
Uso Externo
Gyellow Gyellow
aplicar no brao 1x ao dia ao deitar
___________
Dr. J uca
20/10/2001
Vamos testar? Vamos testar?
Use o Exchanger XML Lite para verificar o g p
documento XML que voc criou
ou
Use o parser RXP... (baixar do site da disciplina)
rxp <nome do arquivo XML>
Exe Exerccios rccios
Faa o seu currculo em XML
Informaes obrigatrias:
Dados pessoais Dados pessoais
Formao
Idiomas Idiomas
Cursos adicionais
Verso do XML Verso do XML
Existem duas verses da especificao da p
linguagem XML:
1.0
1.1
Histrico da Evoluo das verses Histrico da Evoluo das verses
Verso 1.0 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 estavampresentes na verso 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 0) e atributos (hoje j est na verso 5.0)
Especificao de nomes na verso 1.0 do XML: tudo que
no era explicitamente permitido, era proibido
Verso 1.1 Verso 1.1
Flexibilizou a definio de nomes em XML, ,
mudando a regra do jogo
Tudo que no explicitamente proibido, permitido q p p , p
Isso faz que com a verso de XML no precise mais
mudar caso surjam novas verses do Unicode j
Normalizao deve ser garantida pelo parser Normalizao deve ser garantida pelo parser
(eliminao de espaos em branco e sinais de fim
de linha desnecessrios falaremos mais sobre de linha desnecessrios falaremos mais sobre
isso quando estivermos aprendendo a API DOM)
No curso No curso
Aqui no curso ficaremos com a verso 1.0... q
Instruo de Processamento Instruo de Processamento
Mecanismo de insero de informaes explcitas em um
d t d ti d l li documento destinadas a alguma aplicao
Os parsers XML no interpretam tais informaes, assim
como no o fazempara comentrios; eles simplesmente as como no o fazem para comentrios; eles simplesmente as
repassam para a aplicao
Sintaticamente uma instruo de processamento uma Sintaticamente uma instruo de processamento uma
cadeia de caracteres que comea com a configurao <? e
termina com ?>
Exemplo
<para>
seria bom finalizar esta pagina seria bom finalizar esta pagina
<?ACME-paginator DO:new-page?> aqui.
</para>
Material de Maria Luiza Machado Campos
Instruo especial XML Instruo especial XML p p
uma instruo de processamento especial p p
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Parmetros
ver si on indica a verso da linguagem (1.0 ou 1.1) -
obrigatrio
encodi ng indica a codificao de caracteres utilizado no
documento opcional documento - opcional
Instruo especial XML Instruo especial XML p p
Parmetros (cont.) ( )
st andal one - opcional
=" yes" , indica que no existem declaraes externas yes , dca que o e s e dec a aes e e as
que afetam a interpretao (default)
=" no" , indica que um conjunto de declaraes
d fi id i f f definido externamente contm informao que afeta a
interpretao do contedo do documento. O valor "no"
deve ser usado se qualquer elemento, atributo ou deve ser usado se qualquer elemento, atributo ou
entidade externa for definida em uma DTD externa
Encoding Encodinggg
Utilizar atributo encoding na declarao XML do g
prlogo
ex: <?XML version=1.0 encoding=ISO-8859-1?>
Pode-se utilizar declarao de encoding como parte
de uma instr de processamento separada aps a de uma instr. de processamento separada, aps a
declarao XML mas antes do caractere aparecer
ex: <?XML encoding=ISO-8859-1 ?>
Material de Maria Luiza Machado Campos
Conjuntos de caracteres Conjuntos de caracteres j j
UTF-8
Unicode
UTF-16
ASCII
Unicode
ASCII
1 byte, 7 bits --> 128 combinaes
ISO 8859-1 Latin-1 ISO 8859 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 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 Sees CDATA
Normalmente o texto que aparece entre os delimitadores < e
id d E f i > so considerados marcaes. Exceo feita aos textos
entre delimitadores de seo CDATA, que so considerados
caracteres de dado caracteres de dado
Os delimitadores de abertura e fechamento da seo so,
respectivamente, <![CDATA[ e ]]> p [ [ ]]
A nica seqncia de caracteres que no pode aparecer em
uma seo CDATA ]]>
Material de Maria Luiza Machado Campos
Declarao CDATA 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
t d t < > & t t h d contendo os caracteres <, >, &, etc., comuns em trechos de
cdigo de programas.
Exemplo:
<![ CDATA[ E XML tid d &lt h b ilt i ]]> <![ CDATA[ Em XML a entidade &lt; eh built- in ]]>
Resultado depois do documento ser processado:
"Em XML a entidade &lt; eh built- in".
Material de Maria Luiza Machado Campos
Exerccio Exerccio
1. Escreva um documento XML que tenha 5 > 4 q
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 browser (Firefox ou IE)
para ver o resultado, ou ento
Use o RXP RXP para ver o resultado em cada exerccio,
com os parmetros bm bm, assim:
rxp bm <arquivo XML>
Documentos XML Documentos XML bem formados 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 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) polegadas)
Material de Maria Luiza Machado Campos
Exerccio Exerccio
Escreva um documento XML simples, e teste todos p ,
os itens da transparncia anterior. Veja o tipo de
erro gerado pelo parser em cada um deles. g p p
Documentos XML Documentos XML bem formados bem formados
Tipagem fraca p g
apenas um parser em uma rvore rotulada
No verifica a estrutura emsi: No verifica a estrutura em si:
a hierarquia dos elementos e seus atributos
No se pode garantir por exemplo: p g p p
Toda instncia de livro deve ter um elemento preo que inclui um
atributo moeda
Material de Maria Luiza Machado Campos
Documentos XML Documentos XML bem formados bem formados
Tecnicamente no precisam comear com a p
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 XML Tecnologias XML
SOAP
gg
DOM
RDF
DAML
SOAP
WSDL
UDDI
Interoperabiliade
DOM
SAX
DTD
Web Semntica
Manipulao programtica
Interoperabiliade
Programas
XPath
DTD
XML Schemas
CSS
XSL-FO
XHTML
Estruturao
Manipulao programtica
XML + namespaces
Xpointer
Xlink
Xquery
XSLT
XFORMS
VoiceXML
WML
Ncleo
XSLT
Tecnologias de
Apresentao
Manipulao XML
Material de Maria Luiza Machado Campos
Namespaces Namespaces
Motivao Motivao
Problema1: Cada usurio ou grupo pode criar suas g p p
prprias tags
mesmas tags podem ter significados diferentes g p g
Problema2: quando se juntam dois documentos que
usama mesma tag comsignificados diferentes usam a mesma tag com significados diferentes
conflito!
Precisa se de alguma maneira remover a Precisa-se de alguma maneira remover a
ambigidade
usam-se ento Namespaces
Material de Maria Luiza Machado Campos
Namespaces Namespaces pp
Permitem que seja usado um esquema de q j q
atribuio de nomes ao longo de um conjunto de
documentos
Associa nomes exclusivos a URIs
URLs so usados no por apontarempara uma 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 Declarao e uso de Namespace p 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/>
<xxmlns:edi='http://ecommerce.org/schema'>
<!-
the'price' element'snamespaceishttp://ecommerceorg/schema >
<xxmlns='http://ecommerce.org/schema'>
<priceunits='Euro'>3218</price>
<xxmlns:edi='http://ecommerce.org/schema'>
<!- <ecom:xxmlns:ecom='http://ecommerce.org/schema'>
the'price' element'snamespaceishttp://ecommerce.org/schema-->
<edi:priceunits='Euro'>32.18</edi:price>
</x>
<priceunits=Euro>32.18</price>
</x>
the'price' element'snamespaceishttp://ecommerce.org/schema-->
<edi:priceunits='Euro'>32.18</edi:price>
</ >
<ecom:priceunits='Euro'>32.18</ecom:price>
</ecom:x>
/x
</x>
Material de Maria Luiza Machado Campos
Mltiplos Namespaces Mltiplos Namespaces p p p 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 Outro Exemplo pp
<aaa >
<bbb >
<ccc / > <ccc / >
</ bbb>
<BBB> <BBB >
<CCC / >
</ BBB>
<x111 >
<x222 / >
</ x111> </ x111>
</ aaa>
Material de Maria Luiza Machado Campos
Declaraes em todos os elementos Declaraes em todos os elementos
<lower:aaa xmlns:lower = "http://etc.org/lowercase" >
l bbb l l "h // /l " <lower:bbb xmlns:lower = "http://etc.org/lowercase" >
<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> </xnumber:x111>
</lower:aaa>
Vamos testar com o RXP?
rxp N <arquivo XML> rxp N <arquivo XML>
Testem inserir erros de namespace
Material de Maria Luiza Machado Campos
Declaraes s em alguns elementos Declaraes s em alguns elementos g g
<lower:aaa xmlns:lower = "http://zvon.org/lowercase" >
<lower:bbb >
<lower:ccc /> <lower:ccc />
</lower:bbb>
<upper:BBB xmlns:upper = "http://zvon.org/uppercase" >
<upper:CCC /> <upper:CCC />
</upper:BBB>
<xnumber:x111 xmlns:xnumber = "http://zvon.org/xnumber" >
b 222 / <xnumber:x222 />
</xnumber:x111>
</lower:aaa>
Material de Maria Luiza Machado Campos
Declararao na raiz Declararao na raiz
<lo e aaa l lo e "http //etc o g/lo e case <lower:aaa xmlns:lower = "http://etc.org/lowercase
xmlns:upper = "http://etc.org/uppercase"
xmlns:xnumber ="http://etc.org/xnumber" > xmlns:xnumber http://etc.org/xnumber >
<lower:bbb >
<lower:ccc />
</lower:bbb> </lower:bbb>
<upper:BBB >
<upper:CCC />
</upper:BBB> </upper:BBB>
<xnumber:x111 >
<xnumber:x222 />
</xnumber:x111>
</lower:aaa>
Material de Maria Luiza Machado Campos
Namespace Default Namespace Default pp
Namespaces no tm que ser declarados explicitamente com prefixos
O ib l d fi d f l d O atributo xmlns define o namespace default que usado 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 />
/ 111 </x111>
</aaa>
Material de Maria Luiza Machado Campos
Exemplo Exemplo pp
Elementos podem at pertencer a diferentes namespaces
b l h fi ! embora eles tenham os mesmos prefixos!
<aaa > <aaa >
<lower:bbb xmlns:lower = "http://etc.org/lowercase" >
<lower:ccc />
/l bbb </lower:bbb>
<lower:BBB xmlns:lower = "http://etc.org/uppercase" >
<lower:CCC /> <lower:CCC />
</lower:BBB>
<lower:x111 xmlns:lower = "http://etc.org/xnumber" >
<lower:x222 /> <lower:x222 />
</lower:x111>
</aaa> /
Mas evite isso, para no confundir!
Material de Maria Luiza Machado Campos
Namespaces e seu uso Namespaces e seu uso pp
Namespaces so amplamente usados nas diversas p p
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 select="."/></produto> p p
</xsl:template>
</xsl:stylesheet> y
Material de Maria Luiza Machado Campos

Você também pode gostar