DOM (Document Object Model)

Documentos relacionados
XML (extensible Markup Language)

Transformação de documentos XML

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

XPath e XSLT. Ferramentas para Internet Marx Gomes Van der Linden. ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida )

Notas sobre XSLT. O modo correcto para declarar um documento xsl é:

Série Rações Semanais Xpath e XSLT Rogério Araújo

PROGRAMAÇÃO PARA INTERNET RICA DHTML E O DOCUMENT OBJECT MODEL

FEUP Faculdade de Engenharia da Universidade do Porto XSL. Porto, Maio de Gabriel David FEUP, Maio 2002 XML/XSL

Manipulação de XML JAXP - DOM

Linguagens e Programação XPATH / XSLT. Paulo Proença

GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XPATH. Prof. Angelo Augusto Frozza, M.Sc.

XML: uma introdução prática X100. Helder da Rocha

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

CONTEÚDO PROGRAMÁTICO

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

XML (extensible Markup Language)

Introdução. Definição. Validação. Universo XML. Apresentação. Processamento. Prof. Enzo Seraphim. Banco de Dados

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás

Gerenciamento de Dados XML

Bruno Ribeiro de F. Machado DESENVOLVIMENTO DE UMA FERRAMENTA PARA DOCUMENTAÇÃO DE CÓDIGOS-FONTE BASEADA EM XML

Programação para Internet I Aulas 10 e 11

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

COM222 DESENVOLVIMENTO DE SISTEMAS WEB. Aula 01: HTML e CSS

Folhas de estilo. Jomi Fred Hübner (XSL e XPath) FURB / DSC

XSLT Transforming XML

Introdução ao XML. Extensible Markup Language

CSS CASCADING STYLE SHEET

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

Notas sobre TinyXML (TP2)

Transformações em XML: XSLT

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

XML & Banco de Dados

XML e XSL. Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB. Claudinei Dias prof.claudinei.dias@gmail.com

XML - DTD - XSL Exemplos de Exercícios TWEB II

HTML: INTRODUÇÃO TAGS BÁSICAS

MAPEAMENTO DE CONSULTAS SQL ENTRE SISTEMAS GERENCIADORES DE BANCOS DE DADOS UTILIZANDO TECNOLOGIA XSLT

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.

HTML BÁSICO E TEMPLATE VIEW. Gabrielle Amorim Porto

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

5a. Aula - XML

CSS. Cascading Style Sheets Style Sheets

MÓDULO 1: Tags: estrutura; tipos; atributos. Estrutura de um documento. Tags de blocos: <?xml?>, <!DOCTYPE>, <html>, <head>, <body>, <body bgcolor>.

Volnys Bernal. Introdução à linguagem HTML. Introdução à linguagem HTML. Visão geral. Visão geral. Visão geral. Visão geral.

Note que a tag SEMPRE abre e <NOME_DA_TAG>Dados</NOME_DA_TAG>

Introdução à linguagem HTML. Volnys Borges Bernal

XML: uma introdução prática X100. Helder da Rocha

Guia de Bolso HTML e XHTML

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

Este relatório tem por objetivo, abordar a sintaxe XML.

#Fundamentos de uma página web

CURSO PROFISSIONAL DE TÉCNICO DE MULTIMÉDIA

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo

Dreamweaver CC_15x21.indd 1 06/04/ :04:22

JavaScript. Programação de Servidores. Marx Gomes Van der Linden

JavaScript (Elementos de Programação e Programação Básica)

XML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA

Desenvolvimento Web. JavaScript aula IV Acesso a documentos com Document Object Model (DOM) Professor: Bruno E. G. Gomes

Transcrição:

DOM (Document Object Model) Modelo de dados para XML estrutura hierárquica (árvore) métodos de acesso (API DOM) principais classes de objetos document, node, nodelist e element execução de consultas e atualizações de dados Parsers DOM validam um doc XML geram um objeto document

Esquema DOM <?xml version = 1.0 > <Livros> <livro ISBN= 112 > <titulo>tecnologia XML</titulo> <preco>79.00</preco> <autor> <nome>joão da Silva</nome> <mail>js@hotmail.com</mail> <mail>jsilva@xxx.com</mail> </autor> <autor> <nome>maria Souza</nome> </autor> <editora>campus</editora>... </livro>... </Livros> Livros livro ISBN título preço autor editora nome mail

Objetos do Modelo DOM node listalivros document... livro ISBN livro título preço autor autor Tecnologia XML 79.00 nome mail nome element João da Silva js@hotmail.com jsilva@xxx.com Maria Souza nodelist

Principais Métodos document Método documentelement getelementbytagname(string) createtextnode(string) createcomment(string) createelement(string) Resultado Element NodeList String Comment Element

Principais Métodos node Método nodename nodevalue nodetype parentnode childnodes firstchild lastchild previoussibling nextsibling insertbefore(node novo, Node ref) replacechild(node novo, Node antigo) removechild(node) haschildnode Resultado String String short Node NodeList Node Node Node Node Node Node Node boolean

Principais Métodos element Método tagname getattribute(string) setattribute(string nome, String valor) getattributenode(string) removeattributenode(string) getelementsbytagname Resultado String String Attr Attr Attr NodeList nodelist Length item(int) Método int Resultado Node

Exemplo de Navegação em DOM listalivros... livro ISBN livro título preço autor autor Tecnologia XML 79.00 nome mail nome João da Silva js@hotmail.com jsilva@xxx.com Maria Souza doc.documentelement.childnodes.item(0).getelementsbytagname( autor ). item(1).firstchild.firstchild.data objeto DOM nodo raiz lista de livros 1 o livro lista de autores 2 o autor 1 o nodo filho: nome 1 o nodo filho: conteúdo de nome texto

DOM Exemplo (JavaScript) var doc, raiz, livro1, autores, autor2; doc = new ActiveXObject( Microsoft.XMLDOM ); doc.load( livros.xml ); if (doc.parseerror!= 0)...; else { raiz = doc.documentelement; /* busca o primeiro livro (primeiro nodo filho) */ livro1 = raiz.childnodes.item(0); /* busca a lista de autores do primeiro livro */ autores = livro1.getelementsbytagname( autor ); /* busca o segundo autor */ autor2 = autores.item(1); /* escreve o nome do autor primeiro nodo filho */ document.write( Nome do segundo autor: + autor.childnodes.item(0).data); }

XSL (XML Style sheet Language) Style sheet (folha de estilos) regras para formatação da apresentação de dados (regras para definição de estilo) CSS (Cascading Style Sheet) padrão estendido pela W3C para formatar dados XML em browsers Web um arquivo.css pode ser referenciado em um doc XML características de formatação para tags XML fonte + cor + cor background + margens + posicionamento + listas + tabelas +... +

XSL (XML Style sheet Language) XSL estende as funcionalidades do CSS formatação de apresentação (como CSS) transformação do conteúdo do documento XML (XSLT) indicação de que dados serão exibidos ou descartados inserção de novos conteúdos conversão XML HTML, XML XML, XML texto puro,...

Documento XSL Define uma folha de estilo Sintaxe XML Referenciado em um doc XML <?xml version= 1.0?> <?xml-stylesheet type= text/xsl href= estilo.xsl?>... Processador XSL programa que valida e executa as regras definidas em um doc XSL alguns browsers Web processam docs XSL

Estrutura de um Doc XSL(T) <stylesheet xmlns = "http://www.w3.org/xsl/transform/1.0"> namespace default elemento raiz (DTD da W3C com instruções XSL) </template match = "/livro/autor">... </template> padrão: indica o elemento ou atributo para o qual a regra se aplica... (expressão XPath) regra de formatação </stylesheet>

XSL Transformation - XSLT Sintaxe para transformação de dados Algumas instruções <xsl:apply-templates [select=... ]> processa (recursivamente) todos os sub-nodos do nodo corrente cláusula opcional select indica os nodos a processar <xsl:for-each select=... > processa todos os nodos indicados na cláusula select <xsl:sort [select=... ]> ordena os nodos (select indica por qual nodo ordenar) <xsl:value-of select=... > insere o valor de um nodo (especificado no select) na posição corrente

Exemplos de Regras XSL Processamento recursivo <xsl:template match = Livros"> <html> <head><title>lista de livros</title></head> <xsl:apply-templates/> processa nodos filhos </html> </xsl:template> Processamento baseado em seleção formato de saida (HTML) <xsl:template match = livro"> <xsl:apply-templates select = livro[preco>100]"/> </xsl:template>

Exemplos de Regras XSL Ordenação <xsl:template match = livro"> <xsl:apply-templates> <xsl:sort = titulo > </xsl:apply-templates> </xsl:template>

Exemplo de Transformação XSL Entrada: doc XML <listalivros> <livro tipo= tecnico ISBN= 01 > <título>xml Companion<\título> <autor> <nome>n. Bradley<\nome>... <\autor>... <\livro> <livro tipo= tecnico ISBN= 02 > <título>data on the Web<\título> <autor> <nome>s. Abiteboul<\nome>... <\autor>... <\livro>... </listalivros> Transformação: doc XSL <stylesheet xmlns =...> <template match = "listalivros"> <html><head> <title>livros Técnicos</title> </head> <apply-templates/> </html> </template> <template match = livro"> <P> <apply-templates select = livro[@tipo = "tecnico"]"> <sort = "título"> ordenar por </apply-templates> título </P> </template>... processar elementos filhos selecionar livros técnicos

Exemplo de Transformação XSL Entrada: doc XML <listalivros> <livro tipo= tecnico ISBN= 01 > <título>xml Companion<\título> <autor> <nome>n. Bradley<\nome>... <\autor>... <\livro> <livro tipo= tecnico ISBN= 02 > <título>data on the Web<\título> <autor> <nome>s. Abiteboul<\nome>... <\autor>... <\livro>... </listalivros>... Transformação: doc XSL <variable name = "separador">,</variable> <template match = "título"> <value-of select = "."> selecionar o conteúdo de título <value-of select = "{$separador}"> </template> <template match = "autor/nome"> selecionar o conteúdo <value-of select = "."> do nome do autor </template> </stylesheet>

Exemplo de Transformação XSL Entrada: doc XML <listalivros> <livro tipo= tecnico ISBN= 01 > <título>xml Companion<\título> <autor> <nome>n. Bradley<\nome>... <\autor>... <\livro> <livro tipo= tecnico ISBN= 02 > <título>data on the Web<\título> <autor> <nome>s. Abiteboul<\nome>... <\autor>... <\livro>... </listalivros> Saída: doc HTML <html> <head> <title> Livros Técnicos </title> </head> <P> XML Companion,N. Bradley </P> <P> Data on the Web,S. Abiteboul </P>... </html>