XML XML. Motivação. Mário Meireles Teixeira DEINF-UFMA

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

Módulo III Introdução a XML

Estrutura Lógica DTD

DTD. Vanessa Braganholo.

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

XML. Prof. Júlio Machado

5a. Aula - 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

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

Guia de Bolso HTML e XHTML

Programação para Internet I Aulas 10 e 11

Linguagem XML. Linguagem XML

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

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

Sumário. XML (extensible Markup Language)

Definição da Sintaxe Abstrata de Potigol em XML

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

- HTML : papel central na Web - Esquema de marcação para as páginas

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

Conceitos de HTML 5 Aula 1

L A C Laboratory for Advanced Collaboration

Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs

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

Noções de XML. Henrique Silva Direção-Geral do Território FCUL, 12 e 19 de Outubro de 2017

XML. Prof. Júlio Machado

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

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

Introdução XML. Vanessa Braganholo

Tópicos Especiais III XML (Extensible Markup Language)

XML (extensible Markup Language)

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

PROCESSAMENTO ESTRUTURADO DE DOCUMENTOS. Departamento de Documentação Curso de Arquivologia

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

XMLs E INTEGRAÇÃO COM BANCOS DE DADOS

Tarlis Portela Web Design HTML

Sintaxe XML. César Vittori Outubro de Resumo Introdução à sintaxe XML. Marcação tradicional x marcação de documentos

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

Roteiro 01. Professor: Prof. M.Sc. Odilon Corrêa da Silva. Curso: Engenharia de Computação. Disciplina: Programação para WEB

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

REDES DE COMUNICAÇÃO. 11º - ANO Professor: Rafael Henriques

5 Tecnologias estudadas

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

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

#Fundamentos de uma página web

A Linguagem XML (& Markup Languages)

Roteiro 01. Professor: Prof. M.Sc. Odilon Corrêa da Silva. Curso: Desenvolvimento de Sistemas. Disciplina: Programação para WEB I

Um esquema de nomes para localização de fontes de informação na Web, esse esquema chama-se URI.

Introdução à linguagem HTML. Volnys Borges Bernal

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

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:

Programação Web - HTML

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

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

PotiML: A Linguagem de Programação Abstrata de Potigol. PotiML: The Programming Language Abstract of Potigol

José Carlos Ramalho Alda Reis Lopes Pedro Rangel Henriques

Introdução à Tecnologia Web

Esquemas para Dados XML

Programação para Internet I

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML

Linguagens de Marcação e Folhas de Estilos

XML - Extensible Markup Language

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

Porque? Se eu fosse um extraterrestre grato... Valdeni

XML (extensible Markup Language)

Linguagem de Programação Visual. Estrutura Basica do HTML5 Prof. Gleison Batista de Sousa

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

Introdução a XML. Saulo Popov Zambiasi. 10/07/07 Saulo Popov Zambiasi GSIGM 1. DAS5316 Integração de Sistemas Corporativos. Prof. Ricardo J.

HTML: INTRODUÇÃO TAGS BÁSICAS

Informática Parte 22 Prof. Márcio Hunecke

Hiperlinks. Hiperlinks. Hiperlinks. Tag <a></a> Hiperlinks 07/05/2011

Banco de Dados. Gerenciamento de Dados e Informação Fernando Fonseca, Ana Carolina Salgado & Robson Fidalgo

ATIVIDADES PRÁTICAS SUPERVISIONADAS

XML extensible Markup Language. Prof. Fellipe Aleixo

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

Programação Web Aula 2 XHTML/CSS/XML

Dados na Web integrar irregular ausente não conhecida completamente evoluem Fernando Fonseca Ana Carolina Robson Fidalgo

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

XHTML 1.0 DTDs e Validação

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

Linguagem XML (extensible Markup Language)

INTERNET BÁSICA: EXTENSIBLE HYPERTEXT MARKUP LANGUAGE XHTML PARTE 2

Programação para Internet. Professor Pedro Ramires 1º Informática

Dados Semi-Estruturados e XML

Gosta de acompanhar os rumos das linguagens de programação? Então não fique de fora dessa! Descubra o que é o HTML 5!

Tecnologias Internet

HTML. HyperText Markup Language. Elaborado por Marco Soares

IFSC/Florianópolis - Prof. Herval Daminelli

Bases de dados semi-estruturadas, XML

Série Rações Semanais XML Rogério Araújo

XML e JAVA no Desenvolvimento de um Editor de Fórmulas do Cálculo de Predicados

Aula 11 Introdução ao Java Script

XML. Introdução Ferramentas para Internet Marx Gomes Van der Linden. ( Material baseado no original de Marcelo José Siqueira Coutinho de Almeida )

HTML 5, UM ESTUDO SOBRE SEUS NOVOS RECURSOS

XML (extensible Markup Language) por. Rafael Port da Rocha. (Notas de Aula)

HTML 5 TAGS BÁSICAS E ESTRUTURAIS. Prof. Rosemary Melo

Série Rações Semanais Namespaces e DOM/SAX Rogério Araújo

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO XHTML

Transcrição:

XML Mário Meireles Teixeira DEINF-UFMA XML Motivação

XML extensible Markup Language W3C: World Wide Web Consortium http://www.w3.org XML 1.0 W3C Recommendation, 10/Fev/1998 (inicial) W3C Recommendation, 04/Fev/2004, 3 a ed. W3C Recommendation, 16/Ago/2006, 4 a ed. XML 1.1 W3C Recommendation, 16/Ago/2006, 2 a ed. Site oficial: http://www.w3.org/xml HTML HyperText Markup Language Simples e flexível Simples? Conjunto limitado de marcações <TITLE>... </TITLE> <H1>... </H1> <A>... </A> <IMG SRC=... ALT=... > <HR> Flexível? Conteúdo representado juntamente com sua estrutura e forma de apresentação Difícil extrair o conteúdo de um documento Linguagem revolucionária para a época de sua criação (1994)

Limitações de HTML Não é possível estender o conjunto de marcas original: Permitir que autores ou comunidades criem seus próprios conjuntos de marcas, definidos para melhor caracterizarem os documentos de interesse Permitir associar significado a dados e campos do documento, viabilizando o processamento automático dos documentos Origens da HTML HTML foi definida com SGML [ISO 1986] Standard Generalized Markup Language (SGML) SGML permite definir linguagens específicas para um domínio Exemplo: documento SGML para um documento demo <!doctype demo [ <!element demo o o (p*)> <!element p - o (#pcdata)> ]> <p> The first paragraph. <p> The second paragraph.

SGML na Web Por que não usar SGML na Web? Maior poder de expressão e flexibilidade que HTML Autoria mais complexa que HTML Documentos exigem um processamento por demais elaborado para ser realizado sob demanda na Web Impasse: SGML - poderosa, porém cara... HTML - prática, porém limitada... Solução:...um passo atrás XML O Modelo de Markup O que um modelo que utiliza marcas específicas viabiliza? Nesse modelo marcas específicas são utilizadas para identificar dados ou trechos de documentos O modelo viabiliza a definição de linguagens como XML e suas descendentes com as seguintes características: abertas inteligíveis pelo ser humano capazes de manter independentes as representações das diversas dimensões de um documento

XML É uma linguagem de marcação (markup) apropriada à representação de dados, documentos e demais entidades cuja essência fundamenta-se na capacidade de agregar informações Exemplos de entidades: um programa de computador um relatório um script uma folha de estilo. Os termos hiperdocumento ou documento são usados para denominar genericamente tais entidades Fundamentos de XML XML é um formato universal que funciona como um denominador comum para a troca de dados na Web, separando dados de formato. Pontos fundamentais da XML: Extensibilidade Podem-se definir linguagens baseadas em XML, as quais podem ser estendidas, desde que se sigam as regras de validação Estrutura Facilmente digerida pelos parsers e legível pelos seres humanos, embora complexa Validade Além de requisitos de sintaxe rigorosos, um documento XML pode opcionalmente ser validado segundo sua estrutura e conteúdo (DTD e XML Schema)

Dimensões da informação em um documento XML Documentos apresentam pelo menos duas dimensões de informações: o conteúdo propriamente dito a estrutura organizacional Uma representação pode incluir dimensões referentes a informações sobre: apresentação do documento metadados estrutura de ligações sua semântica. XML Dimensões e Processamento XML Dimensões de estrutura e conteúdo Documentos bem formados Outras dimensões de um documento XML Apresentação: CSS, XSL Estrutura e Semântica: DTDs e XML Schemas Metadados e mais semântica: RDF, OWL Estrutura de hipertexto: XLink e XPointer Processamento de documentos XML Parsers, APIs, SAX, DOM...

XML Linguagem ou meta-linguagem? XML é uma linguagem: Estabelece regras gerais, as quais documentos em conformidade com XML devem respeitar XML é também uma meta-linguagem: Possui recursos para a definição de gramáticas que caracterizam linguagens para classes de documentos específicos, com conjunto de elementos, atributos e regras de composição bem determinados XML Estrutura do Documento

Elementos e Atributos A padronização W3C define um conjunto de regras estritas a serem seguidas ao escrever um documento XML well-formed XML Elementos <elemento> </elemento> Os nomes dos elementos são case sensitive. Os nomes devem começar com uma letra ou "_". Os caracteres seguintes podem incluir letras, números, hífens, pontos ou "_", mas não espaços. O caracter ":" também é válido, mas está reservado para composição de nomes com Namespaces. Elementos e Atributos Elementos Vazios <elemento /> Atributos São os valores associados a um elemento O valor deve estar entre aspas ou apóstrofos <elemento atributo= valor >texto</elemento>

Exemplo de documento XML <?xml version="1.0" encoding="iso-8859-1"?> <carta> <emissor> <pessoa>jomi Fred Hübner</pessoa> <endereço rua="antonio da Veiga, 140" /> </emissor> <destinatário tratamento="ilmo. Sr." > <pessoa>fulano</pessoa> </destinatário> <!-- Início do texto --> <texto>venho por meio desta... </texto> </carta> Estrutura Hierárquica

Sintaxe: documento bem formado Toda tag XML tem uma start-tag e uma end-tag <carta...>... </carta> ou <endereço... /> Todo atributo precisa estar contido em uma starttag, ter um nome único na tag e um valor definido entre aspas ou apóstrofos ( ou ) Todo documento tem um, e somente um, elemento raiz (root element) Instruções de Processamento (PI) São marcações específicas para alguns produtos ou ferramentas, p.ex., tradutores de XML para outros formatos, como PDF Em especial, há uma PI reservada que determina algumas propriedades do documento XML: versão do xml codificação dos caracteres <?xml version="1.0" encoding="iso-8859-1"?> formato de apresentação <?xml-stylesheet href="material-ie.xsl type="text/xsl" media = "explorer"?>

Conjuntos de Caracteres ASCII 1 byte, 7 bits --> 128 combinações ISO 8859-1 Latin-1 1 byte, 8 bits --> 256 combinações (ASCII + caracteres para a maioria das línguas da Europa Ocidental, inclusive Português) ISO 8859-(2...15) 1 byte, 8 bits --> 256 combinações (ASCII + caracteres para outros conjuntos de línguas) Unicode Conjunto default para XML 2 bytes --> 65.535 combinações Atualmente, pouco mais de 40.000 utilizadas 25.000 reservadas para futuras extensões Cerca de 20.000 usadas para os ideogramas Han (japonês, chinês, coreano)

Unicode 0-127 Latim Básico - ASCII, Inglês americano 126-255 Latin-1 - Português, Francês, Inglês, etc. 880-1023 Grego 9472-9599 Caracteres p/ desenho de caixas 19966-40959 Ideogramas HAN 57344-63743 Uso reservado a desenvolvedores de software UTF-8 Versão compacta do Unicode (utiliza apenas um byte para a maioria dos caracteres comuns) Caracteres Especiais Para inserir caracteres especiais em um documento XML, usa-se o & : - (Unicode Atenção ao ; final) - (Unicode hexa) - Caracteres reservados: & - & &apos; - > - > < - < " -

Caracteres Ignorados pelo Parser XML É possível inserir seqüências de caracteres em um documento XML cuja sintaxe será ignorada: <carta> <logo> <![CDATA[ <<Aqui a sintaxe é livre!>> ]]> </logo>... </carta> <![CDATA... ]]> CharacterData Aplicações: inserir texto ASCII não formatado, uma imagem de bitmap... Exemplos - XML Referências Bibliográficas: http://www.deinf.ufma.br/~mario/hmidia/exemplos/xml/bibref.xml Transparências: http://www.deinf.ufma.br/~mario/hmidia/exemplos/xml/slideso-xml.xml http://www.deinf.ufma.br/~mario/hmidia/exemplos/xml/slidecom-css.xml http://www.deinf.ufma.br/~mario/hmidia/exemplos/xml/slide. css Podem-se usar folhas de estilo (CSS) para a apresentação de documentos XML, porém recomenda-se usar XSL (aguarde...)

Exercício 1 Defina um documento XML que permita responder às seguintes perguntas sobre um professor: Quais as suas disciplinas? Qual o horário das aulas? Quais os softwares necessários para cada disciplina? Quais as reservas de laboratório? Escreva um documento XML que represente as reservas dos laboratórios. Cada reserva deve ter: Identificação do laboratório Data e hora Como saber se um laboratório tem os softwares necessários para uma disciplina? XML Validação de Documentos

DTD Document Type Definition Um documento XML que segue as regras gerais de formação é dito bem-formado Além disso, um documento XML pode ter sua estrutura e conteúdo validados segundo uma gramática, definida por um DTD documento válido Um DTD permite definir: Os elementos de um documento Os atributos dos elementos O número de ocorrências dos elementos Sub-elementos de um elemento... Outra forma de definição: XML Schemas Definição de Elementos <!ELEMENT carta ANY> <!ELEMENT emissor (#PCDATA)> <!ELEMENT destinatário EMPTY> ANY: o elemento pode conter qualquer outro sub-elemento ou texto #PCDATA: sub-elemento texto (Parsed Character Data) EMPTY: o elemento não pode conter qualquer outro subelemento ou texto

Definição de Sub-elementos <!ELEMENT carta (emissor?,destinatário*,texto) > <!ELEMENT xpto (a,(b c)*,d?) > Operadores de cardinalidade: default : obrigatório (pelo menos 1)? : opcional (0 ou 1) + : 1 a n * : 0 a n Operadores de composição:, : seguido de : ou Definição de Atributos <!ATTLIST endereço rua CDATA #IMPLIED cidade CDATA São Luís > <!ATTLIST destinatário tratamento (Sr Sra) Sr > Principais tipos: CDATA : caracteres (...) : enumeração ID : chave primária IDREF : chave estrangeira Principais modificadores: #IMPLIED : opcional #REQUIRED : necessário #FIXED : constante

Definição de Entidades Entidades permitem a reutilização de dados: Entidades internas <!ENTITY nomeempresa ABC Cia"> Entidades externas <!ENTITY diretor SYSTEM "diretor.xml"> <!ENTITY logo SYSTEM "http://www.abc.com.br/logo.gif" NDATA gif> Nos arquivos XML que utilizam esta DTD, pode-se escrever: <carta> &nomeempresa; &logo; <emissor> &diretor;... e serão feitas as substituições cabíveis. Indicação da DTD O documento XML pode ter uma referência para a DTD a ser utilizada na sua validação: <?xml version="1.0"?> <!DOCTYPE carta SYSTEM "carta.dtd" > <carta>... </carta> A definição da DTD também pode ser feita internamente ao documento Um documento XML, embora deva seguir as regras gerais de formação, não se valida automaticamente A validação a partir de uma DTD é geralmente feita por algum agente externo (um parser, um programa)

XML Exemplos carta.xml <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE carta SYSTEM "carta.dtd" > <carta> <emissor> <pessoa>jomi Fred Hübner</pessoa> <endereço rua="antonio da Veiga, 140" /> </emissor> <destinatário tratamento="ilmo. Sr." > <pessoa>fulano</pessoa> </destinatário> <!-- Início do texto --> <texto>venho por meio desta... </texto> </carta>

carta.dtd <?xml version="1.0" encoding="iso-8859-1"?> <!ELEMENT carta (emissor, destinatário+, texto) > <!ELEMENT emissor (pessoa,endereço) > <!ELEMENT destinatário (pessoa,endereço?) > <!ATTLIST destinatário tratamento ( Sr Sra ) "Sr" > <!ELEMENT endereço EMPTY > <!ATTLIST endereço rua CDATA #REQUIRED cidade CDATA São Luís" cep CDATA #IMPLIED> <!ELEMENT texto (#PCDATA) > <!ELEMENT pessoa (#PCDATA) > bibref.xml <?xml version="1.0"?> <!DOCTYPE bibref SYSTEM "bibref.dtd" > <bibref id="bray97" type="journal"> <title>extensible Markup Language (XML)</title> <publication volume="2" number="4" pages="29-66"> World Wide Web Journal </publication> <authors> <name>tim <lastname>bray</lastname></name> <name>jean <lastname>paoli</lastname></name> <name>c. M. <lastname>mcqueen</lastname></name> </authors> <date>august 7, 1997</date> <abstract>... </abstract> </bibref>

bibref.dtd <!ELEMENT bibref (title, publication, authors, date, abstract?) > <!ATTLIST bibref id ID #REQUIRED > <!ATTLIST bibref type (Journal Conference) "Conference > <!ELEMENT title (#PCDATA) > <!ELEMENT publication (#PCDATA) > <!ATTLIST publication volume CDATA #IMPLIED > <!ATTLIST publication number CDATA #IMPLIED > <!ATTLIST publication pages CDATA #IMPLIED > <!ELEMENT authors (name)* > <!ELEMENT name (#PCDATA lastname)* > <!ELEMENT lastname (#PCDATA) > <!ELEMENT date (#PCDATA) > <!ELEMENT abstract (#PCDATA enfa sep)* > <!ELEMENT enfa (#PCDATA) > <!ELEMENT sep EMPTY > DTD no próprio documento XML <?xml version ="1.0" encoding="iso-8859-1"?> <!DOCTYPE thesis [ <!ENTITY chapter1 SYSTEM "chap1.xml"> <!ENTITY chapter7 SYSTEM "chap7.xml"> <!ELEMENT thesis (abstract,chapter+)> <!ATTLIST thesis author CDATA #REQUIRED> <!ELEMENT abstract (#PCDATA)> <!ELEMENT chapter (title,body)>... ]> <thesis author= Mário"> <abstract>este trabalho apresenta...</abstract> &chapter1; &chapter7; </thesis>

Exercício 2 1. Escreva o DTD para o documento XML que contém as informações das disciplinas dos professores. 2. Escreva o DTD para o documento XML que contém as informações sobre os softwares. 3. Escreva o DTD para o documento XML que contém as informações sobre os laboratórios/reservas.