Programação para Internet I Aulas 10 e 11



Documentos relacionados
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

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

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

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

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

5a. Aula - XML

Linguagem XML (extensible Markup Language)

Transformação de documentos XML

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

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

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

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

XML - Extensible Markup Language

Web Design Aula 11: XHTML

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

Roteiro de Auxílio para as Atividades Práticas de Sistemas de Informação

Programação para Internet I

XML Básico. Murillo Vasconcelos Henriques B. Castro. 17 de maio de 2011

XML Schema. Um XML schema descreve a estrutura de um documento XML.

Estrutura Lógica DTD

Manual para utilização da funcionalidade de importar arquivo XML para prestação de contas

Conceitos de HTML 5 Aula 1

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

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Estrutura Básica do Documento HTML

XML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML

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

Linguagem XML. Linguagem XML

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

Desenvolvimento em Ambiente Web. HTML - Introdução

A Linguagem XML (& Markup Languages)

Guia de Consulta Rápida XML. Otávio C. Décio. Novatec Editora

INTRODUÇÃO A PROGRAMAÇÃO PARA WEB

Programação para Internet I 5. XHTML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Guia de Bolso HTML e XHTML

Definição da Sintaxe Abstrata de Potigol em XML

CSS Organizado e simples. Cercomp Equipe Web Nícolas Lazarte -

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

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

Bem-vindo ao XML. Apostila de XML

A diferença entre um site que implementa CSS e outro que não o usa é gigantesca e notável.

XHTML 1.0 DTDs e Validação

ACCESS ) Introdução. 2) Abrindo um banco de dados. 3) A Janela do Access-2007

XTHML. 2. A finalidade do XHTML é substituir o HTML; 3. Vantagens de se usar XHTML (Compatibilidade com futuras aplicações);

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

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL Aula 06: Introdução Linguagem HTML

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

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

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

Introdução a Programação Web com PHP

Informática Parte 22 Prof. Márcio Hunecke

INFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir:

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

<NOME>ABIAS FRANCISCO DE SOUZA</NOME> <CNPJCPF> </CNPJCPF> <NMATRICULA>101264</NMATRICULA>

Tecnologias Internet

Arquivo de retorno Boleto Bancário Formato XML

Escola de Ciência da Informação ECI/UFMG. Eduardo Ribeiro Felipe

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Programação para Internet I. Fernando F. Costa

Tecnologias de Desenvolvimento de Páginas web

Simbiose entre Tecnologias: XML e Java

Suporte Nativo a XML no Oracle 10g

Documentos XML 1/20. Exemplo de documento XML:

Revisando os conteúdos. Introdução ao CSS

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

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML

Introdução XML. Vanessa Braganholo

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

CEEP-CENTRO ESTADUAL DE EDUCAÇÃO PROFISSIONAL PEDRO BOARETTO NETO INTERNET E PROGRAMAÇÃO WEB INICIO DE HTML

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

Conteúdo programático

Aula 11: Desvios e Laços

Sumário INTRODUÇÃO AO DESENVOLVIMENTO COM VISUAL STUDIO. Oportunidades de desenvolvimento com Visual Basic 2013 e a Windows Store 3

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3

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

Transcrição:

Programação para Internet I Aulas 10 e 11 Fernando F. Costa nando@fimes.edu.br

XML Definição e origem extensible Markup Language (XML) é linguagem de marcação de dados que provê um formato para descrever dados estruturados. Foi originalmente desenvolvida por um grupo de trabalho conhecido como SGML Editorial Review Board formado sob os auspícios do W3C (World Wide Web Consortium). Surgiu em Fevereiro de 1998 sob a forma de recomendação do W3C, com a intenção de se tornar um standard para a publicação, armazenamento e transferência de documentos por meios eletrônicos.

XML vs HTML XML, assim como o HTML deriva do SGML (Standard Generalized Markup Language). Por essa razão, sua sintaxe é semelhante a do HTML. No entanto, o XML não deve ser considerado um sucessor do HTML, mas sim um complemento ao HTML. A grande diferença entre HTML e XML é que o HTML descreve a aparência e as ações em uma página na rede enquanto o XML não descreve nem aparência, nem ações, mas sim o que cada trecho de dados é ou representa!

XML Os documentos XML são arquivos texto. Isto facilita que programadores ou desenvolvedores "debuguem" mais facilmente as aplicações, de forma que um simples editor de textos pode ser usado para corrigir um erro em um arquivo XML. XML possuem regras de formatação muito mais rígidas. Suas especificações oficiais determinam que as aplicações não podem tentar adivinhar o que está errado em um arquivo (no HTML isso acontece), mas sim devem parar de interpretá-lo e reportar o erro.

XML A linguagem XML descreve a estrutura e o conteúdo dos documentos, não a sua apresentação visual. As formatações podem, no entanto, ser adicionadas aos documentos através de folhas de estilo, podendo desta forma serem colocados na Web documentos substancialmente enriquecidos em termos de formatação.

XML - Vantagens O XML permite ao desenvolvedor criar suas próprias estruturas rotuladas para armazenar informações. O analisador XML (parser) é bem definido e extensamente-implementado, tornando possível recobrar informação de documentos XML em uma variedade de ambientes. O XML é construído em uma fundação de Unicode, tornando mais fácil a criação de documentos internacionalizados.

XML - Vantagens Os formatos XML são baseados em texto, o que os tornam mais legíveis, mais fáceis de documentar, e às vezes mais fáceis de depurar. Ferramentas para o processamento XML estão disponíveis em plataformas diferentes. Isso faz com que seja mais simples usar XML em vez de formatos binários para trocar fluxos complexos de informação. Os documentos XML já podem usar muito da infraestrutura construída para HTML, inclusive o protocolo HTTP e alguns browsers.

XML - Desvantagens Documentos XML tendem a ser maiores que os formatos binários que eles substituem. Eles consomem maior largura de banda da rede e espaço de armazenamento, ou exigem maior tempo de processamento para compressão. Os parsers XML podem ser mais lentos que os parsers de formatos binário altamente aperfeiçoados e podem requerer mais memória.

XML - Características As tags são usadas sempre em pares; Todo documento XML possui um elemento raiz. Os demais elementos devem estar aninhados dentro de um elemento raiz; Os elementos podem possuir atributos aos pares nome/valor e o atributo deve sempre vir entre aspas; As tags usadas em XML são case sensitive;

XML Os documento XML são compostos de marcas e conteúdos. Existem seis tipos de marcações que podem ocorrer em um documento XML: Elementos Referências a entidades Comentários Instruções de processamento Seções marcadas Declarações de tipos de documento.

XML - Elementos Elementos são a mais comum forma de marcação. Delimitados pelos sinais de menor e maior, a maioria dos elementos identificam a natureza do conteúdo que envolvem. Alguns elementos podem ser vazios. Se um elemento não é vazio, ele inicia com uma marca de início, <element>, e termina com uma marca de término, </element>. Atributos são pares de valores nomeados que ocorrem dentro das marcas de início após o nome do elemento. Em XML, todos os valores de atributos devem estar entre aspas. Ex: <arroz>agulhinha</arroz>

XML Referências a Entidades Entidades em XML são usadas para representar caracteres especiais. Cada entidade deve ter um nome único. Para referenciar uma entidade, inicia-se com E comercial (&), escreve-se o nome da entidade e encerrase com ponto e vírgula(;). Exemplo: Para fazer uso da entidade < deve-se digitar: <

XML - Comentários Comentários iniciam com <!-- e terminam com -->. Os comentários podem conter qualquer dado, exceto a literal "--". Comentários devem ser colocados entre marcas no documento XML e não dentro de marcas. Comentários não fazem parte de um conteúdo textual de um documento XML. Nunca devem ser a primeira linha de um documento xml. Ex: <!-- Isto é um coment@rio vál1d0... -->

XML Instruções de Processamento As instruções de processamento (PIs) permitem codificar nos documentos instruções para as aplicações, não fazem parte dos dados mas devem ser passadas à aplicação. Uma instrução deste tipo começa pela sequência <? e terminam com?>. Exemplo: <?xml version= 1.0?>

XML Seções Marcadas Seções marcadas servem para permitir que textos sejam colocados em documentos XML sem que sejam interpretados. Com isso, entre o início da seção, <![CDATA[, e o fim da seção, ]]>, todos os dados de caracteres são passados diretamente para a aplicação, sem interpretação. Elementos, referências a entidades, comentários e instruções de processamento são todos irreconhecíveis e os caracteres que os compõem são passados literalmente para a aplicação. A única cadeia de caracteres que não pode ocorrer em uma seção CDATA é ]]>. Ex: <![CDATA[ <exemplo v@lido de CDATA s... ]]>

XML Declarações de Tipos de Documentos (DTD s) DTD s são expressões que restringem sequências e/ou aninhamentos de marcas. Além disso determinam valores de atributos e seus tipos padrões, formato de alguns dados, entidades disponíveis, etc. São necessárias para que documentos XML tenha algum sentido ao serem analisados. As DTDs especificam a estrutura de um documento, e são definidas através da gramática EBNF (Extended Backus-Naur Form), e não na sintaxe XML.

DTD - Parsers O parser tem função de validar documentos XML. Verifica se a estrutura do documento está de acordo com as regras de um DTD. Se o documento não estiver de acordo com a DTD, o parser irá acusar um erro. Um parser que não faz validação apenas verifica se o documento é bem-formado. Transformam o documento XML em uma estrutura de árvore para que as aplicações possam acessar seu conteúdo.

DTD Doctype As DTD s podem estar contida no documento (subconjunto interno) ou existir externamente como um arquivo separado (subconjunto externo). São introduzidas em um documento XML através da declaração DOCTYPE. Uma declaração de tipo de documento é colocada em um documento XML, começando por <!DOCTYPE e terminando por >. Ex:

DTD Doctype Quando o DTD é um arquivo externo, ele deve possui a extensão.dtd e são especificados pela palavrachave SYSTEM ou pela palavra-chave PUBLIC.

DTD Doctype Uma declaração de tipo de documento pode, ainda, conter especificações de subconjuntos internos e externos ao mesmo tempo. Um subconjunto interno é visível somente dentro do documento onde está definido. As DTDs que são usadas por muitos documentos devem, portanto, ser colocadas no subconjunto externo.

DTD Element Servem para declarar elementos em uma DTD A palavra-chave PCDATA especifica que o elemento deve conter dados e caracteres sintaticamente analisáveis. Esses dados serão analisados pelo parser, portanto, qualquer texto de marcação (<, >, &, e ) será tratado como marcação.

DTD Exemplo

DTD Sequência, Escolha e Frequência Sequência: Determinam a ordem que os elementos devem ocorrer. Ex: <! ELEMENT classroom (teacher, student)> Escolha: São especificadas pela barra vertical. Ex: <! ELEMENT material (book tutorial)> Frequência: Define o número de ocorrências de um elemento. É especificado pelos caracteres: + (sinal de mais): Uma ou mais vezes * (asterisco): Zero ou mais vezes? (ponto de interrogação): Zero ou uma vez.

DTD Exemplo 01 <!ELEMENT class (number, ( instructor assistant+ ), ( credit nocredit ) )>

DTD Exemplo 02 <!ELEMENT donutbox ( jelly?, lemon*, ( (creme sugar)+ glazed ) )>

DTD ATTLIST Especifica uma lista de atributos para um elemento. Ex: <!ELEMENT x EMPTY> <!ATTLIST x y CDATA #REQUIRED> O exemplo acima declara como empty o elemento x. A declaração de atributo especifica que y é um atributo de x. A palavra-chave CDATA indica que y pode conter qualquer texto de caracteres, exceto os caracteres <, >, &, ' e.

DTD ATTLIST Algumas palavras chave trazem informações sobre os atributos. Ex: #IMPLIED: especifica que não é requerido um valor para o atributo. Ex: <!ATTLIST temperature scale CDATA #IMPLIED> #REQUIRED: especifica que o atributo deve aparecer no elemento. <!ATTLIST temperature scale CDATA #REQUIRED>

DTD ATTLIST (continuação) #FIXED: especifica que o valor do atributo é constante e não pode ser diferente no documento XML. Um valor para o atributo é requerido. <!ATTLIST temperature scale CDATA #FIXED C > string especifica um valor padrão para o atributo, se não for definido um. <!ATTLIST temperature scale (C F) C >

DTD Tipos de Atributos Os atributos são classificados como strings (CDATA), ou como tokenizado ou como enumerados. String: não impõe restrições (exceto os caracteres especiais XML). Atributos tokenizados Impõe restrições sobre os valores dos atributos. Existem 4 diferentes tipos de atributos com tokens: ID: identifica de forma única um elemento; IDREF: apontam para elementos com um atributo ID; (continua...)

(continuação...) DTD Tipos de Atributos ENTITY: Entidades são utilizadas para associar nomes com outros fragmentos do documento. Podem ser utilizadas entidades internas, ou externas. A utilização é na forma de &nome;. Ex: <!ENTITY unifimes Centro Universitário de Mineiros > assim: <elemento>&unifimes</elemento> resulta em: <elemento>centro Universitário de Mineiros</elemento> NMTOKEN: Tipo de atributo mais restritivo, cujo valor consiste em caracteres letras, dígitos, pontos, sublinhados, hífens e dois-pontos. Ex: <!ATTLIST clientes fone NMTOKEN #REQUIRED> <cliente phone= 555-111-2222 > (válido) <cliente phone= 555 111 2222 > (inválido)

Exemplo

Exercícios 1. Verifique se o documento XML abaixo contém erros de sintaxe:

Exercícios 2. Crie uma DTD para o documento do exercicio1: 3. Com base na DTD que se segue, crie um documento XML que atenda às suas regras. Utilize subconjunto interno para a DTD, fazendo sua validação:

XML - XSL A apresentação de um documento XML é dependente de uma folha de estilos. A linguagem de folha de estilos padrão para os documentos XML é a Extensible Style Language (XSL). Outras linguagens de folhas de estilos, como Cascading Style Sheets (CSS), também são suportadas. O XSL possui a função de analisar o documento XML e transformá-lo num documento html apresentável ao usuário final. Por isso, costuma-se dizer que: XML + XSL = HTML

XML XSL XSL consiste de 3 partes: XSLT => linguagem para transformar documentos XML XPath => linguagem para definir partes de um documento XML XSL-FO => é uma linguagem para formatar documentos XML

XML - XSLT XSLT é a parte mais importante dos padrões XSL. Ele é a parte do XSL usada para transformar um documento XML em outro documento XML, ou um outro tipo de documento que é reconhecido por um browser, como HTML e XHTML. Normalmente XSLT faz isso transformando cada elemento XML em um elemento (X)HTML. XSLT também pode adicionar novos elementos no arquivo de saída, ou remover elementos. Ele pode rearranjar e ordenar elementos, testar e tomar decisões sobre quais elementos mostrar, e muito mais. Tornou-se uma Recomendação W3C em 16 de Novembro de 1999.

XML Criando um arquivo XSL XSL também é um documento XML, logo começa com: <?xml version="1.0" encoding="iso-8859-1"?> O elemento raiz que declara o documento a ser uma folha de estilos XSL é <xsl:stylesheet> ou <xsl:transform>. Ex: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> Uma folha de estilos XSL consiste de um conjunto de regras chamados moldes (templates). Para definir estas regras, usamos o elemento <xsl:template>. A tag <xsl:template> define o início e o fim de um molde. O atributo match="/" associa (combina) o molde com a raiz (/) do documento XML de origem. Ex: <xsl:template match="/">

XML Criando um arquivo XSL O elemento <xsl:for-each> permite que sejam feitas iterações (loops) em XSLT. Com isso é possível selecionar todo elemento XML de um conjunto de nós específico. Ele funciona como a navegação num sistema de arquivos onde uma barra à frente (/) seleciona subdiretórios. Ex: <xsl:for-each select="catalog/cd"> Para extrair o valor de um nó selecionado e adicioná-lo no resultado da transformação, utiliza-se o elemento <xsl:value-of>. Ele funciona como a navegação num sistema de arquivos onde uma barra à frente (/) seleciona subdiretórios. Ex: <xsl:value-of select="catalog/cd/title"/>

XML Criando um arquivo XSL <xsl:for-each> - Filtragem de conteúdo Nós podemos filtrar a saída de um arquivo XML adicionando um critério ao atributo select de um elemento <xsl:for-each>. Ex: <xsl:for-each select="catalog/cd[artist='bob Dylan']"> Operadores de filtragem válidos são: = (igual)!= (diferente) < (menor que) > (maior que)

XML Criando um arquivo XSL <xsl:sort> Usado para ordenar o resultado retornado de um arquivo xml. Para gerar um arquivo XML como um arquivo XHTML, e ordená-lo ao mesmo tempo, simplesmente adicione um elemento sort dentro de um elemento for-each no seu arquivo XSL. Ex: <xsl:for-each select="catalog/cd"> <xsl:sort select="artist"/> Onde, o atributo select indica qual elemento XML ordenar.

XML Criando um arquivo XSL <xsl:if> Coloca um teste condicional no arquivo xsl. Ex: <xsl:if test="price > 10"> alguma saida... </xsl:if> Onde, o valor do atributo obrigatório test será a expressão a ser avaliada.

XML Criando um arquivo XSL <xsl:choose> É usado em conjunto com <xsl:when> e <xsl:otherwise> para expressar múltiplos testes condicionais. Ex: <xsl:choose> <xsl:when test="price > 10">...algum código... </xsl:when> <xsl:otherwise>...algum outro código... </xsl:otherwise> </xsl:choose>

XML Criado o arquivo xsl, para que ele possa formatar um arquivo xml, deve-se fazer a ligação entre o arquivo xml e o arquivo xsl. Para isto, basta inserir no arquivo xml a seguinte linha: <?xml-stylesheet type="text/xsl" href="arquivo.xsl"?>

XML XSL: Exemplo Prático Salve este arquivo como: catalogo.xml <?xml version="1.0" encoding="iso-8859-1"?> <?xml-stylesheet type="text/xsl" href="catalogo.xsl"?> <catalog> <cd> <title>empire Burlesque</title> <artist>bob Dylan</artist> <country>usa</country> <company>columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>hide your heart</title> <artist>bonnie Tyler</artist> <country>uk</country> <company>cbs Records</company> <price>9.90</price> <year>1988</year> </cd> <cd> <title>greatest Hits</title> <artist>dolly Parton</artist> <country>usa</country> <company>rca</company> <price>9.90</price> <year>1982</year> </cd> <cd> <title>still got the blues</title> <artist>gary Moore</artist> <country>uk</country> <company>virgin records</company> <price>10.20</price> <year>1990</year> </cd> <cd> <title>eros</title> <artist>eros Ramazzotti</artist> <country>eu</country> <company>bmg</company> <price>9.90</price> <year>1997</year> </cd> </catalog>

XSL Exemplo Prático Salve este arquivo como: catalogo.xsl <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html> <body> <h2>my CD Collection</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>title</th> <th>artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <xsl:choose> <xsl:when test="price > 10"> <td bgcolor="#ff00ff"> <xsl:value-of select="artist"/> </td> </xsl:when> <xsl:when test="price > 9 and price <= 10"> <td bgcolor="#cccccc"> <xsl:value-of select="artist"/> </td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

Exercícios 1) O que é XML? 2) O XML surgiu para substituir o HTML? 3) Qual a diferença entre o HTML e o XML? 4) Documentos XML são compostos de quê? Quais os tipos de marcas existentes? 5) Com base no exemplo boletim.xml (próximo slide), crie um arquivo xsl capaz de exibir o boletim semelhante a figura da tabela abaixo.

XML Exercícios <?xml version="1.0"?> <boletim> <aluno> <nome>janice</nome> <portugues>7</portugues> <matematica>8</matematica> <ciencias>6</ciencias> </aluno> <aluno> <nome>jefferson</nome> <portugues>5</portugues> <matematica>8</matematica> <ciencias>7</ciencias> </aluno> </boletim>

Boa Noite!