Transformações em XML: XSLT
|
|
|
- Armando de Sousa Aquino
- 8 Há anos
- Visualizações:
Transcrição
1 Transformações em XML: XSLT Vanessa Braganholo Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo
2 Importância de XSLT XSLT é um padrão para transformação de documentos XML para qualquer representação textual Templates de transformação são aplicados a objetos XML Entrada: documento XML Saída: qualquer documento em formato texto (HTML, XML, TXT, RTF, etc)
3 Princípio de funcionamento da transformação Documento de entrada <carta> <cabecalho>... </cabecalho> Documento Transformado <corpo>... </corpo> </carta>... <template match= cabecalho > <apply-templates/> </template>... Regras de transformação stylesheets Processador XSLT WindStar 2000 Les rosières en buget AB562 Saint Pétaouchnoque Tel: Fax: Saint Pétaouchnoque, Le 30 nivose 2004 Editions Duschmol, 12 rue Schmurz YT123 Rapis Objeto: Dívida Prezado Senhot, Bla bla bli, bli blo bla, kkkk vhlg vckjdhklbg fdskjbvhv feje slc ifehfe fhckh c jeflccj n khef iheznf jùkvbc lkhdklvn v. sssinatura Material de Maria Luiza Machado Campos Rodapé
4 XSLT Através do uso de XSLT, é possível: adicionar prefixos e/ou sufixos a um conteúdo de texto; eliminar, criar, reestruturar e ordenar elementos; reusar elementos em qualquer parte do documento; transformar dados de um formato XML para outro formato baseado em texto (XML, HTML, TeX, etc.);
5 XSLT Um processador XSLT recebe como entrada um documento XML gera na saída um outro documento em formato texto Se o documento de saída for um documento XML ele pode estar estruturado de acordo com uma DTD diferente da DTD do documento de entrada A transformação é especificada em um style sheet Um style sheet segue a sintaxe do padrão XML
6 Style Sheets Um style sheet é formado por um conjunto de regras template transformações são executadas de acordo com tais regras Cada regra "casa" com um tipo de elemento no documento de entrada utilizando expressões XPath As tags originais são substituídas por novas tags de saída
7 Estrutura Geral O elemento raiz é denominado stylesheet O namespace de XSLT deve ser declarado xmlns:xsl= <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0">... </xsl:stylesheet>
8 Estrutura Geral Templates (ou regras) são criadas através do elemento <xsl:template> <xsl:template match= title >... Recursividade de templates é criada através do elemento <xsl:apply-templates> <xsl:template match= book >... <xsl:apply-templates/>
9 Processamento A execução usa uma pilha auxiliar Quem guia a execução é a pilha 1. Empilhar a raiz do documento XML 2. Desempilhar o topo da pilha t 3. Encontrar, no style-sheet, um template correspondente ao nodo t 4. Executar o template 5. Se template possui comando apply-templates, empilhar os filhos de t 6. Se pilha não está vazia, voltar ao passo 2
10 Processamento recursivo <xsl:stylesheet version="1.0" xmlns:xsl:...> <?xml version="1.0"?> <books> <book> <title>abc</title> <author>john</author> </book> <book> <title>def</title> <author>joseph</author> </book> </books> <xsl:template match="books">... <xsl:apply-templates/> <xsl:template match="book">... <xsl:apply-templates/> </xsl:stylesheet>
11 Processamento recursivo <xsl:stylesheet version="1.0" xmlns:xsl:...> <?xml version="1.0"?> <books> <book> <title>abc</title> <author>john</author> </book> <book> <title>def</title> <author>joseph</author> </book> </books> <xsl:template match="books">... <xsl:apply-templates/> <xsl:template match="book">... <xsl:apply-templates/> </xsl:stylesheet>
12 Processamento recursivo <xsl:stylesheet version="1.0" xmlns:xsl:...> <?xml version="1.0"?> <books> <book> <title>abc</title> <author>john</author> </book> <book> <title>def</title> <author>joseph</author> </book> </books> <xsl:template match="books">... <xsl:apply-templates/> <xsl:template match="book">... <xsl:apply-templates/> </xsl:stylesheet>
13 Processamento recursivo <xsl:stylesheet version="1.0" xmlns:xsl:...> <?xml version="1.0"?> <books> <book> <title>abc</title> <author>john</author> </book> <book> <title>def</title> <author>joseph</author> </book> </books> <xsl:template match="books">... <xsl:apply-templates/> <xsl:template match="book">... <xsl:apply-templates/> </xsl:stylesheet>
14 Processamento recursivo <xsl:stylesheet version="1.0" xmlns:xsl:...> <?xml version="1.0"?> <books> <book> <title>abc</title> <author>john</author> </book> <book> <title>def</title> <author>joseph</author> </book> </books> <xsl:template match="books">... <xsl:apply-templates/> <xsl:template match="book">... <xsl:apply-templates/> </xsl:stylesheet>
15 Regras default XSLT possui algumas regras default Uma style-sheet vazia aplica as regras default ao documento XML que está sendo processado Processa o documento todo Coloca todo o conteúdo dos elementos texto na saída
16 Exemplo Documento XML <booklist> <book id="box00"> <author>box, D. and Skonnard, A. and Lam, J.</author> <editor>series</editor> <title>essential XML - Beyond Markup</title> <publisher>addison-wesley</publisher> <year>2000</year> <key/> <volume/> <number/> <series/> <address/> <edition/> <month>july</month> <note/> <annote/> <url> </book>...
17 Exemplo Documento XML... <book id="mar99"> <author>maruyama, H. and Tamura, K. and Uramoto, N.</author> <title>xml and Java: Developing of Web Applications</title> <publisher>addison-wesley</publisher> <year>1999</year> <address>ma</address> <month>august</month> </book> <book id="bra00"> <author>bradley, N.</author> <title>the XML Companion</title> <publisher>addison-wesley</publisher> <year>2000</year> <address>great Britain</address> <edition>2</edition> <month>august</month> </book> </booklist>
18 Exemplo (01-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:output method="text" indent="yes"/> </xsl:stylesheet>
19 Resultado Box, D. and Skonnard, A. and Lam, J.SeriesEssential XML - Beyond MarkupAddison- Wesley2000Julyhttp:// H. and Tamura, K. and Uramoto, N.XML and Java: Developing of Web ApplicationsAddison-Wesley1999MAAugustBradley, N.The XML CompanionAddison-Wesley2000Great Britain2August
20 Regras default Regra 1: Processar todo o documento XML <xsl:template match="/ *"> <xsl:apply-templates/> xsl:apply-templates faz com que os filhos do nodo atual sejam processados recursivamente
21 Regras default Regra 2: Copiar o conteúdo texto dos elementos para a saída <xsl:template match="text()"> <xsl:value-of select="."/> xsl:value-of select=. faz com que o conteúdo do nodo atual seja copiado para a saída
22 Exemplo (02-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="booklist"> ===============Lista de Livros=============== <xsl:apply-templates/> ===============Fim da lista================= </xsl:stylesheet>
23 Resultado ===============Lista de livros=============== Box, D. and Skonnard, A. and Lam, J.SeriesEssential XML - Beyond MarkupAddison- Wesley2000Julyhttp:// ma, H. and Tamura, K. and Uramoto, N.XML and Java: Developing of Web ApplicationsAddison-Wesley1999MAAugustBradley, N.The XML CompanionAddison-Wesley2000Great Britain2August ================Fim da lista================
24 Função name() XPath possui uma função name() que pode ser usada para imprimir o nome do elemento que casou com uma determinada regra <xsl:template match="book"> <xsl:value-of select="name() />
25 Exemplo (02-1-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="*"> <xsl:value-of select="name()"/>: <xsl:apply-templates/> </xsl:stylesheet>
26 Resultado booklist: book: author: Box, D. and Skonnard, A. and Lam, J.editor: Seriestitle: Essential XML - Beyond Markuppublisher: Addison-Wesleyyear: 2000key: volume: number: series: address: edition: month: Julynote: annote: url: author: Maruyama, H. and Tamura, K. and Uramoto, N.title: XML and Java: Developing of Web Applicationspublisher: Addison-Wesleyyear: 1999address: MAmonth: Augustbook: author: Bradley, N.title: The XML Companionpublisher: Addison- Wesleyyear: 2000address: Great Britainedition: 2month: August
27 Exemplo (03-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="*"> <xsl:template match="booklist"> ===============Lista de livros=============== <xsl:apply-templates/> ===============Fim da lista================= </xsl:stylesheet>
28 Resultado ===============Lista de livros=============== ===============Fim da lista=================
29 Exemplo (04-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="author"> ================Livro do autor================ <xsl:apply-templates/> ================Detalhes do livro============== </xsl:stylesheet>
30 Resultado ===============Livro do autor=============== Box, D. and Skonnard, A. and Lam, J. ===============Detalhes do livro============= SeriesEssential XML - Beyond MarkupAddison- Wesley2000Julyhttp:// ===============Livro do autor=============== Maruyama, H. and Tamura, K. and Uramoto, N. ===============Detalhes do livro============= XML and Java: Developing of Web ApplicationsAddison-Wesley1999MAAugust ===============Livro do autor=============== Bradley, N. ===============Detalhes do livro============= The XML CompanionAddison-Wesley2000Great Britain2August
31 Exemplo (05-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="booklist"> ===============Lista de livros=============== <xsl:apply-templates/> ===============Fim da lista================= <xsl:template match="author"> ===============Livro do autor=============== <xsl:apply-templates/> ===============Detalhes do livro============= </xsl:stylesheet>
32 Resultado ===============Lista de livros=============== ===============Livro do autor=============== Box, D. and Skonnard, A. and Lam, J. ===============Detalhes do livro============= SeriesEssential XML - Beyond MarkupAddison- Wesley2000Julyhttp:// ===============Livro do autor=============== Maruyama, H. and Tamura, K. and Uramoto, N. ===============Detalhes do livro============= XML and Java: Developing of Web ApplicationsAddison-Wesley1999MAAugust ===============Livro do autor=============== Bradley, N. ===============Detalhes do livro============= The XML CompanionAddison-Wesley2000Great Britain2August ===============Fim da lista================
33 Exemplo (06-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="text() /> <xsl:template match="booklist"> <xsl:apply-templates/> <xsl:template match="book"> Livro <xsl:apply-templates/> <xsl:template match="author"> AUTOR: <xsl:value-of select="."/> </xsl:stylesheet>
34 Resultado Livro AUTOR: Box, D. and Skonnard, A. and Lam, J. Livro AUTOR: Maruyama, H. and Tamura, K. and Uramoto, N. Livro AUTOR: Bradley, N.
35 Exercício 1 Utilizando o arquivo pedido4.xml, obtenha a seguinte saída: Pedido Cliente: ABC CGC: / Local: Rua das Flores, 75 - Porto Alegre RS Dica: para colocar espaços na saída: <xsl:text> </xsl:text>
36 Processamento seletivo O atributo select do elemento apply-templates é utilizado para selecionar determinados filhos para serem processados e ignorar o restante <xsl:template match="booklist"> <xsl:apply-templates select="book[@id='mar99']"/>
37 Exemplo (07-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="text() /> <xsl:template match="booklist"> <xsl:apply-templates <xsl:template match="book"> Livro <xsl:apply-templates/> <xsl:template match="author"> AUTOR: <xsl:value-of select="."/> </xsl:stylesheet>
38 Resultado Livro AUTOR: Maruyama, H. and Tamura, K. and Uramoto, N.
39 Exercício 2 Utilizando o arquivo pedido4.xml, obtenha a seguinte saída: Observe que apenas o item caneta azul" está na saída Pedido no Cliente: ABC CGC: / Itens * caneta azul Por enquanto, não se preocupem com alinhamento
40 Gerando um novo documento XML É possível gerar novas tags XML na saída, produzindo um novo documento XML de saída a partir da entrada Tudo o que não possui o namespace de XSLT é copiado para a saída <xsl:template match="book"> <livro> <xsl:apply-templates/> </livro>
41 Exemplo (09-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output indent="yes"/> <xsl:template match="text() /> <xsl:template match="booklist"> <ListaLivros><xsl:apply-templates/></ListaLivros> <xsl:template match="book"> <Livro><xsl:apply-templates/></Livro> <xsl:template match="author"> <Autor><xsl:value-of select="."/></autor> <xsl:template match="title"> <Titulo><xsl:value-of select="."/></titulo> </xsl:stylesheet>
42 Resultado <?xml version="1.0" encoding="utf-16"?> <ListaLivros> <Livro> <Autor>Box, D. and Skonnard, A. and Lam, J.</Autor> <Titulo>Essential XML - Beyond Markup</Titulo> </Livro> <Livro> <Autor>Maruyama, H. and Tamura, K. and Uramoto, N.</Autor> <Titulo>XML and Java: Developing of Web Applications</Titulo> </Livro> <Livro> <Autor>Bradley, N.</Autor> <Titulo>The XML Companion</Titulo> </Livro> </ListaLivros>
43 Exercício 3 Utilizando o arquivo pedido4.xml, obtenha a seguinte saída: <pedido> <numero>1000</numero> <cliente> <nome>abc</nome> <cgc> / </cgc> <rua>rua das Flores,75 </rua> <cidade>porto Alegre</cidade> <estado>rs</estado> </cliente> <itens_pedido> <item> <produto>caneta azul</produto> <quant>100</quant> <preco>2</preco> </item> <item> <produto>papel</produto> <quant>100</quant> <preco>8</preco> </item> </itens_pedido> </pedido>
44 Gerando HTML Da mesma forma que podemos gerar novos elementos XML na saída, também podemos gerar elementos HTML Basta fazer com que o documento gerado possua a estrutura básica de HTML <HTML> <HEAD> <TITLE>título</TITLE> </HEAD> <BODY> conteúdo da página HTML </BODY> </HTML>
45 Exercício 4 Exiba o pedido4.xml no formato HTML Utilize uma tabela para exibir os itens do pedido
46 Ordenando elementos O elemento sort é utilizado para ordenar uma lista de elementos Atua sobre os elementos selecionados pelo apply-templates Os elementos são ordenados no documento de saída Exemplo: coloca em ordem alfabética a lista de itens <list> <item>zzz</item> <item>aaa</item> <item>mmm</item> </list> <xsl:template match="list"> <xsl:apply-templates><xsl:sort/></xsl:apply-templates>
47 Ordenando elementos O atributo select do elemento sort é utilizado para especificar o critério pelo qual ordenar <xsl:template match="booklist"> <xsl:apply-templates> <xsl:sort select="year"/> </xsl:apply-templates>
48 Atributos de sort O elemento sort possui atributos opcionais que podem ser utilizados o atributo order especifica a ordem: ascending (o default) descending o atributo data-type especifica o tipo: text (o default) number para ordenar valores numéricos o atributo case-order indica se a aparece antes de A (lower-first) ou o contrário (upper-first)
49 Exemplo (11-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="text() /> <xsl:template match="booklist"> <xsl:apply-templates><xsl:sort select="year"/></xsl:apply-templates> <xsl:template match="book"> Livro <xsl:apply-templates/> <xsl:template match="author"> AUTOR: <xsl:value-of select="."/> </xsl:stylesheet>
50 Resultado Livro AUTOR: Maruyama, H. and Tamura, K. and Uramoto, N. Livro AUTOR: Box, D. and Skonnard, A. and Lam, J. Livro AUTOR: Bradley, N.
51 Numeração automática O elemento number é utilizado para numerar os elementos em uma lista de elementos Facilita a manutenção de uma lista de itens Exemplo: insere o número de sequência antes do conteúdo do elemento <xsl:template match="item"> <xsl:number/><xsl:apply-templates/> <xsl:template>
52 Exemplo (12-sample.xsl) <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="text" indent="yes"/> <xsl:template match="text() /> <xsl:template match="booklist"> <xsl:apply-templates/> <xsl:template match="book"> Livro Numero:<xsl:number/><xsl:apply-templates/> <xsl:template match="author"> AUTOR: <xsl:value-of select="."/> </xsl:stylesheet>
53 Resultado Livro Numero:1 AUTOR: Box, D. and Skonnard, A. and Lam, J. Livro Numero:2 AUTOR: Maruyama, H. and Tamura, K. and Uramoto, N. Livro Numero:3 AUTOR: Bradley, N.
54 Modos O atributo mode do elemento template é utilizado para definir vários templates associados a um elemento útil quando um elemento é formatado de diferentes formas dependendo do caso
55 Exemplo (13-sample.xsl) <xsl:template match="text()" /> <xsl:template match="booklist"> Lista de livros dos autores:============================== <xsl:apply-templates select="//booklist/book/author" mode="list" /> ======================================================== <xsl:apply-templates /> <xsl:template match="book"> Livro <xsl:apply-templates /> <xsl:template match="author"> AUTOR: <xsl:value-of select="." /> <xsl:template match="author" mode="list"> <xsl:value-of select="." />, <xsl:template match="title"> TITULO: <xsl:value-of select="." />
56 Resultado Lista de livros dos autores:===================== Box, D. and Skonnard, A. and Lam, J., Maruyama, H. and Tamura, K. and Uramoto, N., Bradley, N., ==================================== Livro AUTOR: Box, D. and Skonnard, A. and Lam, J. TITULO: Essential XML - Beyond Markup Livro AUTOR: Maruyama, H. and Tamura, K. and Uramoto, N. TITULO: XML and Java: Developing of Web Applications Livro AUTOR: Bradley, N. TITULO: The XML Companion
57 Reusando templates O elemento call-template é utilizado para invocar um template útil para reusar a mesma formatação em vários lugares Funcionamento: o template com a formatação comum é nomeado o template é invocado através do elemento call-template
58 Reusando templates O atributo name é utilizado para associar um nome único ao template <xsl:template name="createheader"> <hr/> <h2>**** <xsl:apply-templates/> ****</h2> <hr/> O atributo name do elemento call-template é utilizado para invocar o template <xsl:template match="title"> <xsl:call-template name="createheader"/> <xsl:template match="head"> <xsl:call-template name="createheader"/>
59 Criando elementos com element Existem dois modos de criar um elemento na saída escrever o elemento, por exemplo <pedido> utilizar o elemento <xsl:element> Ao utilizar o elemento <xsl:element> o atributo name indica o nome do elemento a ser criado o atributo opcional namespace indica o namespace do elemento a ser criado <xsl:template match="cliente"> <xsl:element namespace="html" name="h3"> <xsl:apply=templates/> </xsl:element>
60 Copiando elementos O elemento copy é utilizado para copiar elementos do documento de entrada para o documento de saída Exemplo: agrega um prefixo ao conteúdo dos elementos cliente e item <xsl:template match="cliente item"> <xsl:copy> ****: <xsl:apply-templates/> </xsl:copy> Os atributos do elemento de entrada NÃO são copiados!
61 Criando atributos O elemento attribute é utilizado para criar atributos em um elemento de saída o atributo name indica o nome do atributo criado o atributo namespace indica o namespace do atributo criado o conteúdo do elemento representa o valor do atributo <xsl:template match="cliente"> <xsl:copy> <xsl:attribute name="nome">joão</xsl:attribute> <xsl:apply-templates/> </xsl:copy>
62 Obtendo maior controle sob a execução Além do elemento apply-templates, é possível utilizar o elemento for-each O elemento for-each faz com que o processamento se repita para cada elemento selecionado pelo atributo select <xsl:template match="text()"/> <xsl:template match="booklist"> <xsl:for-each select="book"> LIVRO AUTOR: <xsl:value-of select="author"/> </xsl:for-each>
63 Comandos condicionais choose if
64 Comandos condicionais: choose <xsl:template match="book"> LIVRO <xsl:choose> <xsl:when test="author='bradley, N.'"> AUTOR 1 </xsl:when> <xsl:otherwise> OUTRO AUTOR... </xsl:otherwise> </xsl:choose>
65 Comandos condicionais: if <xsl:template match="book"> LIVRO <xsl:if test="author='bradley, N.'">AUTOR 1</xsl:if>
66 Fazendo cálculos <xsl:template match="numbers"> A = <xsl:value-of select="x + y"/> B = <xsl:value-of select="y - x"/> C. 4 * 3.2 = <xsl:value-of select="x * y"/> D. 11/3.2 = <xsl:value-of select="z div y"/> E * 11 = <xsl:value-of select="x+y*z"/> F. ( ) * 11 = <xsl:value-of select="(x+y)*z"/> G. 11 mod 4 = <xsl:value-of select="z mod x"/> H = <xsl:value-of select="sum(*)"/> I. floor(3.2) = <xsl:value-of select="floor(y)"/> J. ceiling(3.2) = <xsl:value-of select="ceiling(y)"/> K. round(3.2) = <xsl:value-of select="round(y)"/> L count(*) = <xsl:value-of select="11+count(*)"/> M string-length("3.2") = <xsl:value-of select="y + string-length(y)"/> N "hello" = <xsl:value-of select="z + 'hello'"/> <numbers> <x>4</x> <y>3.2</y> <z>11</z> </numbers> Fonte:
67 Exercício 5 Exiba o pedido4.xml no formato HTML Utilize uma tabela para exibir os itens do pedido Adicione uma coluna para o subtotal de cada item
68 Exercício 6 Desafio Desafio: calcule o total do pedido (para isso, é necessário pesquisar na especificação de XSLT, pois será necessário usar comandos que não aprendemos em aula) Para quem tiver curiosidade, eu disponibilizo a resposta na próxima aula
69 Mais de um arquivo fonte Ver dicas em l
70 Mais de um arquivo fonte... Para usar mais de um arquivo fonte para a transformação, deve-se usar a função document() <xsl:variable name="doc1" select="document('doc1.xml')"/> <xsl:variable name="doc2" select="document('doc2.xml')"/>
71 Exemplo Processar dois arquivos de livro Assuma que o arquivo que temos usado até agora é o books1.xml Queremos incluir no resultado também os livros do arquivo books2.xml (exibido na próxima transparência)
72 books2.xml <booklist> <book id="heu00"> <author>heuser, Carlos</author> <title>projeto de Banco de Dados</title> <publisher>sagra Luzzato</publisher> <year>2000</year> </book> </booklist>
73 XSLT a ser processado a partir de books1.xml <!-- definição dos arquivos adicionais a serem processados --> <!-- eles podem ser adicionados ao arquivo via programação, para não amarrar muito o XSLT --> <xsl:variable name="doc2" select="document('books2.xml')"/> <xsl:template match="text()"/> <xsl:template match="booklist"> <xsl:for-each select="book"> TITULO: <xsl:value-of select="title"/> AUTOR: <xsl:value-of select="author"/> </xsl:for-each> <xsl:for-each select="$doc2/booklist/book"> TITULO: <xsl:value-of select="title"/> AUTOR: <xsl:value-of select="author"/> </xsl:for-each>
74 Resultado TITULO: Essential XML - Beyond Markup AUTOR: Box, D. and Skonnard, A. and Lam, J. TITULO: XML and Java: Developing of Web Applications AUTOR: Maruyama, H. and Tamura, K. and Uramoto, N. TITULO: The XML Companion AUTOR: Bradley, N. TITULO: Projeto de Banco de Dados AUTOR: Heuser, Carlos Notem que os dados do último livro foram retirados do books2.xml
75 RESUMO
76 RESUMO
77 RESUMO
Transformação de documentos XML
Transformação de documentos XML César Vittori [email protected] Outubro de 2000 Resumo XSLT: Transformações XSL. Transformação de documentos XML. XSLT Introdução XSLT: transformações XSL (inglês: XSL
XSLT Transforming XML
XSLT Transforming XML A manipulação de ficheiros XML implica transformar o código fonte do documento XML em qualquer outra coisa (por exemplo em HTML ou pdf) de modo a permitir apresentar a informação
Linguagens e Programação XPATH / XSLT. Paulo Proença
Linguagens e Programação XPATH / XSLT XSL XSL - Extensible Stylesheet Language Linguagem para transformação e formatação de um documento XML XSL deu origem a 3 normas: XPath que define um modo de navegação
Notas sobre XSLT. O modo correcto para declarar um documento xsl é:
Notas sobre XSLT XSLT é a abreviatura de extensible Stylesheet Language Tansformations. É uma linguagem para transformação de documentos xml. Permite transformar um documento xml noutro documento xml,
XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.
XSL - extemsible Stylesheet Language Prof. Antonio Almeida de Barros Jr. Agenda Conceitos XSLT - XSL Transformations Iteração e Classificação Processamento Condicional Copiando Nodos Variáveis Estude de
CONTEÚDO PROGRAMÁTICO
CONTEÚDO PROGRAMÁTICO XML e XSLT Completo Carga horária: 40 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO Ementa do curso
DOM (Document Object Model)
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
Introdução XML. Vanessa Braganholo
Introdução XML Vanessa Braganholo {[email protected]} Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo O que é XML? } XML = extensible Markup
XML: uma introdução prática X100. Helder da Rocha ([email protected])
XML: uma introdução prática X100 Helder da Rocha ([email protected]) Atualizado em março de 2007 1 Fundamentos de transformação A transformação XSLT é realizada sobre a árvore de um documento-fonte
TUTORIAL: LINGUAGENS XSL E XSLT
TUTORIAL: LINGUAGENS XSL E XSLT Versão 1.0 1/29 Apresentação Este tutorial foi desenvolvido com a finalidade de orientar as Casas Legislativas, que utilizam o SAPL na elaboração de documentos e/ou proposições
MAPEAMENTO DE CONSULTAS SQL ENTRE SISTEMAS GERENCIADORES DE BANCOS DE DADOS UTILIZANDO TECNOLOGIA XSLT
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL ENTRE SISTEMAS GERENCIADORES
XPath e XSLT. Ferramentas para Internet Marx Gomes Van der Linden. ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida )
XPath e XSLT Ferramentas para Internet Marx Gomes Van der Linden ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida ) XSL XSL Extensible Stylesheet Language Uma família de linguagens
MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES
Guia de Bolso HTML e XHTML
Guia de Bolso HTML e XHTML Este guia de bolso oferece uma listagem concisa, porém abrangente, dos elementos e atributos especificados nas Recomendações HTML 4.01 e XHTML 1.0. O texto utiliza a abreviação
http://rogerioaraujo.wordpress.com Série Rações Semanais Xpath e XSLT Rogério Araújo
http://rogerioaraujo.wordpress.com Série Rações Semanais Xpath e XSLT Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais Xpath e XSLT Rogério Araújo Questões A persistência é o menor
XML - Extensible Markup Language
Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso
TUTORIAL. Trabalhando com a base de dados no QGIS: Operações com Texto QGIS.
TUTORIAL Trabalhando com a base de dados no QGIS: Operações com Texto QGIS www.processamentodigital.com.br O Processamento Digital é um Canal de Conteúdo GEO oferecido pela HEX Tecnologias Geoespaciais
5a. Aula - XML 2013.2
5a. Aula -XML 2013.2 Introdução Criando Documentos XML Validando Documentos XML DTD ( Documents Type Definition) XML Schema ConsultandoXML com Xpath com XQuery Modularizando XML Namespaces Entities TransformandoXML
TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML
INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML 1 INTRODUÇÃO TECNOLOGIA WEB Começaremos desvendando o poder do desenvolvimento de aplicações baseadas na Web com a XHTML (Extensible HyperText Markup
HTML: INTRODUÇÃO TAGS BÁSICAS
HTML: INTRODUÇÃO TAGS BÁSICAS CURSO TÉCNICO DE INFORMÁTICA MODALIDADE SUBSEQÜENTE DESENVOLVIMENTO WEB I PROF. ALEXANDRO DOS SANTOS SILVA 1 1 SUMÁRIO Definição Editores HTML Estrutura básica de um documento
GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.
GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos
Introdução à linguagem HTML. Volnys Borges Bernal
1 Introdução à linguagem HTML Volnys Borges Bernal 2013-2015 Volnys Bernal 2 Introdução à linguagem HTML Sumário Visão geral Primeira página Principais tags Principais atributos Formulários 2011-2015 Volnys
INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO
INTRODUÇÃO AO DESENVOLVIMENTO WEB PROFª. M.Sc. JULIANA H Q BENACCHIO CSS - Cascading Style Sheets Folhas de estilo em cascata Para cada estilo deve ser definido uma regra CSS Cada regra CSS deve utilizar
Folhas de estilo. Jomi Fred Hübner [email protected]. (XSL e XPath) FURB / DSC
Folhas de estilo (XSL e XPath) Jomi Fred Hübner [email protected] FURB / DSC Fevereiro, 2004 XML Stylesheet Language (XSL) XSL é uma linguagem para descrever folhas de estilo para documentos XML. Transformer
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
Capítulo 9: XML 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 documentos XML: XSLT Mapeamento entre documentos
FEUP Faculdade de Engenharia da Universidade do Porto XSL. Porto, Maio de 2002. Gabriel David [email protected]. FEUP, Maio 2002 XML/XSL
1 FEUP Faculdade de Engenharia da Universidade do Porto XSL Porto, Maio de 2002 Gabriel David [email protected] Estilo vs Conteúdo 2 Reutilização de fragmentos de dados: o mesmo conteúdo pode ter um aspecto
Informática I. Aula 3. Aula 3-03/09/2007 1
Informática I Aula 3 http://www.ic.uff.br/~bianca/informatica1/ Aula 3-03/09/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e
Criação de sumário no InDesign CS3
Criação de sumário no InDesign CS3 ESCOLA DE COMUNICAÇÃO UFRJ DISCIPLINA: PRODUÇÃO DE LIVRO OU OUTRO IMPRESSO PROF. PAULO CÉSAR CASTRO 1. Sobre os sumários Um sumário pode listar o conteúdo de um livro,
Comentários: Desenvolvimento de Sistemas Rogério Araújo
Comentários: Desenvolvimento de Sistemas Rogério Araújo [email protected] 1 Técnico de informática no Ministério Público Federal Professor da Equipe Itnerante Desenvolvimento de Sistemas Certificações
Programação para Internet I Aulas 10 e 11
Programação para Internet I Aulas 10 e 11 Fernando F. Costa [email protected] XML Definição e origem extensible Markup Language (XML) é linguagem de marcação de dados que provê um formato para descrever
Classificação Externa: Intercalação de Partições Classificadas
Classificação Externa: Intercalação de Partições Classificadas Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Relembrando: Modelo da Classificação Externa 2 Aula Passada: Etapa
Criar ou excluir um relatório de tabela dinâmica ou de gráfico
Página 1 de 11 Excel > Analisando dados > Relatórios da Tabela Dinâmica > Fundamentos da Tabela Dinâmica Criar ou excluir um relatório de tabela dinâmica ou de gráfico dinâmico Mostrar tudo Para analisar
JavaScript (Elementos de Programação e Programação Básica)
Linguagem de Programação para Web JavaScript (Elementos de Programação e Programação Básica) Prof. Mauro Lopes 1 Objetivos Iniciaremos aqui o nosso estudo sobre a Linguagem de Programação JavaScript. Apresentaremos
CSS. Cascading Style Sheets Style Sheets
CSS Cascading Style Sheets Style Sheets Agenda Histórico Definição Limitações do CSS-1 CSS2 - Características Por que usar CSS? Vantagens Sintaxe Básica Como inserir uma folha de Estilo Indentificando
XML - DTD - XSL Exemplos de Exercícios TWEB II
XML - DTD - XSL Exemplos de Exercícios TWEB II Exemplo 1 Considere o seguinte resultado em uma página do seu browser: LIVROS Título Autor Gênero Preço Java 6.0 Ricardo Assunção Técnico 75,50 VB.Net José
#Fundamentos de uma página web
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS SÃO GONÇALO DO AMARANTE PROGRAMAÇÃO WEB #Fundamentos de uma página web Eliezio Soares [email protected] Aula de
GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY. Prof. Angelo Augusto Frozza
GERÊNCIA DE DADOS SEMI ESTRUTURADOS - XQUERY Prof. Angelo Augusto Frozza XQUERY (XML QUERY LANGUAGE) XQuery é para XML o que o SQL é para Banco de Dados. XQUERY (XML QUERY LANGUAGE) XQuery é uma linguagem
XML (extensible Markup Language)
Sumário 1. Introdução a Aplicações Não-Convencionais 2. Revisão de Modelagem Conceitual 3. BD Orientado a Objetos (BDOO) 4. BD Objeto-Relacional (BDOR) 5. BD Temporal (BDT) 6. BD Geográfico (BDG) 7. BD
Introdução a XML X100
Introdução a XML X100 Helder da Rocha ([email protected]) Atualizado em setembro de 2001 1 O que é XML? extensible Markup Language: padrão W3C Uma maneira de representar informação não é uma linguagem
Estrutura Lógica DTD
Estrutura Lógica DTD Carina Dorneles [email protected] http://www.inf.ufrgs.br/ dorneles DTD Introdução DTD - Document Type Definition Conjunto de regras que definem a estrutura do documento Hierarquia
Programação para web HTML: Formulários
Programação para web HTML: Formulários Professor: Harlley Lima E-mail: [email protected] Departamento de Computação Centro Federal de Educação Tecnológica de Minas Gerais Belo Horizonte, 9 de março
Classificação Externa: Intercalação de Partições Classificadas
Classificação Externa: Intercalação de Partições Classificadas Vanessa Braganholo Baseado no Material de: Inhaúma Neves Ferraz (IC/UFF) Relembrando: Modelo da Classificação Externa 2 Aula Passada: Etapa
Formulários são áreas onde se inserem campos que permitem uma troca de informações maior entre usuários e desenvolvedores de sites HTML Até o momento,
HTML Formulários são áreas onde se inserem campos que permitem uma troca de informações maior entre usuários e desenvolvedores de sites HTML Até o momento, HTML mostrou-se uma linguagem bastante adequada
O que faz um servidor/navegador web? 14/03/2016 Rômulo da Silva Lima Slid e 2
HTML O que faz um servidor/navegador web? e 2 O que é? HyperText Markup Language Utilizada para produzir páginas WEB Documentos escritos na linguagem HTML podem ser traduzidos por browser O HTML utiliza
2.8 Inserindo Objetos. Campos
2.8 Inserindo Objetos Vamos relacionar todos os comandos necessários para inserir novos elementos no texto, incluindo seção, notas de rodapé, caracteres especiais, fotos, objetos, gráficos, tabelas. Na
O usuário pode restringir dados a um determinado tipo, como números inteiros, números decimais ou texto, e definir limites para as entradas válidas.
, %&!', A Validação de Dados permite que você determine condições para restringir os dados a serem digitados numa ou mais células. Dessa forma, tornando sempre válidas as informações numa planilha. O usuário
Informática. LibreOffice Impress. Professor Márcio Hunecke.
Informática LibreOffice Impress Professor Márcio Hunecke Informática Aula XX LIBREOFFICE IMPRESS Modos de Exibição Normal Alterna para a exibição normal, na qual é possível criar e editar slides. Estrutura
1º No módulo de Gestão Contábil é possível acessar o relatório através do menu Relatórios Diário.
Relatório Diário Produto : TOTVS Gestão Contábil 12.1.1 Processo : Relatórios Subprocesso : Diário Data publicação da : 05/02/2014 Migração do relatório Diário para.net com base no relatório já existente
Simulação de Caixa Automático
Programação Funcional UFOP DECOM 2014.1 Trabalho 1 Simulação de Caixa Automático Sumário Resumo Com esta atividade pretende-se explorar a construção de programas interativos usando ações de entrada e saída
Recursos Complementares (Tabelas e Formulários)
Linguagem de Programação para Web Recursos Complementares (Tabelas e Formulários) Prof. Mauro Lopes 1-31 30 Objetivo Nesta aula iremos trabalhar o conceito de tabelas e todas as tags associadas ao seu
Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho. Instituto de Informática Universidade Federal de Goiás www.inf.ufg.
Extensible Markup Language (XML) Júnio César de Lima Cedric Luiz de Carvalho Technical Report - RT-INF_002-05 - Relatório Técnico June - 2005 - Junho The contents of this document are the sole responsibility
Universidade Gama Filho MAGSON MARTINS MAGALHAES. Modernização do Judiciário: Intranet com padrões abertos
Universidade Gama Filho MAGSON MARTINS MAGALHAES Modernização do Judiciário: Intranet com padrões abertos Brasília 2011 MAGSON MARTINS MAGALHAES Modernização do Judiciário: Intranet com padrões abertos
Introdução ao XML. Extensible Markup Language
Introdução ao XML Extensible Markup Language Tutorial - XML XML: Extensible Markup Language Uma linguagem de marcas na estruturação, no armazenamento e no transporte de dados na Web Gere os dados numa
Introdução a Programação Web com PHP
AULA: Introdução a Programação Web com PHP Programação para Internet http://docentes.ifrn.edu.br/albalopes [email protected] Breve histórico A primeira versão surgiu em meados de 1995, escrita por
COBOL DB2- CICS. Prof. Maromo [Aula 2]
COBOL DB2- CICS Prof. Maromo [Aula 2] Capítulo 1 Programa Fonte, Compilação e Link Edição Programa Fonte O Programa fonte é o arquivo aonde se escreve os comandos COBOL. Por padrão, deve-se ter a extensão
GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio
Rui Carneiro, Rui Pereira, Tiago Orfão
Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt
Organização de programas em Python. Vanessa Braganholo
Organização de programas em Python Vanessa Braganholo [email protected] Vamos programar em Python! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem
Introdução ao IDE Netbeans (Programação Java)
Universidade Federal do ABC Disciplina: Processamento da Informação (BC-05045) Assunto: Introdução ao IDE Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas
COM222 DESENVOLVIMENTO DE SISTEMAS WEB. Aula 01: HTML e CSS
COM222 DESENVOLVIMENTO DE SISTEMAS WEB Aula 01: HTML e CSS 2 Conteúdo Noções introdutórias HTML CSS HTML: HyperText Markup Language 3 Linguagem usada para construir páginas Web Função principal Estruturar
Webdesign HTML. Introdução a HTML e as principais tags da linguagem. Thiago Miranda dos Santos Souza
Webdesign HTML Introdução a HTML e as principais tags da linguagem Conteúdos Os materiais de aula, apostilas e outras informações estarão disponíveis em: www.thiagomiranda.net Objetivos Apresentar a HTML
