Sunteți pe pagina 1din 16

Centro Atlntico

O Guia Prtico da
XML

Portugal/2001

Guia prtico da

XML

Conceito, exemplos,
prtica e aplicaes da
linguagem universal.
reas de Uso, Exemplos, Normas,
Elementos, Atributos, Sintaxe,
DTDs, Schemas, Folhas de Estilo,
Parsers, DOM, SAX, Aplicaes,
Processamento de Dados,
Vocabulrios e Dialectos,
Comrcio Electrnico.
XML o formato universal para partilha
de dados entre aplicaes. O conceito XML
simples e as possibilidades so inmeras.
Documentos em formato XML podem conter:
Bases de Dados, Transaces Comerciais,
Catlogos de Produtos, Grficos Vectoriais,
Equaes Matemticas, Frmulas Qumicas,
Relatrios Financeiros, Dados Bibliogrficos,
Anncios Publicitrios, enfim, quase todos
os dados estruturados, em documento
de texto. Paulo Heitlinger.

Reservados todos os direitos por Centro Atlntico, Lda.


Qualquer reproduo, incluindo fotocpia, s pode ser feita
com autorizao expressa dos editores da obra.

O GUIA PRTICO DA XML

Coleco: Tecnologias
Autor:

Paulo Heitlinger

Direco grfica: Centro Atlntico


Reviso: Centro Atlntico
Capa: Paulo Buchinho

Centro Atlntico, Lda., 2001


Ap. 413 4764-901 V. N. Famalico
Porto - Lisboa
Portugal
Tel. 808 20 22 21

geral@centroatlantico.pt
www.centroatlantico.pt

Fotolitos: Centro Atlntico


Impresso e acabamento: Inova
1 edio: Outubro de 2001
ISBN: 972-8426-45-3
Depsito legal: 171.888/01

Marcas registadas: todos os termos mencionados neste livro conhecidos como


sendo marcas registadas de produtos e servios, foram apropriadamente capitalizados. A utilizao de um termo neste livro no deve ser encarada como
afectando a validade de alguma marca registada de produto ou servio.
O Editor e o Autor no se responsabilizam por possveis danos morais ou fsicos causados pelas instrues contidas no livro nem por endereos Internet
que no correspondam s Home-Pages pretendidas.

ndice de Contedo
1.

XML, os conceitos bsicos .................................................9

1.1. Introduo........................................................................................... 10
Para quem destinado este livro?........................................................ 10
Conhecimentos prvios ........................................................................... 10
Agradecimentos, dedicatria. ................................................................ 11

1.2. Para que serve a XML? ....................................................................... 12


"Lngua-me" de novas linguagens de marcao. ............................ 14

1.3. O que , precisamente, a "XML"? ..................................................... 16


"Dados autodescritveis" um primeiro exemplo ............................. 16
Dados estruturados .................................................................................. 18
SGML, XML, HTML e XHTML .................................................................. 18

1.4. Editar e ver documentos XML .......................................................... 20


1.5. As diferenas essenciais: XML vs. HTML .......................................... 22
XML no ser a futura verso da HTML... ........................................... 22
O "ponto forte" da XML: marcadores semnticos. ............................ 23
A extensibilidade dos elementos. ......................................................... 25
Em continuao... ..................................................................................... 27

2.

Bem formar: A sintaxe da XML ..................................... 29

2.1. Exemplo de documento bem formado ............................................. 30


As componentes de um documento XML ............................................ 30
O que , precisamente, um <elemento> XML? .................................. 32

2.2. Regras para o uso de marcadores ...................................................... 33


Elementos sem contedo. ...................................................................... 33
Espaos em branco. .................................................................................. 34
Convenes para a denominao de <elementos> ........................... 34
O Document Object Model: Estrutura em rvore ............................... 35

2.3. Elementos com atributos ................................................................... 38


Preferir atributos ou elementos? .......................................................... 40

3.

DTDs: Fixar modelos de contedo ................................. 41

3.1. Para qu convenes sobre documentos XML? ............................... 42


Cenrio para aplicaes prticas de XML com DTDs ......................... 44

3.2. Declarar Tipos de Documentos .......................................................... 46


3.3. Tipos de declarao ............................................................................ 47
Declaraes de Tipos de Elementos ..................................................... 47
Declarao DOCTYPE ................................................................................ 48
Declarao de elementos ........................................................................ 48
Declaraes para o valor dos elementos ............................................. 48
Declarao de <sub-elementos> ........................................................... 50
Declarao de atributos (ATTLIST Definition) .................................... 51

3.4. Links para DTDs .................................................................................. 54

4.

XML-Schema .................................................................... 55

4.1.
4.2.
4.3.
4.4.
4.5.

Os limites das DTD convencionais ..................................................... 56


Os potenciais da XML-Schema .......................................................... 57
A validao de documentos XML com schemas .............................. 59
A construo de um schema .............................................................. 60
Pginas Web sobre XML-Schema ...................................................... 64

5.

XLink: Apontar para recursos ......................................... 65

5.1. A utilidade do XLink .......................................................................... 66


As componentes do XLink ...................................................................... 66
Link simples ............................................................................................... 66
Links estendidos com xlink:type="extended". ................................... 66
Web-sites de utilidade. ........................................................................... 68

6.

Namespaces....................................................................... 69

6.1. O conceito dos espaos de nome ...................................................... 70

7.

Analisar documentos XML ............................................... 71

7.1. Parsers XML ........................................................................................ 72


Parsers tipo DOM ...................................................................................... 72
Parsers tipo SAX: event driven processing ....................................... 74

7.2. Editores e Parsers ............................................................................... 75


MSXML: o Parser da Microsoft ............................................................... 75

7.3. Outros Parsers e ferramentas XML ................................................... 76


Pgina

8.

Publicar XML com folhas de estilo ................................ 79

8.1. Formatar documentos XML com CSS ou XSL ................................. 80


Cascading Style Sheets ............................................................................ 80

8.2. Formatar documentos XML com XSL .............................................. 82


XSL ou CSS? Prs e contras. ................................................................... 82
Cross Media Publishing ........................................................................... 83

8.3. As trs componentes da XSL ............................................................. 85


XSLT, XPath, XSL FO ................................................................................. 85

8.4. XSLT: XSL-Transformations .............................................................. 86


Templates: os padres XSL ..................................................................... 86
O uso dos templates. ............................................................................... 87

8.5. XSL: Alguns exerccios prticos ........................................................ 88


XML+XSL ->HTML .................................................................................... 88
Style Sheet de tipo XSL para gerar output HTML. ............................. 89
Desempenho duma transformao XSL com XMLWriter .................. 92
Alternativa: Usar o XSL Engine do Internet Explorer........................ 93
Melhor ainda: XSLT "on the server" ..................................................... 94

9.

Processar dados XML ....................................................... 97

9.1.
9.2.
9.3.
9.4.

MS Access: Importar e exportar XML .............................................. 98


StarOffice da SUN ............................................................................ 100
Navegar dados XML com JavaScript .............................................. 101
Desenvolver aplicaes: Java ou .NET?........................................... 105
A estratgia da SUN: Portable Code, Portable Data .................... 105
A ofensiva .NET e a plataforma BizTalk da Microsoft ................... 106

10. Dialectos XML ................................................................. 107


10.1. Descendentes da XML: vocabulrios e dialectos ........................... 108
10.2. MathML: Codificar expresses matemticas .................................. 109
Codificao de contedo vs. codificao de apresentao. .......... 110

10.3. CML - Chemical Markup Language ................................................ 115


10.4. UDDI - Universal Description, Discovery and Integration ............ 116
10.5. WAP e WML ...................................................................................... 118
10.6. SVG - Grficos vectoriais ................................................................. 120
10.7. Outros dialectos e projectos XML: uma pequena seleco ........... 127

Pgina 7

11. XML no Comrcio Electrnico ...................................... 131


11.1 EDI, o precursor da XML ................................................................. 132
Intercmbio de informao via EDI .................................................... 132
Os benefcios do EDI .............................................................................. 134
Os problemas do EDI .............................................................................. 134
Os vocabulrios XML para o Comrcio Electrnico ......................... 135

11.2. eCommerceXML e XML/EDI ............................................................ 136


11.3. Business Integrator .......................................................................... 137
11.4. BizTalk Server 2000 da Microsoft .................................................. 138
11.5. Tamino XML DB da Software AG .................................................... 139
11.6. Gesto de Contedos com o Dialog Server .................................... 140

12. XML online: Links de utilidade .................................... 141


Tutoriais.................................................................................................... 142
Editores, Parsers, Aplicaes ................................................................ 142
Comrcio Electrnico ............................................................................. 142
Empresas, Entidades .............................................................................. 142
Directrios ................................................................................................ 143
Newsgroups na Usenet .......................................................................... 143

13. Glossrio .......................................................................... 145

Pgina

XML, os
conceitos
bsicos
Neste captulo vamos editar um documento, guard-lo
como ficheiro XML, e visualiz-lo com um browser.
Verificamos logo que no existe uma formatao
satisfatria; mas descobrimos o "ponto forte" da XML:
Com <marcadores> tipo XML podemos no s descrever
o contedo, como tambm fixar a estrutura lgica
desse mesmo contedo.
A flexibilidade da XML provm da faculdade de transportar
variadssimos tipos de dados e de mant-los estruturalmente
coesos. A XML serve magnificamente para a estruturao
de qualquer tipo de dados e para descrev-los sem dvidas
ou ambiguidades em formato de texto.

<xml>

1.

Isto porque a XML permite definir a linguagem de


marcao mais adequada a um dado tipo de documentos.
Documentos em formato XML podem conter, por exemplo,
Transaces Comerciais,
Catlogos de Produtos,
Grficos Vectoriais,
Equaes Matemticas,
Anncios Publicitrios, enfim:
todos os dados que necessitem
de uma representao
estruturada...

Pgina 9

O Guia Prtico da XML - Centro Atlntico

1.1.

Introduo

Para quem destinado este livro?


Este livro foi escrito para todas as pessoas que querem uma apresentao
concisa em lngua portuguesa da nova tecnologia de intercmbio de dados abreviada por "XML".
Com este livro pretendemos transmitir os conhecimentos necessrios para
uma apreciao realista no s do presente uso, como tambm das futuras
potencialidades da Extensible Markup Language. Explica-se o conceito, os
mdulos, apresentam-se vrios vocabulrios derivados da XML e descrevem-se algumas aplicaes que trabalham com esta tecnologia de informao.
Paralelamente, este livro fornece uma iniciao do tipo "aprender fazendo"
(learning by doing) em forma de exerccios prticos para pessoas que pensem estender as suas actividades profissionais a este novo sector.

Conhecimentos prvios.
Mas este livro no foi escrito apenas para profissionais; qualquer pessoa com
conhecimentos bsicos de Informtica e de computadores pessoais poder seguir os temas aqui abordados. Contudo, ter alguma vantagem se j possuir
alguns conhecimentos ou at alguma prtica nos seguintes campos:
HTML e CSS, Internet em geral,
Bases de Dados,
Linguagens de scripting como, p.ex., JavaScript.
Se quiser fazer os exerccios prticos includos neste livro, necessitar de um
PC trabalhando preferivelmente em ambiente Windows 95, 98, 2000, XP ou
Win NT , do browser MS Internet Explorer verso 5 ou superior, e de um
Editor de Texto simples.
Uma ligao Internet ser til para todos os que desejem...
... fazer o download de diversas aplicaes e/ou exemplos mencionados neste
livro,
... completar os seus conhecimentos sobre os temas abordados neste livro
consultando os inmeros Tutoriais, White Papers e pginas Web.
Informaes de grande utilidade, oferecidas por empresas de software e
programadores freelance principalmente nos idiomas ingls, alemo,
francs e castelhano. (A informao em portugus escassa.)

Pgina 10

1.

XML, os conceitos bsicos

... participar nos diversos Grupos de Discusso (newsgroups) da Usenet, que


servem para esclarecer e discutir a presente evoluo da XML uma
tecnologia ainda bem nova!
... para os leitores que, por e-mail, queiram entrar em contacto com o autor
ou com a Editora para tirar qualquer dvida, ou que queiram contribur
com aplausos, crticas e sugestes para o melhoramento das prximas
edies deste livro.

Agradecimentos, dedicatria.
Tenho a agradecer primeiro a Librio Manuel Silva, Director da Editora Centro Atlntico, pela rpida reaco positiva quando lhe propuz em Agosto de
2001 a publicao deste livro. A Isabel Canhola, amiga de longa data e
gerente da Ponto i Lda., tenho a agradecer, entre outras facilidades, o espao
de trabalho que foi necessrio para a redaco deste livro.
A Mariana Figueroa e Ricardo Faria agradeo a correco do manuscrito e
vrios melhoramentos de estilo. A Spike Lee e a Birgit Wegemann agradeo
o imperativo sempre actual: Do the right thing!
Este livro, paginado com PageMaker 6.5, e tipografado com a Rotis do mestre
Otl Aicher, est dedicado a Ted Nelson, Planeta Xanadu:
Tinhas razo, Ted!
Porto, Outubro de 2001
Paulo Heitlinger

Pgina 11

O Guia Prtico da XML - Centro Atlntico

1.2.

Para que serve a XML?


Desde a sua especificao em 1998, a eXtended Markup Language (XML) rapidamente adquiriu grande popularidade entre os peritos informticos. Embora o World Wide Web Consortium (W3C) tenha fixado a verso 1.0 da XML
h apenas trs anos, vemos hoje este conceito j firmemente integrado no Comrcio Electrnico. E no s no Electronic Business; vemos dialectos XML
avanar cleres nos mais variados sectores: Medicina, Qumica, Biologia, Matemtica, Ensino e Formao, Publicidade, Comunicao Social, Artes Grficas, Desktop Publishing, Bibliotecas e Arquivos, etc.

Ao que se deve este sucesso to rpido?


Um factor determinante para o rpido avano da XML o suporte garantido
por empresas lderes do mercado do software empresas como a Microsoft,
Oracle, SAP, Software AG, IBM, SUN entre outras de menor importncia...
Vejamos alguns exemplos actuais: A XML uma tecnologia fundamental da
nova plataforma .NET da Microsoft, que ir permitir a criao de servios
Web distribudos que possam interoperar em ambientes heterogneos. Quanalk
do do lanamento da iniciativa BizT
BizTalk
alk, Bill Gates afirmou: para seduzir
mais de um milho de novas empresas para o Comrcio Electrnico, temos
que ajudar as suas aplicaes a falar a linguagem do negcio de forma homognea. At agora, era muito difcil para as empresas fazerem negcio com
base na Internet, devido falta de um vocabulrio tcnico nico para descrever os processos funcionais.
Para a PeopleSoft, a implementao da XML como tecnologia de partilha de
dados serve para a extenso da sua soluo ERP para contemplar aplicaes
orientadas para o Comrcio Electrnico.
A Software AG a primeira grande empresa de software europeia a apostar
completamente e totalmente no conceito XML.

Formato universal para partilha de dados.


Uma outra determinante do xito da XML est fundamentada na sua prpria
natureza: o formato XML tornou-se, em pouco tempo, um formato universal para a partilha de dados entre aplicaes. O conceito e a filosofia da
XML so simples, os seus derivados e as possveis aplicaes so inmeras.
Documentos de formato XML podem conter, por exemplo:
Transaces Comerciais,
Catlogos de Produtos,
Relatrios Financeiros ou Estatsticos

1.

XML, os conceitos bsicos

Grafismos Vectoriais,
Equaes Matemticas,
Anncios publicitrios,
Todos os dados que necessitem de uma representao estruturada.

Standard internacional.
Onde antes existiam basties proprietrios, a nova lngua franca trouxe uma
grande simplificao para a transferncia e para a partilha de dados. Com a
meta-linguagem XML facilmente se definem linguagens de marcao para a
partilha de informao entre aplicaes baseadas em sistemas incompatveis.
Incompatveis, por trabalhar com formatos proprietrios.
Convm salientar de antemo que a partilha de dados muito estruturados entre computadores heterogneos figura entre as aplicaes principais da XML.
A aplicao mais importante da XML nos prximos anos ser a comunicao
de computador a computador, ou seja, a partilha de dados e no o dilogo
entre o homem e o computador, afirmou com razo Simon Phipps, da IBM.
A integrao fcil entre aplicaes de uma empresa ou de empresas diferentes est entre as grandes potencialidades da XML.

Permuta de dados

XML
Sistema X

Sistema Y

Para o que a XML no serve...


Se bem que persista a tendncia de associar e de comparar a XML com a
funo delegada HTML, tratam-se de dois conceitos com fins e propsitos
bem diferentes. por isso que a XML no ser a "herdeira" ou a "continuao" da HTML.
Vejamos porque no. A HTML a linguagem de formatao utilizada para
definir e integrar os elementos de um documento e para fornecer um layout
especfico a pginas Web compostas de texto, imagens e, possivelmente, de
elementos multimdia. Para esse tipo de formatao, a XML precisa sempre
da assistncia da XSL uma Style Sheet Language bastante mais complexa e
difcil de dominar que a CSS da HTML.

O Guia Prtico da XML - Centro Atlntico

No cremos pois que a XML v brevemente definir "o futuro da WWW". Nem
to pouco cremos que "a XML vai pr a HTML de lado".
Para efectivar layouts e realizar um bom Screen Design de pginas Web, a
HTML continuar a ser a ferramenta de eleio. Em conjunto com as Cascading Style Sheets, a HTML tem em termos de desenho grfico ntidas
vantagens sobre a XML. Para os amadores fcil de aprender, e nas mos de
um profissional funcional e efectiva (desde que o dito profissional se abstenha de usar alguns conhecidos editores de HTML!).
A XML ter sim um forte impacto na futura evoluo do World Wide Web e
na HTML, mas no ser a substituta da HTML.

"Lngua-me" de novas linguagens de marcao


A XML a "lngua-me" de outras linguagens. Em s trs anos, a XML demonstrou j um potencial muito frutfero, pois serviu para gerir um sem nmero de linguagens de marcao.
Entre os mais conhecidos dialectos (tambm chamados "vocabulrios") derivados da XML figuram MathML, SVG, AdXML, ICE, SMIL, SOAP, BML, BizTalk, UDDI, WML, e muitos mais.

Visualizao de dados.
A XML vai fomentar o surgimento de uma nova gerao de aplicaes de
manipulao e visualizao de dados. Hoje existem poucos browsers capazes
de visualizar documentos criados com dialectos XML. Esperamos que em breve surjam browsers mais universais, mais versteis de modo a permitirem,
por exemplo, a apresentao de frmulas complexas codificadas com MathML
um dialecto da XML prprio para a definio de frmulas matemticas.

Uma das mais


surpreendentes aplicaes
da XML a Linguagem
de Marcao SVG, que
permite realizar grficos
vectoriais desta
qualidade.
Contudo, necessrio
um PlugIn para podermos
ver o grfico dentro da
janela de um browser...

Pgina 14

1.

XML, os conceitos bsicos


Uma outra espantosa
aplicao da XML a
Linguagem de Marcao
CML, que permite descrever
e visualizar molculas
qumicas complexas.
Contudo, tambm neste
caso necessrio um PlugIn
para ver e mover a molcula
em 2D ou 3D dentro da
janela do Browser MS
Internet Explorer...

Standards e Standards.
Nem tudo um mar de rosas nos campos da XML. Como j observmos em
outros meios, tambm aqui vemos a ingerncia de grandes empresas de software nem necessrio mencionar nomes na tentativa de introduzir os
seus conceitos proprietrios, quase sempre em prejuzo dos standards internacionais. Mas nem sempre esta presso parece ser nociva; no caso dos
XLM-Schemas verificamos que este conceito est a "virar" standard internacional para o contentamento quase geral dos tcnicos empenhados na
evoluo da XML.
O aspecto mais interessante da XML , paradoxalmente, tambm o mais problemtico: A enorme profuso de dialectos e vocabulrios XML demonstra a versatilidade desta meta-linguagem. Mas quais destes dialectos XML
sero verdadeiros padres? E quais so os standards que, por carncia de
adeso geral, j hoje so de facto standards puramente fictcios?

Pgina 15

O Guia Prtico da XML - Centro Atlntico

1.3.

O que , precisamente, a "XML"?


A Extensible Markup Language (XML) prov um conceito para descrever, armazenar, intercambiar e manipular dados estruturados.
Num documento de formato XML os dados so descritos em texto (Unicode).
Sabemos bem que um formato de texto no a soluo mais econmica para
armazenar dados, mas muitas vezes a mais eficaz. Mais eficaz, porque
mais fcil trabalhar com um texto, do que trabalhar com os formatos binrios tpicos de muitas bases de dados.

"Dados autodescritveis" um primeiro exemplo


Com a XML definem-se facilmente linguagens de marcao (Markup Languages). Usar XML um modo muito flexvel de criar dados autodescritveis e partilhar esses dados via Internet, por Intranets, ou por qualquer outro modo de transporte.
A XML facilita declaraes precisas no s dos contedos de um documento, como tambm dos elementos convenientes estruturao desses contedos.
Para demonstrar esta qualidade bsica da XML, basta dar um vista de olhos a
um exemplo bem simples, como o seguinte extracto de um documento XML:
....
<pessoa>
<nome>Pedro Tripeiro</nome>
<morada>Rua dos Prazeres, 233</morada>
<codigo.postal>4000 - 319</codigo.postal>
<localidade>Porto</localidade>
<telefone>22 33 44 55</telefone>
</pessoa>
....
Este pequeno exemplo demonstra de forma evidente que a XML serve magnificamente para a estruturao de dados e para descrev-los sem dvidas ou
ambiguidades em forma de um texto. Isto porque a XML permitiu ao autor
do documento definir os seus prprios <elementos>, criando e usando os
<marcadores> (=Tags) mais adequados descrio e estruturao dos dados
em causa: nome, morada, codigo postal, etc.
Para todos os efeitos prticos, definimos j a nossa "MML" a Moradas
Markup Language, que nos vai servir para armazenar e estruturar informao
do tipo "moradas"...

Pgina 16

S-ar putea să vă placă și