Tecnologias XML e Aplicações. DOM Document Objetc Model.

Post on 17-Apr-2015

111 views 3 download

Transcript of Tecnologias XML e Aplicações. DOM Document Objetc Model.

Tecnologias XML e Aplicações

DOMDocument 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

Hi! Tom

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

www-4.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 nodo-texto 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/SiRPAC - 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 e-business, 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 (self-documenting) e auto-descrito (self-describing).

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

VHGVHG

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