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

77
Tecnologias XML e Aplicações

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

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

Tecnologias XML e Aplicações

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

DOMDocument Objetc Model

Page 3: 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.

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

W3C provê uma recomendação padrão para construir uma estrutura de árvore em memória para documentos XML, chamada DOM.

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

<? xml version = “1.0” ?>

<message from=“Paul” to=“Tom”>

<body>Hi, Tom!</body>

</message>

Resulta numa árvore DOM.

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

Árvore DOM

message

body

Hi! Tom

from to

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

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.

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

DOM API está disponível em linguagens como C, Java, VBScript, ...

JDOM

Trabalhar documentos XML em Java.

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

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.

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

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.

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

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.

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

XML:DOM é um módulo Perl para manipular documentos XML usando Perl.

www-4.ibm.com/software/developer/library/

xml-perl2.

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

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.

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

Componentes DOM

DOM classes e interfaces

Métodos Document

XMLDocument methods

Node methods

Node Types

Element methods

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

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.

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

SAX Simple API for XML

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

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.

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

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.

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

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.

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

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.

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

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.

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

DOM x SAX

Parsers SAX são tipicamente usados para lerem documentos XML que não serão modificados.

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

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.

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

XML Path

XPATH

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

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.

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

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.

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

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

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

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.

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

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.

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

Um documento XML

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

XPath

Os nodos na árvore são similares aqueles de DOM.

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

XML Query

XQuery

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

XML Query

Tecnologia relacionada a XML para busca e recuperação de dados XML.

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

Resource Definition Framework

RDF

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

RDF

Tecnologia relacionada a XML que habilita autores de documentos a descreverem os dados em documentos XML.

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

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.

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

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.

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

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.

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

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

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

RDF

O modelo e a sintaxe RDF é uma recomendação W3C.

A RDF Schema Specification é ainda uma candidata à recomendação W3C.

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

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.

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

RDF

Um mais substancial documento RDF para descrever um site Web por inteiro.

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

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.

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

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

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

XML Digital Signatures

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

XML Digital Signatures

Uma recomendação W3C para implementação XML de segurança e tecnologias de autenticação.

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

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

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

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.

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

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.

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

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.

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

DSML

É independente de plataforma, requerendo somente que os dados sejam estruturados, de modo que eles possam manipulados

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

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.

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

XML Topic Maps

XTM

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

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.

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

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

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

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.

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

XTM

Capacidade de ligação (linking).

Habilidade para independentemente referenciar recursos.

O conceito de topic: unidade básica de um mapa de tópicos.

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

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.

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

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)

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

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.

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

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

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

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.

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

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.

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

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.

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

Virtual HyperGlossary

VHGVHG

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

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.

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

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

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

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

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

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.

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

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.

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

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.

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

ICE – Information and Content Exchange

Tecnologia relacionada a XML que gerencia o “content syndication” sobre redes.

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

P3P – Platform for Privacy Preferences

Tecnologia relacionada a XML em conformidade com uma especificação de políticas de privacidade de sites Web.

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

BXXP – Bloks Extensible Exchange Protocol

Uma tecnologia relacionada a XML para transferência de dados sobre a Internet.

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

XrML – Extensible Rights Markup Language

Tecnologia relacionada a XML para licenciamento de conteúdo digital proprietário (licensing property digital content).

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

XMI – XML Metadata Interchange

Tecnologia XML para o intercâmbio de dados sobre a modelagem de programas (exchanging program-modeling data).

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

CDF – Channel Definition Format

Tecnologia relacionada a XML que provê conteúdo (informação) dinâmico para assinantes de um serviço na Web.