240 likes | 300 Views
CAP353 – Aplicações Baseadas em Hiperdocumentos. N. L. Vijaykumar Sala 18 no Prédio do LAC vijay@lac.inpe.br 3945-6549. 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). Documento. Conteúdo Estrutura
E N D
CAP353 – Aplicações Baseadas em Hiperdocumentos N. L. Vijaykumar Sala 18 no Prédio do LAC vijay@lac.inpe.br 3945-6549
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)
Documento • Conteúdo • Estrutura • Apresentação • Semântica • Metadados (autor, título, …) • “Links” (índice, rodapé, …)
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
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)
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)
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
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!
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
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
XML – “Acessórios” • Estrutura e Semântica • DTD • XML Schema • Apresentação • CSS • XSL • XPath, XSLT e XSL-FO
XML – “Acessórios” • Metadados e Semântica • RDF e RDF Schema • Estrutura de Hipertexto • XLink e XPointer • Processamento de Documentos • DOM • SAX • Aplicações, …
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
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)
XML–Algumas metalinguagens • CML – química • MathML – matemática • WML – wireless • SVG – gráficos • OFX - finanças
XML – seu uso • Troca de dados entre sistemas incompatíveis • Comunicação no sistema financeiro • Compartilhar dados • Disponibilidade de dados para mais usuários
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
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
XML - Síntaxe • Comentários • <!---Começa nova seção---> • Instruções • <?xml version = “1.0”?> • Raíz e aninhamento (documento bem formado)