XML a promessa, e a esperança ...

Slides:



Advertisements
Apresentações semelhantes
Atividade 5 Objetivos: Conhecer as regras CSS “width”, “margin-left:auto” e “margin-left:right” e verificar que elas não funcionam no IE a menos que coloquemos.
Advertisements

Faculdades Integradas Santa Cruz
Python: Funções Claudio Esperança.
Hipermídia Aula 3.
Paulo Marques Hernâni Pedroso
Standard para representar e trocar informação estruturada
Electronic Data Interchange
Evolução dos SGBD’s (2ª Parte).
Laboratório de Informática Introdução à Linguagem HTML
Profa. Rudson apostilas.wikidot.com/hipermidia
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Engenharia de Software
1 FEUPXML Anotação de Documentos Elementos, Atributos, Entidades, Comentários, Declarações e Instruções de Processamento.
HTML – Hyper Text Markup Language
Software Básico Silvio Fernandes
Validação HTML.
XML - Extensible Markup Language
Teste em Esquemas de Dados Maria Cláudia Figueiredo Pereira Emer Universidade Federal do Paraná Departamento de Informática Seminário.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Geórgia Maria e Maria das Graças
Fundamentos de WEB - HTML, CSS e JS
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Curso de Jornalismo e Ciências da Comunicação
Linguagens de Anotação XML, SGML, ...
HTML O que é? HiperText Markup Language
A Linguagem HTML.
JAVA: Conceitos Iniciais
HTML Básico João Araujo.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
XML Extended Markup Language
Formulários Objectivo: obter do utilizador respostas personalizadas
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando.
Tópicos de Sistemas de Informação A
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
1ª Aula de Html Íria Albuquerque.
Introdução à Programação para WEB
ACESSO A BASE DE DADOS.
Estrutura HTML – Parte I
Ambientes de Desenvolvimento XML-XHTML Paulo Sousa ISEP/IPP Portugal.
Cascading Style Sheets Folhas de Estilo em Cascata
DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012 DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012 FORMADOR Gonçalo Miguel MÓDULO 25. Introdução ao ActionScript 3.0.
Document Type Definition (DTD) Renata Pontin de Mattos Fortes SCE-225 Hipermídia 2°Semestre 2003.
Professor: Márcio Amador
12 de Dezembro de 2007 Jos é Carlos Ramalho XSL or XSLFO Processamento Estruturado de Documentos
Escola de Engenharia de Piracicaba Sistemas de Apoio a Decisão
WIC’ 2015-I WorkShop para o Ingressante em Ciência da Computação Curso de Desenvolvimento para WEB – HTML5.
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
Planear um Website Principais etapas.
Preparar um RESUMO de uma notícia IST – LEE (2º ano curricular) 2011/2012, 1º semestre Prof. responsável – António S. Carvalho Fernandes.
Profª. Elizangela M. F. da Silva Responsável: Carlos Alberto da Silva.
TECNOLOGIA WEB XHTML Aula 5 Profa. Rosemary Melo.
Cascading Style Sheets (css). Cascading Style Sheets  Cascading Style Sheets (CSS) é uma linguagem de estilo utilizada para definir a apresentação de.
©Silberschatz, Korth and Sudarshan (modificado)10.1.1Database System Concepts Capítulo 10: XML XML para transferência de dados Estrutura hierárquica do.
Faculdade Pernambucana - FAPE Setembro/2007
Produção de Sites Unidade 9 – XML Prof.: Henrique Santos.
O que é CSS? O CSS (Cascading Style Sheets) ou Folhas de Estilo em Cascatas é uma documentação que define as regras de formatação que serão aplicadas aos.
HTML HyperText Markup Language. 2 Origem O HTML foi criado, juntamente com o HTTP nos laboratórios do CERN, na europa para permitir a consulta de documentos.
Validando Documentos XML Vânia Maria Ponte Vidal
XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
XML: Conceitos, Tecnologias e Aplicações Vânia Maria Ponte Vidal
Karine Alessandra Córdova
HTML Estrutura e Sintaxe.
Módulo II Capítulo 1: Orientação a Objetos
LINGUAGEM DE PROGRAMAÇÃO HTML COMPONENTES: ROBSON EDMILSON.
Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro
Prof. João Ricardo Andrêo Programação p/ INTERNET - HTML 31/5/ :34 1 Introdução e Conceitos CSS CSS significa Cascade Style Sheetes (Folha de Estilo.
Apresentação TI Alunos: Isadora Bernardo, Lucas Medeiros, Marcela Muniz e Renata Coutinho.
Rhizome. Roteiro Definição Metas Características Arquitetura Tecnologias envolvidas Referências.
Transcrição da apresentação:

XML a promessa, e a esperança ... José Carlos L. Ramalho jcr@di.uminho.pt gEPL - DI - UM

O Velho ... O Mais Usado ... O Novo ... José Carlos L. Ramalho jcr@di.uminho.pt gEPL - DI - UM

Conteúdos A obra prima O que toda gente tem ... e a que está sempre a apontar defeitos ... O que todos desejam ... Muitas vezes sem saber bem como, porquê e o quê. XML - jcr - Salvador - 1999.11.23

Conteúdos(2) SGML HTML XML A obra prima O que toda gente tem ... e aponta defeitos ... HTML O que todos desejam ... Muitas vezes sem saber bem como, porquê e o quê. XML XML - jcr - Salvador - 1999.11.23

Conteúdos ("the real thing") Anotação O que é? Anotar para quê? SGML - a história e o passado ciclo de vida dos documentos A Evolução forçada pela Web HTML e SGML: Web SGML XML Conceitos Ciclo de vida e Aplicações XML - jcr - Salvador - 1999.11.23

O que é um documento? uma imagem uma sequência de palavras informação estruturada um ser vivo (não no nosso caso) Dublin Core - "Metadata Workshop" XML - jcr - Salvador - 1999.11.23

O que é que fazemos com eles? Eu quero imprimir o meu relatório O meu chefe quer pô-lo na Internet (WWW) O meu colega quer refazer alguns dos cálculos na folha de cálculo Todos querem que fique seguramente arquivado Começa a surgir um probema ... XML - jcr - Salvador - 1999.11.23

Que "suportes" utilizamos? Eu utilizo o LaTeX na minha NeXT O meu colega usa o MSWinWord no seu PC O nosso chefe ainda usa o WordPerfect no DOS As nossas secretárias utilizam o Word no MacIntosh Ainda há alguém no departamento a usar o troff Temos um problema!!! XML - jcr - Salvador - 1999.11.23

O Problema: SGML O que é que necessitamos? Um suporte neutro para a nossa informação Independente de plataformas SW e HW O que é que o mercado oferece? Standard Generalized Markup Language SGML XML - jcr - Salvador - 1999.11.23

Motivação Maioria da informação em suporte digital: tradicionalmente em MSWord, Wordperfect, Access, Excel, Acrobat. Transferência e manipulação de documentos entre plataformas dispendiosa Manutenção difícil implica uma baixa longevidade Normalização muito difícil Custos de distribuição podem ser altos A migração para a nova tecnologia que se vai apresentar pode não ser uma opção!... XML - jcr - Salvador - 1999.11.23

SGML: O que é? Uma linguagem para definir linguagens específicas de anotação: SMDL, HTML, EAD, DocBook, TEI. É independente do suporte (HW e SW). Implica a separação do conteúdo e da forma. É um standard ISO ideal para armazenamento e intercâmbio XML - jcr - Salvador - 1999.11.23

O que é a Anotação dum texto? Um meio de tornar explícita uma interpretação desse texto. Exemplo1: sinais de pontuação Olá. Tudo bem. Olá! Tudo bem? Exemplo2: anotações "O rei <nome>Afonso Henriques</nome> queria ..." XML - jcr - Salvador - 1999.11.23

Anotar um documento A tarefa de anotar um documento num sistema de processamento compreende as seguintes fases: analisar a estrutura da informação e os atributos que a caracterizam determinar quais as funções de proces-samento que produzirão o formato desejado para cada elemento inserir as etiquetas/anotações no texto XML - jcr - Salvador - 1999.11.23

Pausa para pensar Exercício: anotar o poema Exercício: anotar o jornal Exercíco: anotar página de livro XML - jcr - Salvador - 1999.11.23

O Poema Poema: título, autor, corpo, data "Soneto Já Antigo" (Álvaro de Campos) Olha, Daisy: quando eu morrer tu hás-de dizer aos meus amigos aí de Londres, embora não o sintas, que tu escondes a grande dor da minha morte. Irás de Londres p'ra Iorque, onde nasceste (dizes que eu nada que tu digas acredito), contar àquele pobre rapazito que me deu horas tão felizes, em bora não o saibas, que morri... Mesmo ele, a quem eu tanto julguei amar, nada se importará... Depois vai dar a notícia a essa estranha Cecily que acreditava que eu seria grande... Raios partam a vida e quem lá ande! (1922) Poema: título, autor, corpo, data Corpo: quadra, quadra, terno, terno. Quadra: verso, verso, verso, verso Terno: verso, verso, verso Verso: (texto | nome)+ Nome: texto XML - jcr - Salvador - 1999.11.23

Tipos de Anotação Procedimental - define qual o processamento a ser realizado em determinados pontos do documento. Caros senhores, .esp_vert 4 Escrevo-vos a ... items: .indent 4 1. Qual a qualificação necessária 2. Datas ... Obrigado XML - jcr - Salvador - 1999.11.23

Tipos de Anotação 2 (cont.) Descritiva - utiliza etiquetas para apenas classificar as componentes do documento. <abre>Caros senhores,</abre> <corpo> Escrevo-vos a ... items: <listan> <item> Qual a qualificação necessária <item> Datas </listan> ... </corpo> <fecha>Obrigado</fecha> XML - jcr - Salvador - 1999.11.23

Funções da Anotação representar todos os caracteres de um texto identificar a estrutura do texto reduzir o texto a uma ordem linear (árvore) representar informação contextual distinguir o que é texto do que é anotação XML - jcr - Salvador - 1999.11.23

O SGML tem estas características todas ... excepto a última Linguagem de Anotação Especifica como distinguir a anotação do texto Especifica que anotações são necessárias e quais são permitidas Especifica onde as anotações são neces-sárias e onde são permitidas Define o significado da anotação O SGML tem estas características todas ... excepto a última XML - jcr - Salvador - 1999.11.23

Documentos Tradicionalmente: um bloco indivisível Nesta abordagem: uma estrutura XML - jcr - Salvador - 1999.11.23

Documentação Estruturada Vantagens (c/ anotação descritiva) Portabilidade e intercâmbio entre plataformas reutilização armazenamento e consulta baixos custos de distribuição manutenção e acesso longevidade reconfiguração do aspecto visual XML - jcr - Salvador - 1999.11.23

Documentação Estruturada Desvantagens grande investimento inicial capital tempo o XML veio aligeirar estes parâmetros... XML - jcr - Salvador - 1999.11.23

SGML: premissa heurística Os documentos têm estrutura que se quer preservar e manipular: na sua criação no seu processamento na sua interrogação (=> armazenamento) Select EXCERTO with NOME=“Ana*” Select TITULO with parent EXCERTO XML - jcr - Salvador - 1999.11.23

SGML: Ciclo de vida Validação Parser Doc. SGML OK / erros OUTPUT Especificação Estilo OK / erros Processador OUTPUT Editor DTD Editor Doc. SGMLVálido Edição Formatação Transformação Design Doc. SGML Válido BD Armazenamento XML - jcr - Salvador - 1999.11.23

SGML: conceitos element - definição de tipo de um obje-cto, componente estrutural do documento attribute - propriedade de um elemento entity - "stream" de dados notation - notação/formato externo document type - conjunto de objectos e entidades, semelhante a uma gramática ou esquema de base de dados XML - jcr - Salvador - 1999.11.23

Os documentos têm estrutura! Uma definição contém um termo técnico seguido dum texto descritivo texto descritivo novela série de episódios televisivos, inventada no Brasil. termo técnico definição <!ELEMENT definicao - - (termo, descricao)> XML - jcr - Salvador - 1999.11.23

O texto forma uma hierarquia ordenada XML - jcr - Salvador - 1999.11.23

Indicadores de estrutura no texto... • espaço, fontes diferentes, gráficos... • derivados da semântica: nomes, datas, lugares, ... em SGML... • delimitadores explícitos • inferida do contexto XML - jcr - Salvador - 1999.11.23

SGML: exemplo <lista> <cabec>Os delimitadores podem ser: </cabec> <item> explícitos <item> inferidos do contexto </lista> O elemento do tipo LISTA é formado por um elemento CABEC, seguido por dois elementos do tipo ITEM. XML - jcr - Salvador - 1999.11.23

Ocorrência de um elemento etiqueta de início <lista> <cabec> em SGML... <item> delimitadores explícitos <item> inferidos do contexto </lista> No meio fica o CONTEÙDO do elemento etiqueta de fim XML - jcr - Salvador - 1999.11.23

Definição de um elemento definição do conteúdo nome do elemento (GI) omissão <!ELEMENT lista - - (cabec,item+) > <!ELEMENT item - o (#PCDATA) > XML - jcr - Salvador - 1999.11.23

Definição do CONTEÚDO outros elementos especificados ANY (qq elemento especificado) EMPTY (nada, vazio) #PCDATA (texto) uma mistura de elementos com #PCDATA XML - jcr - Salvador - 1999.11.23

Expressão de Conteúdo: sintaxe sequência a,b a seguido de b a|b a ou b mas não ambos a&b equivalente a (a,b) | (b,a) ocorrência a um e apenas um a? opcionalmente um (0 ou 1) a* zero ou mais a+ um ou mais XML - jcr - Salvador - 1999.11.23

Um elemento pode ter atributos para conter informação para além do tipo e do contexto para identificação de ocorrências específicas de elementos para fazer algumas validações (poucas) nome do atributo valor do atributo <lista tipo=bola id=L123> <item id=L123.1> delimitadores explícitos <item id=L123.2> inferidos do contexto </lista> XML - jcr - Salvador - 1999.11.23

Definição de um atributo nome tipo valor por defeito <!ATTLIST lista id ID #IMPLIED tipo (simplea|bola) bola > os identificadores de nomes e tipos devem ser únicos dentro dum elemento XML - jcr - Salvador - 1999.11.23

Tipos de atributo ID um identificador único dentro o documento actual IDREF referência a um identificador definido algures no documento corrente CDATA texto NAME, NUMBER, NMTOKEN ENTITY o nome duma entidade definida no documento corrente uma enumeração/lista de valores específicos (não pode haver repetições na lista) XML - jcr - Salvador - 1999.11.23

Valores possíveis #REQUIRED (obrigatório) #CURRENT (herdado da última utilização) #IMPLIED (opcional) valor explícito XML - jcr - Salvador - 1999.11.23

Instruções de Processamento Indicações para processadores externos <?xml version="1.0" encoding="ISO-8859-1"?> <?Tex \newpage?> <?HTML <HR>?> XML - jcr - Salvador - 1999.11.23

Notações Apenas se podem declarar Permitem suportar dados não-SGML <!NOTATION TeX SYSTEM ""> <!NOTATION GIF SYSTEM ""> XML - jcr - Salvador - 1999.11.23

Secções Marcadas Úteis para incluir exemplos de SGML E para processamentos condicionais <![ CDATA [ The <p> tag is used for paragraphs ]]> <!ENTITY % RTF "INCLUDE"> <!ENTITY % HTML "IGNORE"> <![ %RTF; [ %my-wmf; ]]> <![ %HTML; [ %my-gif; XML - jcr - Salvador - 1999.11.23

Tipos de Entidade geral externa paramétrica apenas usada no documento a sua expansão está definida no DTD externa a sua expansão é o identificador dum objecto externo paramétrica apenas usada no DTD a expansão pode ser qq coisa XML - jcr - Salvador - 1999.11.23

Entidades Gerais Utilização: abreviaturas, caracteres especiais e símbolos etc. Exemplo: Definição: Isto devia ser um curso de &xml; dado pelo José Carlos <!ENTITY xml "eXtended Markup Language"> <!ENTITY eacute "é" > <!ENTITY eacute “&#132” > <!ENTITY eacute SDATA “[eacute]”> XML - jcr - Salvador - 1999.11.23

Entidades externas Utilização: incluir ou referenciar um ou mais objectos externos (ficheiros, imagens) Exemplo: Definição: &chap1; &chap1fig; <!-- preciso escrever chap 2 --> <p>Eis uma referência para <xref doc=myHome>a minha home page</xref> <!ENTITY chap1 SYSTEM “chap1.sgm”> <!ENTITY chap1fig SYSTEM “gifs/chap1fig.jpg” NDATA JPG> <!ENTITY myHome SYSTEM "http://orunner.di.uminho.pt/~jcr" NDATA HTML> XML - jcr - Salvador - 1999.11.23

Entidades paramétricas Utilização: parametrização de declarações e control de secções marcadas Exemplo: Definição: %ISOLat1; <!ATTLIST exemplo %a.glob> <![ %HTML [ ... ]]> <!ENTITY % ISOLat1 PUBLIC “ISO 8879-1986//ENTITIES Added Latin 1//EN”> <!ENTITY % a.glob “ident ID #IMPLIED”> <!ENTITY % HTML “INCLUDE”> XML - jcr - Salvador - 1999.11.23

Juntando as peças Um documento SGML compreende: uma declaração SGML um DTD a instância do documento XML - jcr - Salvador - 1999.11.23

A declaração SGML especifica o dialecto SGML que irá ser utilizado tamanho dos nomes e outros limites especifica a utilização de características opcionais do SGML especifica a tabela de caracteres e a sintaxe concreta utilizada a declaração por defeito é normalmente suficiente quando a língua é o inglês XML - jcr - Salvador - 1999.11.23

Exemplo: a decl. do DocBook Carregar o ficheiro DocBook no PFE XML - jcr - Salvador - 1999.11.23

A Declaração do Tipo de Documento contém as declarações para elementos, atributos, entidades define uma hierarquia única de elementos é normalmente invocada por referência pode ser modificada por um subset do DTD XML - jcr - Salvador - 1999.11.23

Alguns exemplos <!DOCTYPE poema [ <!ELEMENT poema - o (quadra+)> <!ELEMENT quadra - o (#PCDATA)> ]> <!DOCTYPE poema PUBLIC “-//jcr//DTD poema 1.0”> <!DOCTYPE poema SYSTEM “poema.dtd” [...]> XML - jcr - Salvador - 1999.11.23

Declarações múltiplas Para elementos não é permitida Para entidades é permitido: a primeira é que prevalece a declaração tem que preceder o uso XML - jcr - Salvador - 1999.11.23

Processamento Condicional no dtd na parametrização do dtd <!ENTITY % my-gifs “IGNORE”> <!ENTITY % my-wmfs “IGNORE”> <![ %my-gifs [ <!-- imagens para o HTML --> ]]> <![ %my-wmfs [ <!-- imagens para RTF, PDF, MIF --> <!ENTITY % my-wmfs “INCLUDE”> XML - jcr - Salvador - 1999.11.23

A estrutura do nosso poema XML - jcr - Salvador - 1999.11.23

Definição: DTD Se poema fosse soneto: <!-- declarações para os elementos --> <!ELEMENT poema - - (titulo, autor, corpo, data) > <!ELEMENT titulo - - (#PCDATA)> <!ELEMENT autor - - (#PCDATA)> <!ELEMENT corpo - - ((quadra|terno)+)> <!ELEMENT quadra) - - (verso, verso, verso, verso)> <!ELEMENT terno - - (verso, verso, verso)> <!ELEMENT verso - - (#PCDATA|nome)+> <!ELEMENT nome - - (#PCDATA)> <!ELEMENT data - - (#PCDATA)> Se poema fosse soneto: <!ELEMENT corpo - - (quadra, quadra, terno, terno)> XML - jcr - Salvador - 1999.11.23

Poema anotado <poema><titulo>Soneto Já Antigo</titulo> <autor>Álvaro de Campos</autor> <quadra> <verso>Olha,<nome> Daisy</nome>: quando eu morrer tu hás-de</verso> <verso>dizer aos meus amigos aí de <nome>Londres</nome>,</verso> <verso>embora não o sintas, que tu escondes</verso> <verso>a grande dor da minha morte. Irás de</verso> </quadra><quadra> <verso><nome>Londres</nome> p'ra <nome>Iorque</nome>, onde nasceste (dizes</verso> <verso>que eu nada que tu digas acredito),</verso> <verso>contar àquele pobre rapazito</verso> <verso>que me deu horas tão felizes,</verso> </quadra><terno> <verso>em bora não o saibas, que morri...</verso> ...</terno> <data>1922</data></poema> XML - jcr - Salvador - 1999.11.23

software SGML parsers: NSGMLS, SP validam um DTD verificam se um documento está de acordo com o DTD devolvem como output o documento em formato esis editores: AuthorEditor,Emacs,Adept,... usam o DTD para controlar a edição do texto tradutores: Omnimark, Balise, Perl up/down translation entre SGML e outro formato motores IR: InfoManager, Altavista, ... utilisam a estrutura do SGML para optimizar as procuras XML - jcr - Salvador - 1999.11.23

Até ao SGML ... A ideia de que a documentação estruturada podia ser trocada e manipulada se fosse produzida de uma forma standard vem dos anos 60: GCA  GenCode IBM  GML Em 1980 é formado o comité ANSI para as linguagens de processamento de texto com o objectivo de encontrar uma norma para a especificação, a definição e a utilização de anotações em documentos. Em 1986, é lançado o SGML como o ISO 8879 XML - jcr - Salvador - 1999.11.23

SGML (the beginning) Apesar de todo o poder expressivo e versatilidade não se conseguiu impôr Grande complexidade Grande investimento inicial de capital e de tempo XML - jcr - Salvador - 1999.11.23

O HTML é SGML ... O que deu origem ao HTML Será que descende de ? No fim dos anos 80 Tim Berners-Lee misturou: um conjunto de tags dum DTD utilizado no CERN juntou-lhe uma especificação de estilo e mais um elemento revolucionário: os links O que deu origem ao HTML XML - jcr - Salvador - 1999.11.23

HTML: exemplo <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <META NAME="Author" CONTENT="Jose Carlos Ramalho"> <META NAME="GENERATOR" CONTENT="Mozilla/4.01 [en] (Win95; I) [Netscape]"> <TITLE>soneto de Álvaro de Campos</TITLE> </HEAD> <BODY> <H2> "Soneto Já Antigo"</H2> <H3> (Álvaro de Campos)</H3> <P>Olha, <I><FONT COLOR="#3333FF">Daisy</FONT></I>: quando eu morrer tu hás-de <BR>dizer aos meus amigos aí de <I><FONT COLOR="#3366FF">Londres</FONT></I>, <BR>embora não o sintas, que tu escondes <BR>a grande dor da minha morte. Irás de ... XML - jcr - Salvador - 1999.11.23

HTML (the beginning) A sua grande simplicidade foi o factor determinante para a grande adesão que teve A sua grande simplicidade foi também o início de uma época problemática atingiu-se rapidamente o seu limite começaram a proliferar extensões não normalizadas XML - jcr - Salvador - 1999.11.23

O sentido ecuménico do HTML o HTML representa a linguagem de anotação que as pessoas podem tomar como certa(!!!). quanto mais universal fôr uma linguagem menos específica se torna, quanto maior fôr o contexto de aplicação menor será a capacidade de expressão semântica. XML - jcr - Salvador - 1999.11.23

XML (como surgiu?) XML O poder do SGML A simplicidade do HTML Uma linguagem de anotação aberta XML - jcr - Salvador - 1999.11.23

O cristalizar do HTML o DTD está directamente implementado nos browsers. a stylesheet também quem o utiliza não pensa na anotação mas sim na apresentação XML - jcr - Salvador - 1999.11.23

Problemas do SGML Não seguiu as normas da comunidade de "Compiler Construction" o operador "&" <!ELEMENT X - - (a & b & c)> "tag omission" <!ELEMENT HR - o EMPTY> <HR> Isto é <B>texto</B> ... inclusões e exclusões XML - jcr - Salvador - 1999.11.23

SGML  XML Fechar todas as "tags" que se abrirem Converter os elementos vazios <HR> ==> <HR/> def. SGML: <!ELEMENT HR -o EMPTY> def. XML: <!ELEMENT HR EMPTY> Colocar os valores dos atributos dentro de aspas <IMG SRC="foto.jpg"/> XML - jcr - Salvador - 1999.11.23

O que ficou de fora no XML O operador "&" <!ELEMENT coisa (a&b)> inclusões e exclusões <!ELEMENT coisa (outro) +a> <!ELEMENT coisa (outro) -b> omissão de tags: tag de início e abertura são as duas obrigatórias <!ELEMENT coisa - - (outro)> XML - jcr - Salvador - 1999.11.23

XML (conceitos) Doc. XML Bem formado Válido pertence a uma classe (DTD) não há cruzamento de tags <A>olá <B>estás </A> ... pode-se inferir um DTD torna o pós-processamento mais específico. XML - jcr - Salvador - 1999.11.23

XML (em desenvolvimento) XML - standard XSL - eXtended Stylesheet Language XLL - eXtended Linking Language XPointer - eXtended Pointing Language DCD, ...  XML Scheme XML - jcr - Salvador - 1999.11.23

XML: exemplo - dtd do poema <!-- declarações para os elementos --> <!ELEMENT poema (titulo, autor, corpo, data) > <!ELEMENT titulo (#PCDATA)> <!ELEMENT autor (#PCDATA)> <!ELEMENT corpo ((quadra|terno)+)> <!ELEMENT quadra (verso, verso, verso, verso)> <!ELEMENT terno (verso, verso, verso)> <!ELEMENT verso (#PCDATA|nome)+> <!ELEMENT nome (#PCDATA)> <!ELEMENT data (#PCDATA)> XML - jcr - Salvador - 1999.11.23

XML: exemplo - instância <?xml version="1.0"?> <?xml-stylesheet type="text/css" href="poema.css"?> <!DOCTYPE poema SYSTEM "poema.dtd"> <poema> <titulo>"Soneto Já Antigo</titulo> <autor>(Álvaro de Campos)</autor> <corpo> <quadra> <verso>Olha, <nome>Daisy</nome>: quando eu morrer tu hás-de</verso> <verso>dizer aos meus amigos aí de <nome>Londres</nome>,</verso> <verso>embora não o sintas, que tu escondes</verso> <verso>a grande dor da minha morte. Irás de</verso> </quadra> <verso><nome>Londres</nome> p'ra <nome>Iorque</nome>, onde nasceste (dizes</verso> <verso>que eu nada que tu digas acredito),</verso> <verso>contar àquele pobre rapazito</verso> <verso>que me deu horas tão felizes,</verso> ... XML - jcr - Salvador - 1999.11.23

XML: exemplo - stylesheet corpo { display: block; font-size: small; } autor { font-size: medium; nome { font-style: italic; color: blue; terno, quadra { margin-top: 1cm; margin-bottom: 1cm; /* Use Times New Roman for default font */ $DOCUMENT { font-family: "Times New Roman"; font-size: 12pt; margin-top: 5px; margin-left: 5px; } poema, quadra, terno, verso { display: block; titulo { font-size: large; XML - jcr - Salvador - 1999.11.23

Transformação versus Style O processamento de estilo ainda não está padronizado CSS é insuficiente XSL ainda não está estável DSSSL é uma excepção (mas pensado para SGML e difícil de programar) A transformação é uma boa opção Omnimark, Balise, Python, Perl XML - jcr - Salvador - 1999.11.23

Perl - XML::DT: arquitectura expat XML::DT ... XML::Parser Perl XML - jcr - Salvador - 1999.11.23

Transformando docs XML Poema Corpo Titulo Terno Quadra Process(Poema) = f( Process(Titulo), Process( g( Process(Quadra), Process(Terno) ))) No XML::DT: f, g = concatenação Resultado esperado é uma string XML - jcr - Salvador - 1999.11.23

Exemplo: script DT #!/usr/bin/perl use XML::DT ; my $filename = shift; %handler=( '-outputenc' => 'ISO-8859-1', '-default' => sub{"<$q>$c</$q>"}, 'titulo' => sub{"<H2>$c</H2>"}, 'poema' => sub{"<html>$c</html>"}, 'corpo' => sub{"<p><p>$c<p>"}, 'terno' => sub{"<p><p>$c<p>"}, 'data' => sub{"<H4>$c</H4>"}, 'autor' => sub{"<H3>$c</H3>"}, 'quadra' => sub{"<p><p>$c<p> "}, 'nome' => sub{"<I>$c</I>"}, 'verso' => sub{"$c<p>"}, ); print dt($filename,%handler); XML - jcr - Salvador - 1999.11.23

Ferramentas XML parsers: SP, XML4J editores s/validação de DTD: muitos editores c/ validação: XMetal, Documentor, ... processadores: Omnimark, Balise, Python, Perl, PHP Bases de Dados: as do SGML + Oracle, Informix XML - jcr - Salvador - 1999.11.23

XML (áreas de utilização) Produção de documentação em geral Especificações de HW Especificações de protocolos de comunicação Especificação de linguagens de programação Especificação de sistemas operativos XML - jcr - Salvador - 1999.11.23

Casos reais Linguagens definidas em SGML/XML DocBook XML 1.5 SMDL - música CML - química SMIL - multimedia e interface MML - matemática H7 - medicina XML-EDI - comércio XML - jcr - Salvador - 1999.11.23

Conclusão Libertem a vossa informação, usem Anotação Descritiva!! Perguntas? XML - jcr - Salvador - 1999.11.23

Documento como um todo 1760 Em 14 de Junho deste anno foi mandado sahir immediatamente da Corte o cardeal Accioalolli e dentro em 4 dias do Reino, para o que se lhe deu decente transporte e acompanhamento. Era Nuncio de sua Santidade o Papa Clemente 13. Aqui principiou a rotura com a Sé Appostolica. Fes-se publico o motivo pela informação que se mandou a Francisco de Almada residente na Corte de Roma, dando-se por fundamento maior o não pôr luminarias por ocasião do cazamento que se fes no dia seis de Junho do Senhor Infante D. Pedro com sua sobrinha a Excelentissima Senhora D. Maria, princesa do Brasil, o que o dito Cardeal não fizera, porque lho não fizerão a saber por carta de officio, quando os mais embaixadores sem isso o fizerão. O caso he que querião afasta-lo da Corte e tambem elle não seguia a conduta della por aquelles tempos. ... Extraído de “Memórias de Inácio Peixoto dos Santos” XML - jcr - Salvador - 1999.11.23

Documento estruturado <EXCERTO><TITULO>1760</TITULO> <PARAG>Em 14 de Junho deste anno foi mandado sahir immediatamente da Corte o cardeal <NOME>Accioalolli</NOME> e dentro em 4 dias do Reino, para o que se lhe deu decente transporte e acompanhamento. Era Nuncio de sua Santidade o Papa Clemente 13.</PARAG> <PARAG>Aqui principiou a rotura com a <LUGAR>Sé Appostolica</LUGAR>. Fes-se publico o motivo pela informação que se mandou a <NOME>Francisco de Almada</NOME> residente na Corte de Roma, dando-se por fundamento maior o não pôr luminarias por ocasião do cazamento que se fes no dia seis de Junho do Senhor <NOME>Infante D. Pedro</NOME> com sua sobrinha a Excelentissima Senhora D. Maria, princesa do Brasil, o que o dito Cardeal não fizera, porque lho não fizerão a saber por carta de officio, quando os mais embaixadores sem isso o fizerão. O caso he que querião afasta-lo da Corte e tambem elle não seguia a conduta della por aquelles tempos.</PARAG></EXCERTO> XML - jcr - Salvador - 1999.11.23

Estrutura do documento parag excerto título nome lugar texto ??? XML - jcr - Salvador - 1999.11.23

Processamento Estruturado ELEMENT excerto OUTPUT “%c” ELEMENT titulo OUTPUT “<H2>%c</H2>” ELEMENT parag OUTPUT “%c<P>” ELEMENT nome OUTPUT ”<I>%c</I>” ELEMENT lugar OUTPUT “<B>%c</B>” Geração da página HTML correspondente XML - jcr - Salvador - 1999.11.23

Fase de Design Análise Documental Resultados Desenho da estrutura tentando prever todos os ângulos do problema. Levantamento dos requisitos de aparência visual junto dos futuros utilizadores. Resultados Especificação do DTD Especificação do Estilo XML - jcr - Salvador - 1999.11.23

Fase de Edição Preparar um editor “especializado” Anotar o Documento compilar o DTD preparar uma formatação automática para o documento Anotar o Documento na sua inserção posteriormente à sua inserção Validar o Documento anotado Exportar o Documento válido em SGML XML - jcr - Salvador - 1999.11.23

Fase de Validação Está integrada nos editores SGML É invisível para o utilizador, excepto na sua invocação Dá feedback na forma de mensagens que indicam os erros se os houver XML - jcr - Salvador - 1999.11.23

Fase de Formatação ou Transformação Processador: Doc. SGML válido + Estilo = OUTPUT Processamento Standard (DSSSL): jade Pessoal: desenvolvimento de scripts Perl ou Omnimark XML - jcr - Salvador - 1999.11.23

Fase de Armazenamento O Documento é armazenado juntamente com a sua estrutura Tipos de solução: Armazenamento individual usando o sistema de directorias. Bases de Dados orientadas a objectos e desenvolvidas a pensar no SGML: Astoria, InfoManager, Documentor. Implementação sobre Bases de Dados Relacionais baseada em MDA. XML - jcr - Salvador - 1999.11.23