tópicos avançados em internet a carlos oberdan rolim ciência da computação sistemas de...

40
Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Upload: internet

Post on 18-Apr-2015

109 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Tópicos avançados em internet A

Carlos Oberdan Rolim

Ciência da ComputaçãoSistemas de Informação

Page 2: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML

eXtensible Markup Language

Page 3: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

O que é Linguagem?

Linguagem é a estrutura utilizada para possibilitar a comunicação – troca de informação

Page 4: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

O que são Linguagens de Marcação?

Linguagens de marcação são padrões abertos e públicos que foram criados para tentar maiores avanços no tratamento da informação.

Page 5: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

O que é Marcação?

A marcação é uma forma de indicar ao processador como ele deverá processar determinada informação.

As marcações podem ser de dois tipos:

Marcação Procedural

Marcação Descritiva

Page 6: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

Marcação Procedural

Marcas inseridas em um documento de forma explícita ou implícita onde o software que irá realizar o processamento, indica o procedimento que deve ser seguido para a apresentação do conteúdo ao usuário.

Page 7: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

Marcação Descritiva

Utilizam marcas ou “tags” para qualificar os objetos de um texto, para transformá-los em informações tratáveis pelo computador. As marcas ou “tags” indicam o propósito da informação e não somente como ele deverá ser apresentado.

Page 8: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

Marcas ou “tags”

Definem o início e o fim da unidade ou elemento da informação. Essas unidades de informação são tratadas como objetos com características específicas, e não somente um texto a espera de uma interpretação para formatação.

Page 9: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

SGML (Standard Generalized Markup Language)

Definida em meados de 1970 como uma linguagem auto-descritiva ou seja que não contém um conjunto pré-determinado de marcas, mas sim uma linguagem para se definir qualquer conjunto de marcas

Page 10: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

HTML (HyperText Markup Language)

Definida em meados de 1980 pela W3C, devido ao advento da Internet. É uma linguagem formal baseada em SGML. Possuí um conjunto pré-determinado de marcas, concebidos com a função de organizar a informação através de páginas Web.

Page 11: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

XML (eXtensible Markup Language)

Definida no final de1990, similar a HTML porém com o diferencial de representar dados e não somente sua formatação.

Descreve a natureza dos dados a serem apresentados.

Page 12: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Histórico

XML freqüentemente é referida como contendo 20% da complexidade e 80% das funcionalidades da SGML

StandardGeneralized Markup Language

HyperTextMarkupLanguage

eXtensible Markup Language

Page 13: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

HTML - Características

Formatação fixa: fácil aprendizado

Facilitou a distribuição de documentos através da Web

Impulsionou o desenvolvimento da Web

Page 14: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

Exemplo de HTML

<HTML>

<HEAD>

<TITLE>Exemplo de Documento</TITLE>

</HEAD>

<BODY>

<H1> Exemplo HTML </H1>

<br> Este &eacute; um exemplo b&aacute;sico de documento HTML.

</BODY>

</HTML>

Page 15: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

Necessidade de novos padrõesComércio eletrônico, multimídia, BD na Web são cada vez mais freqüentes

Necessidade de suporte a documentos complexos

Surgimento de novas necessidades

Características da linguagem a tornam ineficiente

Surgimento de novos padrões para atender as novas exigências

Novos padrões, mais flexíveis:

XML (Extensible Markup Language)

Page 16: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

XML - Características

Mais enxuta que SGML e mais flexível que HTML.

Extensível, porém não é exageradamente complexa.

Permite maior descrição de conteúdo.

Uso de Esquemas (XMLSchemas ou DTDs), que descrevem a estrutura do documento.

Extração e busca de informações.

Exibição específica por usuário.

Permite o uso de estilos para apresentação direta ao usuário (XSLT - Extensible Stylesheet Language Transformations)

Page 17: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

Exemplo de XML

<?xml version="1.0" ?>    <recado>     <de> Professor </de>     <para> Alunos </para>     <assunto> Aula 2 </assunto>     <texto> Exemplo de um XML</texto>    </recado>

Declaração do XMLElemento raiz

Elementos

Page 18: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

XML - Características

O XML permite a criação de elementos, ou seja, o próprio usuário define o significado das suas tags

A linguagem XML pode ser utilizada para armazenamento e transação de dados entre empresas

Page 19: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

XML - Características

A estrutura criada pelo documento XML permite que ferramentas baseadas em banco de dados possam consultar e processar seu conteúdo

Os recursos fornecidos pela XML pode ser usado para criar uma rede de conhecimento (Knowledge Web), interligando documentos com informações complementares

Page 20: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

HTML XML

A ferramenta de busca armazena a palavra a

ser pesquisada como um índice e procura nos

diversos documentos a sua ocorrência.

A ferramenta de busca deve reconhecer toda a

estrutura do documento, identificando cada tag

como um objeto que pode ser manipulado.

Os dados do documento são todos do mesmo

tipo.

Um documento pode conter diferentes tipos de

dados, como um único campo ou como um

registro composto por campos, podendo

retornar vários registros (como uma tabela de

dados).

Retorna uma lista de documentos com uma

informação sobre eles como resultado da

pesquisa.

Retorna uma lista de registros, que pode

pertencer a vários documentos diferentes

gerando o documento resultante da pesquisa.

Realiza apenas a pesquisa em um índice

previamente definido.

Além de realizar a pesquisa por meio de

múltiplas fontes, pode realizar a atualização dos

documentos.

Page 21: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

XML vs HTML

Algumas vantagens - XML

Padrão aberto

Facilidade para converter para formatos proprietários

É texto

possibilita fácil leitura, processamento e menos incompatibilidade

Promove a separação entre estrutura, conteúdo e apresentação

Facilita a geração de dados para visualização dinâmica

Simplifica manutenção

Permite semântica na Web

Page 22: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Aplicabilidade

Por ser um padrão, todos entendem, dessa forma uma representação de dados armazenados em XML podem ser facilmente interpretados e transformados em outros formatos

Page 23: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Aplicabilidade

DatabasesDatabases

Arquivos de ConfiguraçãoArquivos de ConfiguraçãoServidores de Aplicação/WebServidores de Aplicação/Web

The WebThe Web

Web Services

PDF

DOM/SAXXPATH/

XQUERY

XSLT

XSL-FO

XSLT

HTTP

XML

Page 24: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Estrutura de um documento XML

Um documento XML é composto por uma hierarquia de elementos a partir de uma raiz.

Declaração XML

ElementoRaíz

Elementos

Conteúdo

<?xml version="1.0"?><estante> <livro>

<titulo>Service Oriented Architecture</titulo> <autor>Thomas Erl</autor> <ano>2004</ano> </livro> <livro> <titulo>PHP para Iniciantes</titulo> <autor>Marcos S. Santos</autor> <ano>2000</ano> </livro></estante>

Page 25: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Estrutura de um documento XML

O documento pode ser representado como uma árvore de elementos:

<estante>: elemento principal, responsável pelos demais, também chamado de elemento raiz

<livro>: elemento responsável pela apresentação de cada livro

<titulo>; <autor>; <ano>: elementos responsáveis pela apresentação dos dados dos livros

Page 26: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Estrutura de um documento XML

Considerações:

O elemento <estante> representa toda a árvore e é considerado o pai dos demais.

Em seguida os elementos <livro> que são filhos do elemento <estante> e pais dos elementos <titulo>,<autor> e <ano>.

Estes últimos são filhos dos elementos <livro> e netos do elemento <estante>.

Cada elemento <livro> no documento representa o mesmo que um registro na tabela

Page 27: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Componentes do documento

Árvore XML

raiz

nós

Galhos/folhas

Elementos

Atributos

Bloco de Texto

Comentários

Declaração

Entidades

Instruções de processamento

Page 28: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Componentes do documento

Nó Raiz

Em um documento XML existe apenas um, e somente um elemento raiz.

<?xml version="1.0" encoding="iso-8859-1" ?>

<!-- Isto é um comentário -->

<cadastro>

<nome>Ronaldo Gaúcho</nome>

<email>[email protected]</email>

<telefone tipo= " residencial" >

<ddd>45</ddd>

<numero>3223-9876</numero>

</telefone>

</cadastro>

Page 29: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Componentes do documento

Nó Elemento

<?xml version="1.0" encoding="iso-8859-1" ?>

<!-- Isto é um comentário -->

<cadastro>

<nome>Ronaldo Gaúcho</nome>

<email>[email protected]</email>

<telefone tipo= " residencial" >

<ddd>45</ddd>

<numero>3223-9876</numero>

</telefone>

</cadastro>

Page 30: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Componentes do documento

Nó Atributo

<?xml version="1.0" encoding="iso-8859-1" ?>

<!-- Isto é um comentário -->

<cadastro>

<nome>Ronaldo Gaúcho</nome>

<email>[email protected]</email>

<telefone tipo= " residencial" >

<ddd>45</ddd>

<numero>3223-9876</numero>

</telefone>

</cadastro>

Page 31: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Componentes do documento

Representação em árvorecadastro

nome email telefone

tipo

residencial

ddd numeroRonaldo gaucho [email protected]

3223-987645Elemento

Atributo

Texto

Page 32: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Componentes do documento

Nó Bloco de Texto

<?xml version="1.0" encoding="iso-8859-1" ?>

<!-- Isto é um comentário -->

<cadastro>

<nome>Ronaldo Gaúcho</nome>

<email>[email protected]</email>

<telefone tipo= " residencial" >

<ddd>45</ddd>

<numero>3223-9876</numero>

</telefone>

</cadastro>

Page 33: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Componentes do documento

EntidadesUnidades de referência a conteúdo Representadas pelo símbolo & seguido pelo nome XML possui 5 entidades pré-definidas:

" &quot;

' &apos;

> &gt;

< &lt;

& &amp;

Outras entidades podem ser definidas na DTD

Page 34: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Componentes do documento

Instruções de ProcessamentoSão indicações no documento XML que informam ao browser a necessidade de realizar algum tipo de processamento em relação as tags do documento

<?xml version="1.0"?>

É uma linha de processamento que indica a declaração de um documento XML compatível com XML 1.0, e sem dependência de arquivos externos.

Page 35: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Regras para criação do documento XML

Para que possa ser manipulado como árvore um documento XML deve ser bem formado

Regras para documentos XML genéricos

Ter um único elemento raiz

Não repetir atributo

Valores de atributos estarem entre aspas ou apóstrofes

Não pode haver atributo na tag final

Mesmo nome para a tag inicial e final

Tags de fechamento para todos os elementos

Elementos estarem corretamente aninhados

Page 36: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Regras para criação do documento XML

Pode-se usar:

Letras

Números

Caracteres especiais

sempre que possível evitar: acentos, cedilhas e outros caracteres especiais

Page 37: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Regras para criação do documento XML

Nomes não devem ser iniciados com:

Números

Ex: <22dia>

Caracteres especiais

Ex: <_dia>

Palavras XML ou xml

Ex: <xml_livro>

Page 38: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Regras para criação do documento XML

Nomes não devem conter espaço

Inválido

Ex: <dia da semana>

Válido

Ex: <dia_da_semana>

A linguagem XML faz distinção de letras maiúsculas das minúsculas

<LIVRO> é diferente de:

<livro> que é diferente de :

<Livro>

Page 39: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Regras para criação do documento XML

Para permitir o uso de caracteres especiais dentro do documento XML é necessário realizar a indicação do seu uso, através da propriedade ENCODING, a ser inserida na linha da declaração do documento XML.

<?xml version='1.0' encoding='iso-8859-1'?>

Os principais tipos que definem quais caracteres poderão ser utilizado são:

UTF-8 é o padrão e não considera caracteres especiais

Para exibir caracteres como á ou ç:

Se o arquivo for ASCII, use ISO-8859-1

Se o arquivo for Unicode, use UTF-16

Page 40: Tópicos avançados em internet A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Validação de documentos

O browser pode ser utilizado para validar o documento XML.

Caso o documento possua algum erro, o browser apresenta uma mensagem indicando qual é o erro.

O browser formata o documento como uma árvore.

Os sinais + e -dispostos ao lado dos elementos são utilizados para expandir ou contrair a árvore.

Uso de DTD (Document Type Definition) – define quais são os blocos permitidos em um documento XML e XMLSchema