[III Congresso Científico – UNIRG/FAFICH]
XML – A Nova Linguagem para
Conteúdo Internet
MSc Eder Pazinatto
[email protected]
Outubro 2003
[III Congresso Científico – UNIRG/FAFICH]
A Revolução da Internet
• 1989 - Primeiro Web Browser
• 1993 - Há 50 web sites
• 1994 - Primeiras ferramentas de busca (WWWW,
webcrawler)
• 1996 - US$ 1M gastos em compras na Web,
presença em 150 países
• 1997 - 1 milhão de web sites
• 1998 - 300.000 web servers
• 2000 - mais de 1 bilhão de páginas web
• 2002 – quase 2,5 bilhões de páginas web
indexadas (google)
2
[III Congresso Científico – UNIRG/FAFICH]
Internet
• Novos recursos tecnológicos
• Documentos web gerados automaticamente
• A estrutura pouco evolui ao longo do tempo,
(documentos possuem forma estrutura)
3
[III Congresso Científico – UNIRG/FAFICH]
Internet
• Novas aplicações requerem mais
flexibilidade de representação e estão
constantemente evoluindo o esquema
• A web gerou uma enorme demanda de
aplicações e estruturas forçando um modelo
de dados estruturados
4
[III Congresso Científico – UNIRG/FAFICH]
Html
• É possível com os sistemas atuais de busca, tais
como Altavista ©, Cadê ©, Google ©, encontrar
um determinado produto à venda na Internet?
• Suponha que você deseja trocar de automóvel e
gostaria de encontrar um veículo de um
determinado modelo e ano, em uma determinada
faixa de preço. Com os sistemas atuais de
indexação de páginas HTML, será que teríamos
uma resposta convincente e de qualidade para
essa simples pergunta?
5
[III Congresso Científico – UNIRG/FAFICH]
HTML
• As novas aplicações:
– Comércio Eletrônico
– Protocolos "B2B"
– Bibliotecas digitais
– sistemas distribuídos
–…
precisamos de um "super HTML"
6
[III Congresso Científico – UNIRG/FAFICH]
Uma Possível Solução!
• Usar um modelo de grafo para armazenar os
dados de características semi-estruturadas
• Dados semi-estruturados: dados heterogêneos e
irregulares, por exemplo XML
• Origens de dados semi-estruturados:
– integração de fontes heterogêneas
– fontes de dados sem estrutura rígida
• dados biológicos
• dados da web
7
[III Congresso Científico – UNIRG/FAFICH]
Estrutura dos Dados
• Dados semi-estruturados: dados sem
esquema ou auto-descritivos
• Exemplo:
– {nome:"Ana", tel:"3334567",
email:[email protected]}
– {nome:"Ana", tel:"3334567", tel:"9715432"}
nome
Ana
email
tel
3334567
[email protected]
nome
Ana
tel
tel
9715432
3334567
8
[III Congresso Científico – UNIRG/FAFICH]
O que XML?
• eXtensible Markup Language
• Especifica o modo como o conteúdo do
documento deve ser interpretado
• Faz referência quanto a forma do
documento.
9
[III Congresso Científico – UNIRG/FAFICH]
O que é XML?
• Uma linguagem de descrição de documentos,
definida pela W3C
• Um conjunto de tecnologias derivadas:
– Xlink, Xpointer, Xschema, DOM, SAX, XSL,…
• XML é uma linguagem de marcação de texto
parecida com a HTML.
• XML permite que o desenvolvedor crie usas
próprias tags.
10
[III Congresso Científico – UNIRG/FAFICH]
XML
• XML possibilita uma melhor estruturação da
informação que circula na web, na medida em que
permite a definição de documentos onde claramente são
separados:
– Conteúdo;
– significado e;
– apresentação.
• Com algumas vantagens importantes, como, por
exemplo:
– O mesmo conteúdo poderá ser apresentado com diversos
formatos diferentes
11
[III Congresso Científico – UNIRG/FAFICH]
XML
• Os documentos disponibilizados em XML na Internet
poderão ser indexados de forma mais precisa que as
tradicionais páginas escritas em HTML
12
[III Congresso Científico – UNIRG/FAFICH]
XML
– Evolução:
• 1995: Projeto TSIMMIS, Modelo OEM em
Stanford
• 1996: Projeto LORE, primeiro SGBD semiestruturado, Stanford
• 1999: aceitação de XML pela indústria para
representação de dados semi-estruturados
13
[III Congresso Científico – UNIRG/FAFICH]
XML - HTML
• Em HTML as marcações (tags) definem a forma de
apresentação. Por exemplo:
– <br> significa quebra de linha;
– <h1> representa a formatação do texto como um cabeçalho
• A linguagem de programação HTML é utilizada para
definir apenas o aspecto em que a informação será
apresentada, não seu significado
• O documento HTML possui em sua estrutura tanto
informações que definem a apresentação quanto o
conteúdo.
14
[III Congresso Científico – UNIRG/FAFICH]
Exemplo:
• <html>
• <head>
• <title>Exemplo de um página HTML
</title>
• </head>
• <body>
• <p> <b>Eder Pazinatto </b></p>
• <p>UNIRG/FAFICH </p>
• </body>
• </html>
15
[III Congresso Científico – UNIRG/FAFICH]
16
[III Congresso Científico – UNIRG/FAFICH]
Principais Limitações
• HTML não permite que seus usuários determinem suas
marcações ou atributos
• Assim não permite parametrizar ou qualificar
semanticamente seus dados, não podendo ser
classificada como uma linguagem extensível
17
[III Congresso Científico – UNIRG/FAFICH]
Principais Limitações
• Também não permite definir estruturas de informações
que representem esquemas de bases de dados ou
hierarquias
• Não realiza validações de sua estrutura, sendo que desta
forma uma tag aberta não precisa ser necessariamente
fechada
18
[III Congresso Científico – UNIRG/FAFICH]
XML
• Ao contrário de HTML, não é uma linguagem de
programação de apresentações para a Internet.
• XML não é programável, sendo apenas utilizada para
descrição dos dados.
• Não possui nenhuma tag pré-definida, ficando para o
próprio programador desenvolver o seu padrão para
representar a informação que será armazenada no
documento.
19
[III Congresso Científico – UNIRG/FAFICH]
Exemplo:
• <?xml version="1.0" ?>
• <documento>
• <nome>Eder Pazinatto</nome>
• <instituicao>UNIRG/FAFICH</instituicao>
• </documento>
20
[III Congresso Científico – UNIRG/FAFICH]
21
[III Congresso Científico – UNIRG/FAFICH]
XML
• XML difere de HTML em três principais aspectos:
– A “linguagem” XML utilizada em um documento específico é
desenvolvida pelo próprio provedor de informação ou
programador, que cria o conjunto de elementos, marcações e
atributos, que melhor lhe convir;
– A estrutura do documento não precisa ser definida em dentro
do documento XML. Desta maneira o conteúdo e sua estrutura
poderão ser criados em arquivos separados, oferecendo uma
maior clareza;
– A forma como o conteúdo do documento XML será
apresentado no navegador dependerá de como a folha de estilo
(XSL) do documento foi criada, sendo suportado HTML e
PDF entre outros formatos
22
[III Congresso Científico – UNIRG/FAFICH]
XML
• Um documento XML é formado normalmente por
três elementos ou arquivos principais que se
completam para determinar o armazenamento do
conteúdo e sua apresentação.
• Diagrama:
23
[III Congresso Científico – UNIRG/FAFICH]
XML
conteúdo
XSL
apresentação
DTD
Schema
estrutura
24
[III Congresso Científico – UNIRG/FAFICH]
• O mesmo documento XML pode possuir
diversas apresentações de acordo com a
folha de estilo que for definida (HTML,
WORD ou Adobe PDF)
XML
conteúdo
XSL
WORD
XSL
PDF
XSL
HTML
25
[III Congresso Científico – UNIRG/FAFICH]
XML - HTML
• Enquanto que em HTML a preocupação principal é
a apresentação visual da informação, em XML é a
estrutura e a hierarquia em que a mesma é
armazenada.
26
[III Congresso Científico – UNIRG/FAFICH]
XML - HTML
• As aplicações que poderão ser realizadas com
XML são aquelas encontram em HTML
deficiências devido às suas limitações.
• Essas aplicações podem ser definidas em
quatro categorias:
– Aplicações em que o cliente web tenha que
obter informações de bases de dados
heterogêneas;
27
[III Congresso Científico – UNIRG/FAFICH]
XML - HTML
• Aplicações que permitam a distribuição de parte
do processamento de informações dos servidores
para os clientes;
• Aplicações que requerem a apresentação de uma
mesma informação em diferentes formas e para
diferentes usuários;
• Aplicações em que Agentes Inteligentes possam
descobrir informações precisas e de qualidade na
web.
28
[III Congresso Científico – UNIRG/FAFICH]
Exemplo XML
• Armazenamento de informações sobre
veículos, com modelo, fabricante, ano e
preço. VEICULOS.XML
•
•
•
•
•
•
•
•
•
<?xml version="1.0" •
?><veiculo>
• <modelo>Ka</modelo>
<!-- Controle de Veículos
- ->
• <fabricante>Ford</fabri
<disponíveis>
cante>
<veiculo>
• <ano>2001</ano >
<modelo>Focus</modelo>
• <preco>R$18.000,00</pre
<fabricante>Ford</fabricante>
co>
<ano >2000</ano >
• </veiculo>
<preco>R$28.000,00</preco>
• </disponíveis >
</veiculo>
29
[III Congresso Científico – UNIRG/FAFICH]
XML
• Todo documento XML deverá conter o cabeçalho
com a instrução que determina a versão de XML
utilizada.
– <?xml version="1.0" ?>
• A sintaxe de um documento XML é bastante
simples, sendo que a regra principal, define que o
documento é formado por elementos constituídos
de marcação inicial, conteúdo e marcação final.
– <modelo>Focus</modelo>
30
[III Congresso Científico – UNIRG/FAFICH]
XML
• XML faz diferenciação entre letras minúsculas
e maiúsculas, ou seja, <Modelo> é diferente de
<modelo>.
• Espaços em branco também fazem a diferença
na linguagem.
31
[III Congresso Científico – UNIRG/FAFICH]
DTD (Documet Type Definitions)
• DTD define a “linguagem” do documento XML,
sendo a garantia de uniformidade da estrutura,
ordem e precisão na troca de dados
• Elementos de uma DTD: Os documentos XML são
criados a partir de blocos de informação do tipo:
Elementos, Marcações, Atributos, Entidades,
PCDATA e CDATA
• A DTD do documento poderá ser registrada na
região denominada prólogo, em um documento
XML.
32
[III Congresso Científico – UNIRG/FAFICH]
DTD
•O Prólogo
ocorre após a
definição da
versão da
linguagem e
antes do início
da região de
dados
• <?xml version="1.0" ?>
• <!-- Controle de Veículos
- ->
• <!DOCTYPE disponíveis [
• <!ELEMENT disponíveis
(veiculo)>
• <!ELEMENT veiculo
(modelo,fabricante, ano,
preco)>
• <!ELEMENT modelo
(#PCDATA)>
• <!ELEMENT fabricante
(#PCDATA)>
• <!ELEMENT ano (#PCDATA)>
• <!ELEMENT pre co
(#PCDATA)>
• ]>
33
[III Congresso Científico – UNIRG/FAFICH]
DTD
• Conforme o DTD segue o documento XML
• <disponíveis>
• <veiculo>
• <veiculo>
• <modelo>Ka</modelo>
• <modelo>Focus</modelo>
• <fabricante>Ford</fabricante>
• <fabricante>Ford</fabricante>
• <ano>2000</ano>
• <ano>2000</ano>
• <preco>R$18.000,00</preco>
• <preco>R$28.000,00</preco>
• </veiculo> </disponíveis>
• </veiculo>
34
[III Congresso Científico – UNIRG/FAFICH]
DTD
• A DTD poderá ser criada em um arquivo externo ao
documento XML. O exemplo a seguir chama um
arquivo DTD de nome VD.DTD.
•
•
•
•
•
•
•
•
•
•
<?xml version="1.0" ?>
<!-- Controle de Veículos - ->
<!DOCTYPE veiculos_disponíveis SYSTEM "vd.dtd">
<disponíveis>
<veiculo>
<modelo>Focus</modelo>
<fabricante>Ford</fabricante>
<ano>2000</ano>
.....................
</disponíveis>
35
[III Congresso Científico – UNIRG/FAFICH]
DTD
• O arquivo VD.DTD chamado pelo documento XML é
apresentado a seguir.
• <?xml version="1.0"?>
• <!ELEMENT disponíveis (veiculo) >
• <!ELEMENT veiculo
(modelo,fabricante,ano,preco)>
• <!ELEMENT modelo (#PCDATA)>
• <!ELEMENT fabricante (#PCDATA)>
• <!ELEMENT ano (#PCDATA)>
• <!ELEMENT preco (#PCDATA)>
36
[III Congresso Científico – UNIRG/FAFICH]
Schema XML
• A Microsoft discordou um pouco da estrutura proposta
pela W3C no que tange às DTD’s e apresentou um novo
padrão para a definição da estrutura do documento
XML, denominada SCHEMA
• São mais flexíveis que os DTDs
• O sistema da Microsoft é baseado em uma linguagem
mais simples e clara, utilizando a própria estrutura da
linguagem XML, porém com maiores recursos que os
DTD’s.
37
[III Congresso Científico – UNIRG/FAFICH]
Schema
• Versão SCHEMA do exemplo dos veículos, através do
arquivo VEICULOS.XSD.
38
[III Congresso Científico – UNIRG/FAFICH]
Schema
•
<?xml version="1.0" encoding="UTF 8"?>
•
•
< xs:complexType >
•
< xs:sequence>
•
< xs:element name="modelo"
type="xs:string"/>
<xs:schema
xmlns:xs="atp://www.w3.org/2001/XMLS
•
type="xs:string"/>
chema " elementFormDefault ="qualified
"
•
attributeFormDefault ="unqualified ">
•
<xs:element name="disponíveis">
•
<xs:annotation >
•
<xs:documentation
>Veiculos</xs:documentation >
•
</xs:annotation >
•
<xs:complexType >
•
<xs:sequence>
•
< xs:element name="veiculo">
< xs:element name="fabricante"
•
< xs:element name="ano"
type="xs:string"/>
•
< xs:element name="preco"
type="xs:string"/>
•
</xs:sequence>
•
</ xs:complexType >
•
</ xs:element >
•
</ xs:sequence >
•
</xs:complexType >
•
</xs:element>
•
</xs:schema >
39
[III Congresso Científico – UNIRG/FAFICH]
Exemplos
• Arquivo XML:
• Interpretador Java:
• Programa:
• XSU (XML SQL Utility) – Oracle:
40
[III Congresso Científico – UNIRG/FAFICH]
Programa
41
[III Congresso Científico – UNIRG/FAFICH]
XML - Vantagens
• Em XML, os usuários inventam livremente as tags
para marcar os componentes de um documento.
• Exemplo: diversas formas de representar uma
data
» <date> 5 janeiro 2000 </date>
» <date>
<ano> 2000 </ano>
<mes> 01 </mes>
<dia> 05 </dia>
</date>
» <date format='ISO-8601'> 2000-01-05 </date>
42
[III Congresso Científico – UNIRG/FAFICH]
XML - Vantagens
• Grande liberdade de escolha das estruturas de
dados facilita a troca de dados
–
–
–
–
comércio eletrônico
transações financeiras e comerciais
pesquisa e indústria de biotecnologias
multimídia
• O documento pode também estar conforme as
estruturas tipadas, chamadas DTD
• A validação a um DTD permite a automatização no
tratamento dos dados e assegura uma
possibilidade de controle de integridade
43
[III Congresso Científico – UNIRG/FAFICH]
Acesso às fontes de informação
heterogêneas
• A consulta e troca de dados entre as bases de
dados heterogêneas é complexa
XML contribui pare minimizar este problema
• A indexação e consulta de bases de documentos
pode se beneficiar de informações estruturais e
textuais.
– pesquisa por palavras-chaves: Jorge+Amado retorna
todos os documentos contendo as palavras Jorge e
Amado, então as páginas pessoais de Pedro Amado
cujo filho se chama Jorge.
– pesquisa estrutural: pesquisa os documentos cujo autor
é Jorge Amado (isto é os documentos contendo um
elemento autor, ou escrito-por contendo Jorge e
Amado)
44
[III Congresso Científico – UNIRG/FAFICH]
Considerações Finais
• XML é uma linguagem promissora para
armazenamento e distribuição de informações na
www.
• O surgimento de novas aplicações com XML
apontam para uma utilização cada vez maior
desse padrão.
• XML torna-se matéria fundamental de estudo e
desenvolvimento de novas aplicações.
45
[III Congresso Científico – UNIRG/FAFICH]
Referências Bibliográficas
• ABITEBOUL,Serge; BUNEMAN, Peter; SUCIU,Dan;
Gerenciando Dados na Web. São Paulo: Campus, 2000
• ARCINIEGAS, Fabio. C++ XML. São Paulo: Makron Books,
2002.
• Especificação W3C: http://www.w3.org/XML
• Livro On-line: Harold Elliotte R. Processing XML with
Java. http://www.mmg.tu-sofia.bg/xmljava
• WALSH, N. What is XML?, USA,1998,
http://www.xml.com/pub/a/98/10/guide1.html#AEN58
46
[III Congresso Científico – UNIRG/FAFICH]
Programas para XML(editores e outros
programas)
• Microsoft XML Notepad
– http://msdn.microsoft.com/library/default.asp?url=/library/
en-us/dnxml/html/xmlpaddownload.asp
• XML Spy
– http://www.xmlspy.com/
• XEENA
– http://www.alphaWorks.ibm.com/tech/xeena
47
[III Congresso Científico – UNIRG/FAFICH]
Dúvidas?
Perguntas?
48
Download

Gestão Estratégica dos Recursos de Informática para o Negócio