770 likes | 894 Views
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.
E N D
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 to Hi! Tom
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 • DOM – programaticamente para manipular um documento XML. • SAX – outro método para acessar um conteúdo de documento XML. • Desenvolvido por membros do XML-DEVmailing 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.
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.
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 • 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.