CAP353 – Aplicações Baseadas em Hiperdocumentos N. L. Vijaykumar Sala 18 no Prédio do LAC [email protected] 3945-6549 Aplicações Baseadas em Hiperdocumentos – CAP353 1/24 Referência Mini-Curso dado no evento WEBMÍDIA em Salvador em 2003 por Renata Pontin de Mattos Fortes do ICMC (USP-São Carlos) Aplicações Baseadas em Hiperdocumentos – CAP353 2/24 Documento Conteúdo Estrutura Apresentação Semântica Metadados (autor, título, …) “Links” (índice, rodapé, …) Aplicações Baseadas em Hiperdocumentos – CAP353 3/24 HTML-HyperText Markup Language Uma linguagem para especificar como os documentos serão apresentados Não tem suporte para flexibilizar aplicações Não tem suporte para tornar aplicações interoperáveis Aplicações Baseadas em Hiperdocumentos – CAP353 4/24 Documento HTML Aplicações Baseadas em Hiperdocumentos – CAP353 5/24 Documento editado em HTML Aplicações Baseadas em Hiperdocumentos – CAP353 6/24 Desvantagens do HTML Projetado para apresentar documentos Definição de novos elementos não é reconhecida pelas aplicações Não é possível reutilizar (e.g. não pode “processar” para extrair somente um subconjunto de informações) Aplicações Baseadas em Hiperdocumentos – CAP353 7/24 Como contornar isto? Extensão de marcadores Criar próprios marcadores para definir melhor os documentos Associar significado aos campos (e dados) do documento para poderem ser tratados computacionalmente SGML (Standard Generalized Markup Language) Aplicações Baseadas em Hiperdocumentos – CAP353 8/24 SGML Aplicações Baseadas em Hiperdocumentos – CAP353 9/24 SGML É uma meta-linguagem para especificar estrutura de documentos Hierarquiza os elementos Não há regra sobre tipos de elementos e relacionamentos entre si Especificação formal Há uma gramática para ser validada Aplicações para tratar o documento Aplicações Baseadas em Hiperdocumentos – CAP353 10/24 SGML Documento pode ser reusado por outras aplicações Arquivos texto: facilidade de edição Por que não usar em vez de HTML? SGML -> poderosa mas cara! Maior poder de expressão Maior flexibilidade Processamento “pesado” na Web HTML -> prática mas limitada! Aplicações Baseadas em Hiperdocumentos – CAP353 11/24 SGML Maior poder de expressão Maior flexibilidade Processamento “pesado” na Web Custo muito alto para processar documentos Inviabiliza seu uso em aplicações que rodam em ambiente distribuído da Web Aplicações Baseadas em Hiperdocumentos – CAP353 12/24 XML-Extensible Markup Language Versão mais compacta para desenvolver aplicações que podem funcionar em dispositivos portáties com poucos recursos Linguagem de Marcação para representar documentos onde o foco principal é agregar informações Duas categorias de informações Conteúdo Organização deste conteúdo Aplicações Baseadas em Hiperdocumentos – CAP353 13/24 XML – “Acessórios” Estrutura e Semântica DTD XML Schema Apresentação CSS XSL XPath, XSLT e XSL-FO Aplicações Baseadas em Hiperdocumentos – CAP353 14/24 XML – “Acessórios” Metadados e Semântica RDF e RDF Schema Estrutura de Hipertexto XLink e XPointer Processamento de Documentos DOM SAX Aplicações, … Aplicações Baseadas em Hiperdocumentos – CAP353 15/24 XML – “Acessórios” XML Schema – gramática com forte tipagem de dados XSLT – converte para outro tipo (PDF, PS, RTF, …) RDF – descreve metadados e semântica SOAP – protocolo para comunicar entre ambientes distribuídos Aplicações Baseadas em Hiperdocumentos – CAP353 16/24 XML Linguagem Existem regras para escrever documentos que devem ser obedecidas para estar de acordo com XML Meta-Linguagem Gramáticas podem ser definidas para classes específicas de documentos (elementos, atributos e regras de como compor) Aplicações Baseadas em Hiperdocumentos – CAP353 17/24 XML–Algumas metalinguagens CML – química MathML – matemática WML – wireless SVG – gráficos OFX - finanças Aplicações Baseadas em Hiperdocumentos – CAP353 18/24 XML – seu uso Troca de dados entre sistemas incompatíveis Comunicação no sistema financeiro Compartilhar dados Disponibilidade de dados para mais usuários Aplicações Baseadas em Hiperdocumentos – CAP353 19/24 XML – Documento (exemplo) Aplicações Baseadas em Hiperdocumentos – CAP353 20/24 XML - Processamento Aplicações Baseadas em Hiperdocumentos – CAP353 21/24 XML - Síntaxe Caracteres UNICODE 0 – 127 (Latin básico – ASCII, inglês USA) 128-255 (Latin-1, português, inglês UK, francês, italiano, espanhol, etc.) 19966-40959 (Ideogramas – chinês, japonês, etc.) 57344-63743 (reservado para desenvolvedores) Comentários, Elementos, Atributos Aplicações Baseadas em Hiperdocumentos – CAP353 22/24 XML - Síntaxe Sensível a letras maiúsculas e minúsculas Nomes começam com letra ou _ Uso de atributo encoding <?XML version=“1.0” encoding=“ISO-8859-1”?> start-tag, end-tag, atributos Aplicações Baseadas em Hiperdocumentos – CAP353 23/24 XML - Síntaxe Comentários <!---Começa nova seção---> Instruções <?xml version = “1.0”?> Raíz e aninhamento (documento bem formado) Aplicações Baseadas em Hiperdocumentos – CAP353 24/24