Upload
internet
View
110
Download
2
Embed Size (px)
Citation preview
Tópicos avançados em internet A
Carlos Oberdan Rolim
Ciência da ComputaçãoSistemas de Informação
XML
eXtensible Markup Language
Histórico
O que é Linguagem?
Linguagem é a estrutura utilizada para possibilitar a comunicação – troca 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.
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
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.
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.
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.
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
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.
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.
Histórico
XML freqüentemente é referida como contendo 20% da complexidade e 80% das funcionalidades da SGML
StandardGeneralized Markup Language
HyperTextMarkupLanguage
eXtensible Markup Language
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
XML vs HTML
Exemplo de HTML
<HTML>
<HEAD>
<TITLE>Exemplo de Documento</TITLE>
</HEAD>
<BODY>
<H1> Exemplo HTML </H1>
<br> Este é um exemplo básico de documento HTML.
</BODY>
</HTML>
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)
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)
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
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
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
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.
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
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
Aplicabilidade
DatabasesDatabases
Arquivos de ConfiguraçãoArquivos de ConfiguraçãoServidores de Aplicação/WebServidores de Aplicação/Web
The WebThe Web
Web Services
DOM/SAXXPATH/
XQUERY
XSLT
XSL-FO
XSLT
HTTP
XML
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>
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
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
Componentes do documento
Árvore XML
raiz
nós
Galhos/folhas
Elementos
Atributos
Bloco de Texto
Comentários
Declaração
Entidades
Instruções de processamento
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>
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>
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>
Componentes do documento
Representação em árvorecadastro
nome email telefone
tipo
residencial
ddd numeroRonaldo gaucho [email protected]
3223-987645Elemento
Atributo
Texto
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>
Componentes do documento
EntidadesUnidades de referência a conteúdo Representadas pelo símbolo & seguido pelo nome XML possui 5 entidades pré-definidas:
" "
' '
> >
< <
& &
Outras entidades podem ser definidas na DTD
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.
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
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
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>
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>
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
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