![Page 1: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/1.jpg)
XATA
’06
8-10
Fev
erei
ro
TutorialIntrodução ao XML e tecnologias associadas
Sessão 4Sessão 4
AplicaAplicaçções e dialectos XMLões e dialectos XMLMiguel Ferreira
Departamento de Sistemas de InformaçãoUniversidade do Minho
![Page 2: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/2.jpg)
XATA
’06
8-10
Fev
erei
ro
2
Conteúdo
Vantagens do XMLAplicações do XML Armazenamento de XML Processamento de XMLTransmissão de XML Dialectos
SVG, GML, MusicML, DocBook, Dialectos para metainformação, ChessML
Repositórios de DTD/SchemasExercício e discussão
![Page 3: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/3.jpg)
XATA
’06
8-10
Fev
erei
ro
3
Vantagens do XML
É apenas texto!Interoperabilidade/portabilidade
Não tem dono, é de toda a gente!Norma aberta (W3C)
Feito para ser lido por máquinas, mas também por humanos!
Auto-descritivo, simples de compreender e processarE se eu quiser manipular XML?
Grande nº de ferramentas e bibliotecas para todas as linguagens de programação
Pode ser usado em que contextos?!Todos! É extensível!
![Page 4: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/4.jpg)
XATA
’06
8-10
Fev
erei
ro
4
Aplicações do XML
Publicação electrónicaUma representação neutra, múltiplas saídas!
Comércio electrónicoIntercâmbio entre diferentes aplicações
MetainformaçãoGrande expressividade e estruturação
Computação ubíquaMesmos dados, múltiplos dispositivos
Aplicações em geralRepresentação, armazenamento e transmissão de informação
![Page 5: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/5.jpg)
XATA
’06
8-10
Fev
erei
ro
5
<card> <name>John Doe</name> <title>CEO</title> ... </card>
DTD<XSD> <XML>
Editor(e.g. XML Spy)
Utilizador
Parser(e.g. DOM)
Documento XMLbem formado e válido
Processador(e.g. DOM)
<XSLT>
<!ELEMENT card (name,title)>
<!ELEMENT name #PCDATA> ...
Utilizador
Editor(e.g. XML Spy)
<xslt:template match=”/”>…</xslt:template>
Editor(e.g. XML Spy)
Utilizador
Base de Dados
(e.g. HTML, Texto, XML, PDF, etc.)
Ciclo de vida de um XML
![Page 6: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/6.jpg)
XATA
’06
8-10
Fev
erei
ro
6
<card> <name>John Doe</name> <title>CEO</title> ... </card>
DTD<XSD> <XML>
Editor(e.g. XML Spy)
Utilizador
Parser(e.g. DOM)
Documento XMLbem formado e válido
Processador(e.g. DOM)
<XSLT>
<!ELEMENT card (name,title)>
<!ELEMENT name #PCDATA> ...
Utilizador
Editor(e.g. XML Spy)
<xslt:template match=”/”>…</xslt:template>
Editor(e.g. XML Spy)
Utilizador
Base de Dados
(e.g. HTML, Texto, XML, PDF, etc.)
Ciclo de vida de um XML
![Page 7: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/7.jpg)
XATA
’06
8-10
Fev
erei
ro
7
<card> <name>John Doe</name> <title>CEO</title> ... </card>
DTD<XSD> <XML>
Editor(e.g. XML Spy)
Utilizador
Parser(e.g. DOM)
Documento XMLbem formado e válido
Processador(e.g. DOM)
<XSLT>
<!ELEMENT card (name,title)>
<!ELEMENT name #PCDATA> ...
Utilizador
Editor(e.g. XML Spy)
<xslt:template match=”/”>…</xslt:template>
Editor(e.g. XML Spy)
Utilizador
Base de Dados
(e.g. HTML, Texto, XML, PDF, etc.)
Ciclo de vida de um XML
![Page 8: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/8.jpg)
XATA
’06
8-10
Fev
erei
ro
8
<card> <name>John Doe</name> <title>CEO</title> ... </card>
DTD<XSD> <XML>
Editor(e.g. XML Spy)
Utilizador
Parser(e.g. DOM)
Documento XMLbem formado e válido
Processador(e.g. DOM)
<XSLT>
<!ELEMENT card (name,title)>
<!ELEMENT name #PCDATA> ...
Utilizador
Editor(e.g. XML Spy)
<xslt:template match=”/”>…</xslt:template>
Editor(e.g. XML Spy)
Utilizador
Base de Dados
(e.g. HTML, Texto, XML, PDF, etc.)
Ciclo de vida de um XML
![Page 9: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/9.jpg)
XATA
’06
8-10
Fev
erei
ro
9
Ciclo de vida de um XML
![Page 10: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/10.jpg)
XATA
’06
8-10
Fev
erei
ro
10
Ciclo de vida de um XML
![Page 11: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/11.jpg)
XATA
’06
8-10
Fev
erei
ro
11
Sym
bInf
o
Exemplo de uma aplicação XML
1. Armazenamento de XML1. Armazenamento de XML
3. Transmissão de XML3. Transmissão de XML
4. Dialectos4. Dialectos
2. Processamento2. Processamento
http://get.dsi.uminho.pt/local/
![Page 12: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/12.jpg)
XATA
’06
8-10
Fev
erei
ro
12
Armazenamento de XML
Sistema de ficheirosUm ficheiro por cada documentoDificuldade em encontrar informaçãoNecessidade de índices auxiliares (e.g. RBDMS)
Bases de dados relacionais(uma tabela com uma coluna)
Bloco de textoCLOB (Character Large Object)Varchar, Text
Não é possível questionar o XMLNão permite actualizações parciais
![Page 13: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/13.jpg)
XATA
’06
8-10
Fev
erei
ro
13
Armazenamento de XML
Bases de dados relacionais(múltiplas tabelas com múltiplas colunas)
tabelas construídas a partir de um DTDNão suporta documentos sem conhecimentoprévio do seu DTDPermite actualizações parciaisNão preserva a ordem dos elementos
Não pode ser aplicada na ElPubSolução baseada em middleware
XML-DBMS - http://www.rpbourret.com/xmldbms/As BD mais recentes já suportam o tipo de dados XML
![Page 14: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/14.jpg)
XATA
’06
8-10
Fev
erei
ro
14
Armazenamento de XML
Bases de dados XML-NativasSuporta qualquer tipo de XMLSistema de interrogação integrado
XPath, XQuery, XUpdateIndexação pesada, por vezes lentaPesquisas muito rápidasAlgumas bases de dados
Xindice (http://xml.apache.org/xindice/)eXist (http://exist.sourceforge.net/)dbXML (http://www.dbxml.com)Tamino (http://www.softwareag.com)
![Page 15: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/15.jpg)
XATA
’06
8-10
Fev
erei
ro
15
Processamento de XML
Document Object Model(DOM)
Norma da W3CRepresenta um documento XML como uma árvore de objectosPermite ler e escrever XMLSuporta validação (Schema)Suporta transformações XSLTSuporta XPathImplementações em (quase) todas aslinguagens de programação
Java, .Net, Perl, Python, PHP, Javascript, etc.
![Page 16: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/16.jpg)
XATA
’06
8-10
Fev
erei
ro
16
Processamento de XML
Simple API for XML (SAX)Processamento conduzido por eventos
e.g. abrir etiqueta, fechar etiqueta, instrução de processamento, …
Processamento muito rápidoÚtil no processamento de documentosXML grandes (i.e. da ordem dos Megabytes)Complexo de programarSuporta XSLT
![Page 17: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/17.jpg)
XATA
’06
8-10
Fev
erei
ro
17
Web services
Desenvolvimento de aplicações distribuídas sobre protocolos InternetIndependente da plataforma
e.g. Windows/Linux, Java/Perl, telemóvel/mainframe
Protocolos XML abertosWSDL, SOAP, UDDI, XML
Funciona sobre HTTP, …Sem reconfiguração de firewalls
Utilizador
Fornecedor de Serviço
Directório de Serviços(UDDI)
SOAP
Publicação do serviço (WSDL)
Descoberta de serviço (WSDL)
Invocação de serviço
Resposta
Reutilização de serviçosMensagens de grande dimensão
Poderá não ser adequado a todos os cenários de utilização
![Page 18: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/18.jpg)
XATA
’06
8-10
Fev
erei
ro
18
Dialectos XML
Linguagens de anotação para domínios de aplicação específicosProcuram resolver a generalidade dos problemas nesse domínioPodem ser grandes e complexas
Dependendo da complexidade da aplicação e do domínio
Geralmente é necessário “podar” a linguagem antes de a utilizar
![Page 19: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/19.jpg)
XATA
’06
8-10
Fev
erei
ro
19
SVG - Scalable Vector Graphics
Imagens vectoriais 2DNorma aberta da W3CSuporta animação
![Page 20: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/20.jpg)
XATA
’06
8-10
Fev
erei
ro
20
GML - Geography Markup Language
Representação de informação geográficaNorma aberta do Open Geospacial ConsortiumInformação geométrica e semântica
Pontos, Linhas, PolígonosNome da rua, Nº de habitantes, tipo de objecto
Suporte para múltiplas camadas (layers)
![Page 21: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/21.jpg)
XATA
’06
8-10
Fev
erei
ro
21
MusicML
Formato XML para partilha de pautasmusicais
![Page 22: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/22.jpg)
XATA
’06
8-10
Fev
erei
ro
22
DocBook
Dialecto XML para descrever documentos de textoLivros, artigos, etc.
![Page 23: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/23.jpg)
XATA
’06
8-10
Fev
erei
ro
23
Dialectos para Metainformação
EADDescrição de fundos documentais (arquivos)
Dublin CoreDescrição de recursos
XMARCCatálogos bibliográficos
METSEstruturação e transmissão de objectos digitais
RDF/OWL e Topic MapsMapas de conceitos (i.e. ontologias)
Muitos outros…
![Page 24: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/24.jpg)
XATA
’06
8-10
Fev
erei
ro
24
ChessML
XML para descrever jogadas de xadrez
![Page 25: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/25.jpg)
XATA
’06
8-10
Fev
erei
ro
25
Repositórios de DTD/Schemas
XML.ORG Registry (http://www.xml.org/xml/registry.jsp)
Repositório de especificações XML (i.e DTD/Schemas)Vasto conjunto de normasQualquer pessoa pode publicar uma especificaçãoProcurar sempre utilizar DTD já existentes!
![Page 26: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/26.jpg)
XATA
’06
8-10
Fev
erei
ro
26
Alguma questão?
<nota> antes de passarmos ao exercício?! </nota>
![Page 27: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/27.jpg)
XATA
’06
8-10
Fev
erei
ro
27
Exercício
Criação de uma interface para o Authentic para editar um documento XML.Geração de derivadas HTML e PDF do documento
![Page 28: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/28.jpg)
XATA
’06
8-10
Fev
erei
ro
28
Referências
Armazenamento XMLStoring XML in Relational Databases
http://www.xml.com/pub/a/2001/06/20/databases.html
Introduction to Native XML Databaseshttp://www.xml.com/pub/a/2001/10/31/nativexmldb.html
Ronald BourretConsulting, writing, and research in XML and databases
http://www.rpbourret.com
![Page 29: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/29.jpg)
XATA
’06
8-10
Fev
erei
ro
29
Referências
Processamento XMLDOM - http://www.w3.org/DOM/SAX - http://www.saxproject.org/
Web servicesA Web Services Primer
http://webservices.xml.com/pub/a/ws/2001/04/04/webservices/index.html
W3C Web Services Activityhttp://www.w3.org/2002/ws/
![Page 30: Tutorial - Universidade do Minho · 2007. 10. 15. · Introdução ao XML e tecnologias associadas Sessão 4 Aplicações e dialectos XML Miguel Ferreira mferreira@dsi.uminho.pt Departamento](https://reader036.vdocuments.mx/reader036/viewer/2022081518/611db9298a57a00b325427ba/html5/thumbnails/30.jpg)
XATA
’06
8-10
Fev
erei
ro
30
Referências
DialectosSVG: http://www.w3.org/TR/SVG/GML: http://opengis.net/gml/Music & XML: http://xml.coverpages.org/xmlMusic.htmlDocBook: http://www.docbook.org/Metainformação
Dublin Core: http://www.dublincore.orgEAD: http://www.loc.gov/eadMARC 21: http://lcweb.loc.gov/marc/marcdocz.htmlMARCXML: http://www.loc.gov/marc/marcxml.htmlMETS: http://www.loc.gov/standards/metsRDF: http://www.w3.org/RDF
ChessML: http://xml.coverpages.org/chessML.html