XML: uma introdução prática




<xml:introdução />

         Helder da Rocha
       www.argonavis.com.br
                 ...
Objetivos

§ Oferecer uma visão geral da tecnologia XML
§ Responder às questões
   § Como implementar soluções de gestão d...
Assuntos abordados

Por que XML? Onde usar XML?
Como produzir documentos XML
Documentos válidos: DTD e XML Schema
       M...
O que é XML?

§ eXtensible Markup Language: padrão W3C
§ Uma maneira de representar informação
   § não é uma linguagem es...
XML versus HTML


HTML mostra   <h1>Severino Severovitch</h1>
   como       <h2>bill@norte.com.br</h2>
 apresentar   <p>
 ...
Anatomia de um documento XML
§ Documentos XML são documentos de texto Unicode
   § É uma hierarquia de elementos a partir ...
Partes de um documento
                  declaração XML
 elemento raiz                      nó raiz ( / )

 <?xml version=...
nó raiz
                                                           Árvore XML
   /
                              elemento ...
XML Namespaces

§ Limita o escopo de elementos
   § Evita conflitos quando duas linguagens se cruzam no
     mesmo documen...
Por que usar XML para compartilhar dados?

§ Porque é um padrão aberto
   § Facilidade para converter para formatos propri...
Onde usar XML?
§ Dados armazenados em XML podem ser facilmente
   transformados em outros formatos
texto           quot;cu...
Como produzir XML

§ Criando um documento de texto Unicode a partir
 de qualquer editor de textos
                        ...
Documentos XML bem formados

§ Para que possa ser manipulado como uma árvore,
 um documento XML precisa ser bem formado
  ...
XML válido
§ Um XML bem construído pode não ser válido em
  determinada aplicação
§ Aplicação típica pode esperar que
   §...
Esquema
Documentos que aderem à
                              § O esquema representa uma classe
 especificação (válidos)
 ...
DTD vs. XML Schema

§ Um esquema é essencial para que haja comunicação
   usando XML
    § Pode ser estabelecido quot;info...
Visualização em um browser

§ Folha de estilo: conjunto de regras para formatar ou
  transformar as informações de um docu...
Como manipular XML?

§ Há duas APIs padrão para manipular (interpretar,
  gerar, extrair dados e tratar eventos) arquivos ...
Leitura de XML com SAX

§ Se um processador SAX receber o documento ...
  <carta>
    <mensagem id=quot;1quot;>Bom dia!</m...
Criação de documentos com DOM (1)

§ Criação dos elementos
                           Obter objeto do tipo Document (raiz)...
Criação de documentos com DOM (2)
Montagem da árvore passo-a-passo
   1. Sub-árvore <mensagem>
                           ...
XPath
§ Linguagem usada para navegar na árvore XML
   § Uma expressão XPath é um caminho* na árvore que
     resulta em um...
<xsl:stylesheet version=quot;1.0quot;

                                                            XSLT
     xmlns:xsl=quo...
XSLT: documento-fonte (1)

§ Considere o seguinte documento-fonte:
    <aeronave id=quot;PTGWZquot;>
       <origem partid...
XSLT: folha de estilos (2)
 § O seguinte template (parte de uma folha de estilos XSLT)
   pode extrair os dados do documen...
XSLT: documento-resultado (3)

§ Após a transformação, o resultado será
    <p>A aeronave de prefixo
    PTGWZ decolou
   ...
XLink, XPointer e XQuery
§ XLink: é uma especificação W3C que permite definir vínculos
  entre documentos XML
   § Funcion...
<fo:root xmlns:fo=quot;http://www.w3.org/1999/XSL/Formatquot;>

                                                         X...
XSL-FO: menor documento
<fo:root xmlns:fo=quot;http://www.w3.org/1999/XSL/Formatquot;>
                                   ...
<html xmlns=quot;http://www.w3.org/1999/xhtmlquot;>

                                                          XHTML
   <h...
<svg>

                                                              SVG
   <circle style=quot;fill: redquot; cx=quot;3cmq...
Exemplo de SVG

                                               JavaScript


<svg width=quot;10cmquot; height=quot;10cmquot...
Algumas outras linguagens XML
                                  Classe                 Classe2
                           ...
Demonstração
§ Exemplo de transformação XML
                                                                 PDF

        ...
Ferramentas

§ Para programação
   § Parsers-validadores: Xerces, Crimson, MSXML 4.0
   § Validadores: MSV (Sun)
   § Tran...
Conclusões

§ XML é uma ótima solução para compartilhar dados
§ Para implementar soluções em gestão de
 informações usando...
Fontes
[1] World     Wide Web Consortium (W3C). eXtensible Markup Language.
      http://www.w3.org/XML/. Ponto de partida...
helder@ibpinet.net




www.argonavis.com.br

                          38
Upcoming SlideShare
Loading in...5
×

Xml100 1

1,143

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,143
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Xml100 1"

  1. 1. XML: uma introdução prática <xml:introdução /> Helder da Rocha www.argonavis.com.br 1
  2. 2. Objetivos § Oferecer uma visão geral da tecnologia XML § Responder às questões § Como implementar soluções de gestão de informações usando XML? § Quando e como usar as tecnologias e linguagens que viabilizam o compartilhamento de informações? § Apresentar § Breve introdução ao XML e tecnologias relacionadas. § Recursos para manipular informações representadas em XML: ferramentas, linguagens e tecnologias 2
  3. 3. Assuntos abordados Por que XML? Onde usar XML? Como produzir documentos XML Documentos válidos: DTD e XML Schema Manipulação via programação em DOM e SAX Transformação: XSLT e XPath Localização e extração: XLink, XQuery e XPointer Visualização: XSL-FO e SVG Demonstração: geração de HTML, RTF e PDF Ferramentas e Conclusões 3
  4. 4. O que é XML? § eXtensible Markup Language: padrão W3C § Uma maneira de representar informação § não é uma linguagem específica § não define vocabulário de comandos § não define uma gramática, apenas regras mínimas § Exemplo: documento XML usuario_33.xml <contato codigo=quot;33quot;> <nome>Severino Severovitch</nome> elemento <email>bill@norte.com.br</email> <telefone tipo=quot;celularquot;> <area>11</area> atributo <numero>9999 4321</numero> </telefone> quot;nóquot; de texto </contato> 4
  5. 5. XML versus HTML HTML mostra <h1>Severino Severovitch</h1> como <h2>bill@norte.com.br</h2> apresentar <p> <b>11</b> <i>9999 4321</i> </p> XML mostra <nome>Severino Severovitch</nome> o que <email>bill@norte.com.br</email> <telefone> significa <ddd>11</ddd> <numero>9999 4321</numero> </telefone> 5
  6. 6. Anatomia de um documento XML § Documentos XML são documentos de texto Unicode § É uma hierarquia de elementos a partir de uma raiz § Menor documento tem um elemento (vazio ou não): <nome> Ñåâåðèíî Ñåâåðîâè÷ </nome> § Menor documento contendo elemento vazio Elemento raiz = <nome></nome> <nome/> § Menor documento contendo elemento e conteúdo texto <nome> Ñåâåðèíî Ñåâåðîâè÷ </nome> Etiqueta Conteúdo do Etiqueta inicial Elemento final 6
  7. 7. Partes de um documento declaração XML elemento raiz nó raiz ( / ) <?xml version=quot;1.0quot; encoding=quot;iso-8859-1quot; ?> atributos <cartao-simples> <logotipo href=quot;/imagens/logo14bis.gifquot; /> <nome>Alberto Santos Dumont</nome> <endereco>Rua do Encanto, 22 - 2o. andar - Centro - 25600-000 - Petrópolis - RJ</endereco> <email>dumont@14bis.com.br</email> <telefone tipo=quot;residencialquot; > elementos <ddd>21</ddd> <numero>2313011</numero> </telefone> </cartao-simples> 7
  8. 8. nó raiz Árvore XML / elemento raiz cartao-simples cartao-simples email email dumont@14bis.com.br nome nome endereco endereco Alberto logotipo Santos logotipo Dumont Rua do Encanto, 22 - 2o. andar - Centro telefone telefone href href - 25600-000 - Petrópolis - RJ /imagens/logo14bis.gif numero ddd numero ddd tipo tipo LEGENDA nó de elemento 21 2313011 nó de atributo 8 residencial nó de texto
  9. 9. XML Namespaces § Limita o escopo de elementos § Evita conflitos quando duas linguagens se cruzam no mesmo documento § Consiste da associação de um identificador a cada elemento/atributo da linguagem, que pode ser § herdado através do escopo de uma sub-árvore § atribuído explicitamente através de um prefixo § Exemplo prefixo identificador <cadastro xmlns:firma=quot;01.234.567/0001-99quot;> <nome>Severino Severovitch</nome> <firma:nome>Sibéria Informática Ltda.</firma:nome> <email>bill@norte.com.br</email> </cadastro> Este elemento <nome> pertence a outro namespace 9
  10. 10. Por que usar XML para compartilhar dados? § Porque é um padrão aberto § Facilidade para converter para formatos proprietários § Porque é texto § Fácil de ler, fácil de processar, menos incompatibilidades § Porque promove a separação entre estrutura, conteúdo e apresentação § Facilita geração de dados para visualização dinâmica § Evita repetição de informação / simplifica manutenção § Porque permitirá semântica na Web § Elementos HTML não carregam significado, apenas dicas de formatação: mecanismos de busca ficam prejudicados § Solução com XML dependerá de suporte dos clientes 10
  11. 11. Onde usar XML? § Dados armazenados em XML podem ser facilmente transformados em outros formatos texto quot;customquot; <xml> Web WML XML <xml> VoiceXML HTML CSS <xml> JavaScript VRML <xml> <xml> XSLT W PDF XSL-FO RTF PDF DOM PDF TeX SAX SGML Gráficos SVG PDF e Imagens SGBD PostScript JPG e PNG 2000 2001 11
  12. 12. Como produzir XML § Criando um documento de texto Unicode a partir de qualquer editor de textos <contato codigo=quot;33quot;> <nome>Severino Severovitch</nome> <email>bill@norte.com.br</email> <telefone tipo=quot;celularquot;> <area>11</area> <numero>9999 4321</numero> </telefone> </contato> § Gerando um documento a partir de uma árvore montada dinamicamente 33 <contato codigo=quot;33quot;> <nome>Severino Severovitch</nome> Severino Severovitch <email>bill@norte.com.br</email> bill@norte.com.br <telefone tipo=quot;celularquot;> <area>11</area> <numero>9999 4321</numero> </telefone> celular </contato> 11 9999 4321 12
  13. 13. Documentos XML bem formados § Para que possa ser manipulado como uma árvore, um documento XML precisa ser bem formado § Documentos que não são bem formados não são documentos XML § Documentos bem-formados obedecem as regras de construção de documentos XML genéricos § Regras incluem Ter um, e apenas um, elemento raiz § Valores dos atributos estarem entre aspas ou apóstrofes § Atributos não se repetirem § Todos os elementos terem etiqueta de fechamento § Elementos estarem corretamente aninhados § 13
  14. 14. XML válido § Um XML bem construído pode não ser válido em determinada aplicação § Aplicação típica pode esperar que § elementos façam parte de um vocabulário limitado, § certos atributos tenham valores e tipos definidos, § elementos sejam organizados de acordo com uma determinada estrutura hierárquica, etc. § É preciso especificar a linguagem! § Esquema: modelo que descreve todos os elementos, atributos, entidades, suas relações e tipos de dados § Um documento XML é considerado válido em relação a um esquema se obedecer todas as suas regras 14
  15. 15. Esquema Documentos que aderem à § O esquema representa uma classe especificação (válidos) § Os documentos são instâncias Esquema (universo de documentos válidos) Documento Como definir esquemas: fora da DTD - Document Type Definition especificação W3C XML Schema 15
  16. 16. DTD vs. XML Schema § Um esquema é essencial para que haja comunicação usando XML § Pode ser estabelecido quot;informalmentequot; (via software) § Uso formal permite validação usando ferramentas genéricas de manipulação de XML § Soluções DTD XSchema <!ELEMENT contato <xsd:schema (nome, email, telefone)> xmlns:xsd=quot;.../XMLSchemaquot;> <!ATTLIST contato <xsd:element name=quot;contatoquot;> codigo NMTOKEN #REQUIRED> <xsd:complexType> <xsd:attribute name=quot;codigoquot; use=quot;requiredquot;> • Simples mas não é XML • É XML, porém mais complexo • Não suporta namespaces • Suporta namespaces • Limitado quando a tipos de dados • Permite definição de tipos 16
  17. 17. Visualização em um browser § Folha de estilo: conjunto de regras para formatar ou transformar as informações de um documento XML § CSS - Cascading Style Sheets § Transformação visando apresentação visual § Aplicação do estilo em tempo de execução no cliente § XSLT - eXtensible Stylesheet Language § Transformação em texto, HTML ou outro formato § Aplicação em tempo real ou prévia (no servidor) § Se não estiver associado a uma folha de estilo, o documento XML não tem uma quot;aparênciaquot; definida § Internet Explorer e outros mostram a árvore-fonte XML § Netscape mostra apenas os nós de texto 17
  18. 18. Como manipular XML? § Há duas APIs padrão para manipular (interpretar, gerar, extrair dados e tratar eventos) arquivos XML: § W3C Document Object Model (W3C DOM) § Simple API for XML (SAX) § Servem a finalidades diferentes § Implementações disponíveis em várias linguagens § SAX oferece métodos que respondem a eventos produzidos durante a leitura do documento § notifica quando um elemento abre, quando fecha, etc. § DOM monta uma árvore, que permite a navegação na estrutura do documento § propriedades dos objetos podem ser manipuladas 18
  19. 19. Leitura de XML com SAX § Se um processador SAX receber o documento ... <carta> <mensagem id=quot;1quot;>Bom dia!</mensagem> </carta> § ... ele irá disparar a seguinte seqüência de eventos: startDocument() startElement(quot;cartaquot;, []) startElement(quot;mensagemquot;, [Attribute(quot;idquot;,quot;1quot;)]) characters(quot;Bom dia!quot;) endElement(quot;mensagemquot;) endElement(quot;cartaquot;) endDocument() § Programador deve implementar um objeto quot;ouvintequot; para capturar os eventos e extrair as informações desejadas 19
  20. 20. Criação de documentos com DOM (1) § Criação dos elementos Obter objeto do tipo Document (raiz) / Document (dependente de processador): doc <carta> Element carta = doc.createElement(quot;cartaquot;) <mensagem> Element mens = doc.createElement(quot;mensagemquot;) Bom dia! String texto = doc.createTextNode(quot;Bom dia!quot;) § Atributos <mensagem id=quot;1quot;> mens.setAttribute(quot;idquot;, quot;1quot;) 20
  21. 21. Criação de documentos com DOM (2) Montagem da árvore passo-a-passo 1. Sub-árvore <mensagem> 3. Árvore completa <mensagem id=quot;1quot;> / mens.appendChild(texto) Bom dia! <carta> 2. Sub-árvore <carta> <mensagem id=quot;1quot;> <carta> Bom dia! carta.appendChild(mens) <mensagem id=quot;1quot;> doc.appendChild(carta) Bom dia! 21
  22. 22. XPath § Linguagem usada para navegar na árvore XML § Uma expressão XPath é um caminho* na árvore que resulta em um valor (número, texto, booleano), objeto (elemento, atributo, nó de texto) ou conjunto de objetos • Caminhos absolutos /contato/@codigo 33 /contato/telefone/@tipo Severino Severovitch /contato/telefone/numero/text() bill@norte.com.br • Relativos ao contexto /contato: celular 11 @codigo (ou ./@codigo) 9999 4321 telefone/@tipo (ou ./telefone/@tipo) telefone/numero/text() § Expressões XPath são usadas dentro de atributos XML § Usadas em XSLT, XLink, XQuery e XPointer 22 * pode também ser padrão de busca
  23. 23. <xsl:stylesheet version=quot;1.0quot; XSLT xmlns:xsl=quot;http://www.w3.org/1999/XSL/Transformquot;> <xsl:template match=quot;livro/tituloquot;> <td><xsl:value-of select=quot;.quot; /></td> § XSL Transformations § Linguagem (XML) para criação de documentos que contêm regras de transformação para documentos XML § Documentos escritos em XSLT são chamados de folhas de estilo e contêm § Elementos XSLT: <template>, <if>, <foreach>, ... § Expressões XPath para localizar nós da árvore-fonte § Texto ou XML a ser gerado no documento-resultado § Processador XSLT fonteToHtml.xslt Folha de estilos Processador XSLT Documento Xalan, TrAX, Saxon fonte.xml Resultado Netscape, I. Explorer Documento Fonte 23
  24. 24. XSLT: documento-fonte (1) § Considere o seguinte documento-fonte: <aeronave id=quot;PTGWZquot;> <origem partida=quot;08:15quot;>Rio de Janeiro</origem> <destino>Itabuna</destino> </aeronave> / <aeronave> @id PTGWZ <origem> Rio de Janeiro @partida 08:15 § Árvore-fonte <destino> Itabuna 24
  25. 25. XSLT: folha de estilos (2) § O seguinte template (parte de uma folha de estilos XSLT) pode extrair os dados do documento-fonte documento-fonte (em azul - XPath) <xsl:template match=quot;aeronavequot;> <p>A aeronave de prefixo documento <xsl:value-of select=quot;@idquot; /> decolou resultado de <xsl:value-of select=quot;origemquot; /> às (em preto) <xsl:value-of select=quot;origem/@partidaquot; /> tendo como destino o aeroporto de <xsl:value-of select=quot;destinoquot; />.</p> </xsl:template> elementos XSLT (em vermelho, com prefixo xsl) § Elementos XSLT geralmente são usados com um prefixo associado ao seu namespace: <xsl:elemento> para evitar conflitos com o documento-resultado. 25
  26. 26. XSLT: documento-resultado (3) § Após a transformação, o resultado será <p>A aeronave de prefixo PTGWZ decolou de Rio de Janeiro às 8:15 tendo como destino o aeroporto de Itabuna.</p> § Para obter outros resultados e gerar outros formatos com os mesmos dados, deve-se criar folhas de estilo adicionais 26
  27. 27. XLink, XPointer e XQuery § XLink: é uma especificação W3C que permite definir vínculos entre documentos XML § Funcionalidade mínima é igual ao <a href> do HTML § Funcionalidade estendida permite vínculos bidirecionais, arcos, vários níveis de semântica, etc. § É uma coleção de atributos, com namespace próprio, que podem ser usados em elementos de qualquer linguagem XML. § XPointer: aponta para partes de documentos XML § Identificador (ID) colocado no destino, accessível através de fragmento de URL: xlink:href=quot;#identificadorquot; § Caminho resultante de expressão XPath: xpointer(/livro/id) § XQuery: linguagem para pesquisar documentos XML § Exemplo: FOR $b IN document(quot;usuario_33.xmlquot;)/contato WHERE nome=quot;Severino Severovitchquot; RETURN $b 27
  28. 28. <fo:root xmlns:fo=quot;http://www.w3.org/1999/XSL/Formatquot;> XSL-FO <fo:layout-master-set> <fo:simple-page-master master-name=quot;p1quot;> <fo:region-body/> § XSL Formatting Objects § Linguagem XML de descrição de página com os mesmos recursos que PostScript ou PDF § Descreve o layout preciso de texto e imagens § Possui centenas de elementos, atributos e propriedades (que são semelhantes às propriedades do CSS) § Páginas são facilmente convertidas para PDF e PostScript § Ideal para gerar documentos para impressão (livros, etc.) § Normalmente gerada via XSLT XML XSLT XML Processador Documento Documento FOP XSLT XSLFO PDF XML Fonte 28
  29. 29. XSL-FO: menor documento <fo:root xmlns:fo=quot;http://www.w3.org/1999/XSL/Formatquot;> Este é o quot;<head>quot; do XSL-FO <fo:layout-master-set> <fo:simple-page-master master-name=quot;p1quot;> <fo:region-body/> Ligação entre as </fo:simple-page-master> regras de layout e </fo:layout-master-set> o conteúdo afetado <fo:page-sequence master-name=quot;p1quot;> <fo:flow flow-name=quot;xsl-region-bodyquot;> <fo:block color=quot;bluequot; font-size=quot;20ptquot;> Hello PDF! </fo:block> </fo:flow> Este é o quot;<body>quot; </fo:page-sequence> do XSL-FO 29 </fo:root>
  30. 30. <html xmlns=quot;http://www.w3.org/1999/xhtmlquot;> XHTML <head><title>Página XHTML</title></head> <body> <h1>Página XHTML</h1> § eXtensible HTML § Linguagem XML de descrição de página Web § Mesmos elementos do HTML 4.0 Strict § Elementos descrevem somente a estrutura dos componentes da página. § A forma precisa ser especificada usando CSS: não há elementos/atributos para mudar cor, alinhamento, etc. § Pode ser misturada (estendida) com outras linguagens XML (MathML, SVG, linguagens proprietárias) § Normalmente gerada via XSLT XML XSLT XML Documento Processador XSLT XHTML XML Documento Fonte 30
  31. 31. <svg> SVG <circle style=quot;fill: redquot; cx=quot;3cmquot; cy=quot;3cmquot; r=quot;2.5cmquot; /> <rect style=quot;fill: bluequot; x=quot;6cmquot; y=quot;6cmquot; height=quot;2.5cmquot; width=quot;1.5cmquot; /> § W3C Scalable Vector Graphics § Gráficos vetoriais em XML § Plug-ins para principais browsers: concorre com Flash § Suporta animações, links, JavaScript, CSS § Produzido por ferramentas como Adobe Ilustrator § Pode ser embutido no código XHTML e XSL-FO Zoom + Zoom + 31
  32. 32. Exemplo de SVG JavaScript <svg width=quot;10cmquot; height=quot;10cmquot;> <g onclick=quot;alert('Clicou no grupo 1!')quot;> CSS <circle style=quot;fill: redquot; cx=quot;3cmquot; cy=quot;3cmquot; r=quot;2.5cmquot; /> <rect style=quot;fill: bluequot; x=quot;6cmquot; y=quot;6cmquot; height=quot;2.5cmquot; width=quot;1.5cmquot; /></g> <g onclick=quot;alert('Clicou no grupo 2!')quot;> XLink <circle style=quot;fill: green; opacity: 0.5quot; cx=quot;5cmquot; cy=quot;5cmquot; r=quot;2cmquot; /></g> <a xmlns:xlink=quot;http://www.w3.org/1999/xlinkquot; xlink:href=quot;http://www.w3.org/Graphics/SVGquot;> <text style=quot;color: black; font-family: tahoma; font-size: 12ptquot; x=quot;3cmquot; y=quot;8cmquot;> SVG é XML</text></a> </svg> 32
  33. 33. Algumas outras linguagens XML Classe Classe2 oper(): void oper(): void oper2(): int oper2(): int 1 * MathML XMI WML Classe3 oper(): void VoiceXML oper2(): int Web Services SOAP XML-RPC WSDL UDDI CML ebXML 33
  34. 34. Demonstração § Exemplo de transformação XML PDF FOP <xslt> FO (1.a) (1) <xsl:fo> <xml> (1.b) W JFOR <xslt> Xalan (3) SVG <xslt> (4) Texto (2) 2000 2001 HTML <xslt> SVG Texto texto texto texto HTML texto texto texto texto texto 34
  35. 35. Ferramentas § Para programação § Parsers-validadores: Xerces, Crimson, MSXML 4.0 § Validadores: MSV (Sun) § Transformadores XSL: TrAX, Xalan, Xt, Saxon § APIs: JDOM, JAX (P, B, M, R, RPC), SAX e DOM § Veja mais em xml.apache.org e www.alphaworks.ibm.com § Para edição (de XML genérico) § XML Spy Suite § Framemaker / ArborText § JEdit com plug-ins para XML, XSLT e XPath § Veja mais em www.w3.org/XML/ 35
  36. 36. Conclusões § XML é uma ótima solução para compartilhar dados § Para implementar soluções em gestão de informações usando XML, pode-se usar § DTD ou XSchema para especificar o modelo de dados e validar as informações As APIs DOM ou SAX para extrair dados dos documentos, § gerar documentos, ler e gravar em bancos de dados XSLT e XPath para transformar os dados em outros formatos § XLink, XPointer e XQuery para criar vínculos lógicos entre os § documentos e localizar seus componentes XSL-FO ou XHTML para formatar os dados para impressão ou § visualização na tela (PDF, Word ou Web) SVG para gerar informações em forma de gráfico vetorial § 36
  37. 37. Fontes [1] World Wide Web Consortium (W3C). eXtensible Markup Language. http://www.w3.org/XML/. Ponto de partida e principal fonte sobre XML e suas tecnologias quot;satélitequot;. Contém últimas especificações de XML, XPath, XSchema, XSLT, XSL-FO, XQuery, XLink, XPointer, SVG, XHTML, CSS. [2] Eric Armstrong et al. Working with XML. Aborda DOM, SAX e XML com Java. http://java.sun.com/xml/jaxp/dist/1.1/docs/tutorial/index.html. [3] Adobe. SVG Tutorial. http://www.adobe.com/svg/. Contém tutorial sobre SVG e links para o plug-in SVG da Adobe (Win/Mac). IBM Developerworks. http://www-106.ibm.com/developerworks/. Diversos tutoriais [4] e artigos sobre XML, XSLT, DOM e SAX usando geralmente Java. [5] Doug Tidwell. XSLT. O’Reilly & Associates, 2001. Explora XSLT com aplicações práticas em Java. [6] Elliotte Rusty Harold. XML Bible, Second Edition, 2001. Aborda todas as principais tecnologias W3C. 5 capítulos em http://cafeconleche.org/books/bible2/ [7] Erik T. Ray. Learning XML. O’Reilly & Associates, 2001. Introdução ao XML e DTD, XSLT, XLink e XPointer (os dois últimos baseados em especificações draft). 37
  38. 38. helder@ibpinet.net www.argonavis.com.br 38

×