Tecnologias XML e
Aplicações
DOM
Document Objetc Model
Construção de documentos XML.
Manipulação do conteúdo de
documentos.
Documentos são representados como
uma estrutura de árvore hierárquica.
Adicionar dados, remover dados ou
consultar dados.
W3C provê uma recomendação padrão
para construir uma estrutura de árvore
em memória para documentos XML,
chamada DOM.
<? xml version = “1.0” ?>
<message from=“Paul” to=“Tom”>
<body>Hi, Tom!</body>
</message>
Resulta numa árvore DOM.
Árvore DOM
message
body
from
Hi! Tom
to
Parsers
Parsers baseados em DOM.
Biblioteca programática chamada
DOM API.
Permite dados em um documento XML
serem acessados e modificados
manipulando os nodos na árvore DOM.
DOM API está disponível em
linguagens como C, Java, VBScript, ...
JDOM
Trabalhar documentos XML em Java.
Parsers baseados em DOM são
escritos em uma variedade de
linguagens e são disponíveis para
download.
Internet Explorer 5 tem um parser
embutido.
Parsers DOM
JAXP – Sun Microsystems, Java API for XML
Parsing, www.java.sun.com/xml
XML4J – IBM’s XML Parser for Java,
www.alphaworks.ibm.com/tech/xml4j
Xerces – Apache’s Xerces Java Parser
www.xml.apache.org/xerces.
msxml – Microsoft’s XML Parser 2.0,
embutido no Internet Explorer 5.5.
Versão 3.0 em
msdn.microsoft.com/xml.
4DOM – Python programming
language, em
fourthought.com/4Suite/4DOM.
XML:DOM é um módulo Perl para
manipular documentos XML usando
Perl.
www4.ibm.com/software/developer/library/
xml-perl2.
Componentes DOM
Para uma lista completa de interfaces e
classes DOM, veja a documentação
HTML:
( index.html na api folder )
incluído com p JAXP.
Componentes DOM
DOM classes e interfaces
Métodos Document
XMLDocument methods
Node methods
Node Types
Element methods
Partes para um exemplo
demonstrativo DOM
Uma aplicação Java que valida um
documento XML.
Exemplo em Java para substituir um nodotexto existente no documento XML.
Um manipulador de erros.
O documento XML de entrada.
Saída do documento substituto.
Construindo o documento XML com DOM.
Usar DOM para percorrer a árvore do
documento XML.
SAX
Simple API for XML
SAX
DOM – programaticamente para manipular
um documento XML.
SAX – outro método para acessar um
conteúdo de documento XML.
Desenvolvido por membros do XML-DEV
mailing list, desde Maio de 1998.
Método alternativo para parsear documentos
XML, que usa um modelo baseado em
eventos.
DOM x SAX
DOM e SAX são APIs diferentes para
acessar informação em documentos XML.
DOM é um modelo baseado em árvore que
armazena os dados de documentos em uma
hierarquia de nodos.
Em DOM, todos os dados do documento
XML ficam na memória.
DOM x SAX
Assim, em DOM, dados podem ser
rapidamente processados.
DOM provê facilidades para adicionar
ou remover nodos, modificando o
documento.
SAX invoca métodos quando
marcações do documento ( start tag e
end tag, ... ) são encontradas.
DOM x SAX
Eventos são marcações.
Em SAX, nenhuma estrutura de árvore é
criada para armazenar os dados do
documento XML.
Dados são passados à aplicação, a partir do
documento XML, como ele é encontrado.
Maior desempenho e menos overhead
memória do que DOM.
DOM x SAX
Parsers DOM usam um parser SAX
para recuperar dados de um
documento, para depois se construir a
árvore DOM.
Muitos programadores acham mais fácil
percorrer e manipular documentos XML
usando a árvore DOM.
DOM x SAX
Parsers SAX são tipicamente usados
para lerem documentos XML que não
serão modificados.
Parsers baseados em
SAX
Disponíveis em uma variedade de
linguagens: Java, Python, ...
Diversos parsers baseados em SAX são
disponíveis para download. JAXP é um deles.
JAXP suporta SAX e DOM.
Xerces suporta SAX e DOM.
MSXML 3.0 suporta SAX e DOM.
XML Path
XPATH
XPath
XML provê um modo de descrever dados.
Entretanto, XML não provê um modo para
localizar dados estruturados em um dado
documento.
Um documento XML contendo dados sobre
livros necessitaria ser parseado elemento a
elemento no sentido de se encontrar um livro
específico.
Para um documento grande este processo
poderia ser ineficiente.
XPath
XML Path Language provê uma sintaxe
para localizar partes específicas (por
exemplo, valores de atributos) de um
documento XML, de uma maneira mais
eficiente.
XPath
Xpath não é uma linguagem estrutural, como
XML.
É uma linguagem de expressões baseada
em string, usada por outras tecnologias XML.
Tal como XSLT (Extensible Stylesheet
Language Transformations), que converte
documentos XML para outros formatos (por
exemplo, para HTML).
XPath
XPointer (XML Pointer Language) que
provê um meio de apontar para
informação dentro de um documento
XML.
Em Xpath um documento XML é visto
conceitualmente como uma árvore, na
qual cada parte do documento é
representada como um nodo.
XPath
Em XPath, o resultado é uma hierarquia
de nodos que representam os
elementos de um documento XML em
uma estrutura propícia à busca.
XPath tem 7 tipos de nodos: root,
element, attribute, text, comment,
processing instruction, namespace.
Um documento XML
XPath
Os nodos na árvore são similares
aqueles de DOM.
XML Query
XQuery
XML Query
Tecnologia relacionada a XML para
busca e recuperação de dados XML.
Resource Definition
Framework
RDF
RDF
Tecnologia relacionada a XML que
habilita autores de documentos a
descreverem os dados em documentos
XML.
RDF
A disponibilidade da Web e a facilidade
de se criar documentos tem conduzido
a uma riqueza de informação sobre a
Web.
Infelizmente encontrar a informação
sobre um tópico específico pode ser
difícil e consumir tempo.
RDF
É uma linguagem baseada em XML,
para descrever informação contida em
um recurso.
Um recurso pode ser uma página Web,
um site inteiro ou qualquer item sobre a
Web que contenha informação em
alguma forma.
RDF
“Informação sobre informação”
(metadados) em RDF, pode ser usada
por máquinas de busca ou agentes de
software inteligentes para listar ou
catalogar informação na Web.
RDF
RDF pode também ser usado para
avaliar um site Web para “rating
purposes” ou para criar assinaturas
digitais ( o equivalente de uma
assinatura escrita ).
RDF
O modelo e a sintaxe RDF é uma
recomendação W3C.
A RDF Schema Specification é ainda
uma candidata à recomendação W3C.
RDF
Exemplo simples em RDF.
Ferramenta de Visualização para RDF:
www.w3.org/RDF/Implementations/SiR
PAC - para parsear documentos RDF
dentro do modelo de dados RDF.
RDF
Um mais substancial documento RDF
para descrever um site Web por inteiro.
RDF
Tema de trabalho (A):
1. Descobrir informação na Web, sobre um
tópico específico.
2. Construir agente de software
inteligente para trabalhar como uma
máquina de busca de informação,
através do padrão RDF.
RDF
Tema de trabalho (B)
- Usar RDF para criar assinaturas
digitais.
Tema de trabalho (C)
- Usar RDF para avaliar um site Web para
propósitos de “rating purposes”.
XML Digital Signatures
XML Digital Signatures
Uma recomendação W3C para
implementação XML de segurança e
tecnologias de autenticação.
DSML – Directory Services
Markup Language
Tecnologia relacionada a XML para descrever
dados relacionais e metadados (informação
sobre informação; elementos são exemplos
de metadados) de modo eles possam ser
gerenciados por serviços de diretórios (por
exemplo, software para gerenciar recursos
humanos em uma empresa).
DSML
Serviços de Diretório provêem um
método para gerenciar recursos
relacionais e metadados.
Além do uso para armazenar registros
de bens organizacionais, serviços de
diretório podem ser usados com XML,
para dinamicamente combinar com
dados através de redes.
DSML
É a ponte entre serviços de diretório e
XML.
Um vocabulário padrão e esquema
apropriado ( XML Schema ) provêem os
meios para informação de serviços de
diretório ser descrita em um documento
XML.
DSML
Com DSML, diretórios podem manipular
aplicações distribuídas baseadas na
Web, tais como aquelas usadas em ebusiness, redes e gerenciamento da
cadeia de fornecedores.
DSML
É independente de plataforma,
requerendo somente que os dados
sejam estruturados, de modo que eles
possam manipulados
DSML
Referências DSML na Web:
www.dsml.org é o site oficial do padrão
DSML.
www.oasis-open.org/cover/dsml.html
Introdução à DSML, links relevantes e
artigos.
XML Topic Maps
XTM
XTM
Tecnologia relacionada a XML para
mapeamento de informação.
Padrão International Standards
Organization (ISO).
Novo modelo para navegar (navigating)
e ligar (linking) recursos.
XTM
Esse modelo pode ser pensado como a
essência de um índice, glossário,
dicionário de sinônimos ou um mapa de
conceitos ( concept map ) (por exemplo,
a representação gráfica de dados).
XTM
XML separa conteúdo da apresentação.
Topic Maps (XTM) separa conteúdo de
links.
Topic Maps (XTM) existe como níveis
de hipertexto (hypertext layers) acima
de um conjunto de informação, ao
contrário do que dentro desse conjunto.
O mesmo como XLink faz.
XTM
Capacidade de ligação (linking).
Habilidade para independentemente
referenciar recursos.
O conceito de topic: unidade básica de
um mapa de tópicos.
XTM
Um topic é usado para representar um
tema, um assunto ou uma matéria
sobre alguma coisa e referenciar dados
pertinentes a aquele assunto.
Cada topic é descrito por outros topics
que detalham: seus nomes, ocorrências
e associações.
XTM
As ocorrências de um topic são os vários
recursos de informação que se relacionam a
ele.
Cada ocorrência tem um certo role (papel) tal
como um “chart” ou “article” e um “type” que
provê informação adicional sobre o papel
exercido.
Ocorrência = (papel, tipo)
XTM
Os vários relacionamentos entre topics
(tópicos) são descritos usando-se
associações de diferentes tipos, bem
como o papel que cada tópico exerce
dentro da associação.
XTM
Topic Maps incorporam mecanismos que
definem a identidade e escopo de um tópico,
bem como as facetas ou propriedades da
informação que ele referencia.
Quase todo componente de um mapa de
tópico é um tópico, habilitando o mapa de
tópico ser auto-documentável (selfdocumenting) e auto-descrito (selfdescribing).
XTM
Instruções de processamento,
consultas (queries) e esquemas
(schemas) para mapas de tópicos
podem eles próprios serem expressas
como mapas de tópicos.
XTM
Dependendo de sua aplicação, uma mapa de
tópico pode considerar diferentes assuntos
serem tópicos e tratá-los em diferentes
modos.
Múltiplos mapas de tópicos podem ser
aplicados a um conjunto de informações e
um mapa de tópico pode ser aplicado a
múltiplos conjuntos de informações.
XTM
Exemplo de mapa de tópico com:
- abordando vários tópicos
- suas associações
- suas ocorrências
- uma aplicação implementada em
uma linguagem de programação
(por exemplo, Python, Java, ...)
usada para consultar o mapa de tópico,
conforme comandos do padrão Topic
Map.
Virtual HyperGlossary
VHG
VHG
Especificação independente de plataforma,
para terminologia.
Provê um método de gerenciamento de
conhecimento que liga (attaches) informação
semântica extensiva para dados
estruturados, habilitando-os, por exemplo, a
definições humanas entendíveis para serem
ligadas (attached) a tags.
VHG
VHG especifica um framework de
glossários “hiperlinkados”, dicionários e
tesauros que provêem documentos
com um ambiente terminológico.
Documentos podem ser “linkados” a um
glossário que tem uma extensiva rede
de “hiperlinks” internos
VHG
Usa XML DOM para dar a seus
glossários uma estrutura hieráquica que
pode ser facilmente buscada e
indexada.
VHG tem ferramentas de software que
proporcionam capacidades avançadas,
incluindo marcação léxica automática
de documentos, ... ...
VHG
... ... indexação avançada, geração de
mapa de conceitos (concept-map),
manipulação taxonômica de glossários
e suporte para glossários
multilinguísticos usando algoritmos de
tradução.
VHG
Recursos Web:
www.vhg.org.uk site oficial VHG que
contém informação extensiva sobre
VHG.
www.oasis-open.org/cover/vhg.html que
contém breve informação e links para
recursos relevantes e artigos.
RSS – Rich Site
Summary
Também, uma tecnologia relacionada a
XML que provê conteúdo dinâmico para
assinantes de um serviço na Web.
ICE – Information and
Content Exchange
Tecnologia relacionada a XML que
gerencia o “content syndication” sobre
redes.
P3P – Platform for
Privacy Preferences
Tecnologia relacionada a XML em
conformidade com uma especificação
de políticas de privacidade de sites
Web.
BXXP – Bloks Extensible
Exchange Protocol
Uma tecnologia relacionada a XML para
transferência de dados sobre a Internet.
XrML – Extensible
Rights Markup
Language
Tecnologia relacionada a XML para
licenciamento de conteúdo digital
proprietário (licensing property digital
content).
XMI – XML Metadata
Interchange
Tecnologia XML para o intercâmbio de
dados sobre a modelagem de
programas (exchanging programmodeling data).
CDF – Channel Definition
Format
Tecnologia relacionada a XML que
provê conteúdo (informação) dinâmico
para assinantes de um serviço na Web.