Oguiapraticoda XML Excerto

download Oguiapraticoda XML Excerto

of 16

Transcript of Oguiapraticoda XML Excerto

  • 8/4/2019 Oguiapraticoda XML Excerto

    1/16

    Centro Atlntico

    O Guia Prtico da

    XML

    Portugal/2001

  • 8/4/2019 Oguiapraticoda XML Excerto

    2/16

  • 8/4/2019 Oguiapraticoda XML Excerto

    3/16

    XMLConceito, exemplos,prtica e aplicaes dalinguagem 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 partilhade 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 documentode texto. Paulo Heitlinger.

    Guia prtico da

  • 8/4/2019 Oguiapraticoda XML Excerto

    4/16

    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 PRTICODA 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

    [email protected]

    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 comosendo marcas registadas de produtos e servios, foram apropriadamente capi-

    talizados. A utilizao de um termo neste livro no deve ser encarada comoafectando a validade de alguma marca registada de produto ou servio.

    O Editor e o Autor no se responsabilizam por possveis danos morais ou fsi-cos causados pelas instrues contidas no livro nem por endereos Internetque no correspondam s Home-Pages pretendidas.

  • 8/4/2019 Oguiapraticoda XML Excerto

    5/16

    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 autodescrit veis" um primeiro exemplo............................. 16Dados 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 cont inuao... ..................................................................................... 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 XML? .................................. 32

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

    Elementos sem contedo. ...................................................................... 33

    Espaos em branco. ..................................................................................34

    Convenes para a denominao de ........................... 34

    O Document Object Model: Estrutura em rvore............................... 35

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

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

  • 8/4/2019 Oguiapraticoda XML Excerto

    6/16

    Pgina 6

    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 ........................................................... 50

    Declarao de atributos (ATTLIST Definit ion) .................................... 51

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

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

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

    4.2. Os potenciais da XML-Schema.......................................................... 57

    4.3. A validao de documentos XML com schemas.............................. 59

    4.4. A construo de um schema.............................................................. 60

    4.5. 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 ut ilidade. ...........................................................................68

    6. Namespaces....................................................................... 696.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 Microsof t ...............................................................75

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

  • 8/4/2019 Oguiapraticoda XML Excerto

    7/16

    Pgina 7

    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 cont ras. ...................................................................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........................................................ 88XML+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. MS Access: Importar e exportar XML .............................................. 989.2. StarOffice da SUN ............................................................................ 100

    9.3. Navegar dados XML com JavaScript .............................................. 101

    9.4. 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

  • 8/4/2019 Oguiapraticoda XML Excerto

    8/16

    Pgina 8

    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.................................... 141Tutoriais....................................................................................................142

    Editores, Parsers, Aplicaes................................................................142

    Comrcio Electrnico .............................................................................142

    Empresas, Entidades..............................................................................142

    Directrios................................................................................................143

    Newsgroups na Usenet ..........................................................................143

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

  • 8/4/2019 Oguiapraticoda XML Excerto

    9/16

    Pgina 9

    1. XML, osconceitos

    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 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.

    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...

  • 8/4/2019 Oguiapraticoda XML Excerto

    10/16

    Pgina 10

    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 da-dos 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, osmdulos, 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 pen-

    sem estender as suas actividades profissionais a este novo sector.

    Conheciment os prvios.

    Mas este livro no foi escrito apenas para profissionais; qualquer pessoa com

    conhecimentos bsicos de Informtica e de computadores pessoais poder se-

    guir 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 nestelivro,

    ... 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

    programadoresfreelance principalmente nos idiomas ingls, alemo,

    francs e castelhano. (A informao em portugus escassa.)

    O Guia Prtico da XML - Centro Atlnt ico

  • 8/4/2019 Oguiapraticoda XML Excerto

    11/16

    Pgina 11

    ... participar nos diversos Grupos de Discusso (newsgroups) da Usenet, queservem 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 contriburcom 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 Cen-tro Atlntico, pela rpida reaco positiva quando lhe propuz em Agosto de2001 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

    1. XML, os conceitos bsicos

  • 8/4/2019 Oguiapraticoda XML Excerto

    12/16

    O Guia Prtico da XML - Centro Atlntico

    1.2. Para que serve a XM L?

    Desde a sua especificao em 1998, a eXtended Markup Language (XML) ra-

    pidamente adquiriu grande popularidade entre os peritos informticos. Embo-ra o World Wide Web Consortium (W3C) tenha fixado a verso 1.0 da XMLh apenas trs anos, vemos hoje este conceito j firmemente integrado no Co-mrcio Electrnico. E no s no Electronic Business; vemos dialectos XML

    avanar cleres nos mais variados sectores: Medicina, Qumica, Biologia, Ma-

    temtica, Ensino e Formao, Publicidade, Comunicao Social, Artes Grfi-cas, 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 garantidopor 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 danova plataforma .NET.NET.NET.NET.NETda Microsoft, que ir permitir a criao de servios

    Web distribudos que possam interoperar em ambientes heterogneos. Quan-do do lanamento da iniciativa BizTBizTBizTBizTBizTalkalkalkalkalk, Bill Gates afirmou: para seduzir

    mais de um milho de novas empresas para o Comrcio Electrnico, temosque ajudar as suas aplicaes a falar a linguagem do negcio de forma ho-

    mognea. At agora, era muito difcil para as empresas fazerem negcio combase na Internet, devido falta de um vocabulrio tcnico nico para descre-ver 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 univer-sal 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

  • 8/4/2019 Oguiapraticoda XML Excerto

    13/16

    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 umagrande 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 en-

    tre 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 dilogoentre o homem e o computador, afirmou com razo Simon Phipps, da IBM.

    A integrao fcil entre aplicaes de uma empresa ou de empresas dife-rentes est entre as grandes potencialidades da XML.

    Para o que a XML no serve...

    Se bem que persista a tendncia de associar e de comparar a XML com afuno delegada HTML, tratam-se de dois conceitos com fins e propsitos

    bem diferentes. por isso que a XML no ser a "herdeira" ou a "continua-o" 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 layoutespecfico a pginas Web compostas de texto, imagens e, possivelmente, de

    elementos multimdia. Para esse tipo de formatao, a XML precisa sempre

    da assistncia da XSLuma Style Sheet Language bastante mais complexa edifcil de dominar que a CSS da HTML.

    Sistema YSistema X

    XML

    Permuta de dados

    1. XML, os conceitos bsicos

  • 8/4/2019 Oguiapraticoda XML Excerto

    14/16

    Pgina 14

    O Guia Prtico da XML - Centro Atlntico

    No cremos pois que a XML v brevemente definir "o futuro da WWW". Nemto 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 Casca-

    ding Style Sheets, a HTML tem em termos de desenho grfico ntidasvantagens sobre a XML. Para os amadores fcil de aprender, e nas mos de

    um profissional funcional e efectiva (desde que o dito profissional se abste-nha 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 de-monstrou j um potencial muito frutfero, pois serviu para gerir um sem n-mero de linguagens de marcao.

    Entre os mais conhecidos dialectos (tambm chamados "vocabulrios") deri-vados da XML figuram MathML, SVG, AdXML, ICE, SMIL, SOAP, BML, Biz-

    Talk, 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 capazesde visualizar documentos criados com dialectos XML. Esperamos que em bre-

    ve 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 maissurpreendentes aplicaes

    da XML a Linguagem

    de M arcao SVG, que

    permite realizar grficos

    vectoriais desta

    qualidade.

    Contudo, necessrio

    um PlugIn para podermos

    ver o grfico dentro da

    janela de um browser...

  • 8/4/2019 Oguiapraticoda XML Excerto

    15/16

    Pgina 15

    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 soft-ware nem necessrio mencionar nomes na tentativa de introduzir os

    seus conceitos proprietrios, quase sempre em prejuzo dos standards inter-

    nacionais. Mas nem sempre esta presso parece ser nociva; no caso dosXLM-Schemas verificamos que este conceito est a "virar" standard inter-

    nacional para o contentamento quase geral dos tcnicos empenhados naevoluo da XML.

    O aspecto mais interessante da XML , paradoxalmente, tambm o mais pro-blemtico: A enorme profuso de dialectos e vocabulrios XML demons-

    tra a versatilidade desta meta-linguagem. Mas quais destes dialectos XMLsero verdadeiros padres? E quais so os standards que, por carncia deadeso geral, j hoje so de facto standards puramente fictcios?

    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...

    1. XML, os conceitos bsicos

  • 8/4/2019 Oguiapraticoda XML Excerto

    16/16

    Pgina 16

    O Guia Prtico da XML - Centro Atlntico

    1.3. O que , precisamente, a "XM L"?

    A Extensible Markup Language (XML) prov um conceito para descrever, ar-

    mazenar, 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 paraarmazenar dados, mas muitas vezes a mais eficaz. Mais eficaz, porque

    mais fcil trabalhar com um texto, do que trabalhar com os formatos binri-

    os tpicos de muitas bases de dados.

    "Dados autodescritveis" um primeiro exemplo

    Com a XML definem-se facilmente linguagens de marcao (Markup Lan-

    guages). Usar XML um modo muito flexvel de criar dados autodescrit-veis e partilhar esses dados via Internet, por Intranets, ou por qualquer ou-

    tro modo de transporte.

    A XML facilita declaraes precisas no s dos contedos de um docu-mento, como tambm dos elementos convenientes estruturao desses con-

    tedos.

    Para demonstrar esta qualidade bsica da XML, basta dar um vista de olhos aum exemplo bem simples, como o seguinte extracto de um documento XML:

    ....

    Pedro Tripeiro< /nome>

    Rua dos Prazeres, 233

    4000 - 319

    Porto

    22 33 44 55

    ....

    Este pequeno exemplo demonstra de forma evidente que a XML serve magni-ficamente para a estruturao de dados e para descrev-los sem dvidas ou

    ambiguidades em forma de um texto. Isto porque a XML permitiu ao autordo documento definir os seus prprios , criando e usando os

    (=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"...