Tópicos avançados em
internet A
Carlos Oberdan Rolim
Ciência da Computação
Sistemas 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
Hyper
Text
Markup
Language
Standard
Generalized
Markup
Language
eXtensible
Markup
Language
XML freqüentemente é referida como contendo 20% da
complexidade e 80% das funcionalidades da SGML
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 &eacute; um exemplo
b&aacute;sico de documento HTML.
</BODY>
</HTML>
XML vs HTML
Necessidade de novos padrões
Comé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
Elementos
Declaração do XML
<?xml version="1.0" ?>
Elemento raiz
<recado>
<de> Professor </de>
<para> Alunos </para>
<assunto> Aula 2 </assunto>
<texto> Exemplo de um XML</texto>
</recado>
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
A ferramenta de busca deve reconhecer toda a
pesquisada como um índice e procura nos
estrutura do documento, identificando cada tag
diversos documentos a sua ocorrência.
como um objeto que pode ser manipulado.
Os dados do documento são todos do mesmo
Um documento pode conter diferentes tipos de
tipo.
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
Retorna uma lista de registros, que pode
informação sobre eles como resultado da
pertencer a vários documentos diferentes
pesquisa.
gerando o documento resultante da pesquisa.
Realiza apenas a pesquisa em um índice
Além de realizar a pesquisa por meio de
previamente definido.
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
Web Services
HTTP
Databases
DOM/SAX
XPATH/
XQUERY
XML
XSLT
The Web
XSL-FO
XSLT
PDF
Arquivos de Configuração
Servidores de Aplicação/Web
Estrutura de um documento XML
Um documento XML é composto por uma hierarquia de
elementos a partir de uma raiz.
<?xml version="1.0"?>
Declaração XML
<estante>
<livro>
<titulo>Service Oriented Architecture</titulo>
Elemento
<autor>Thomas Erl</autor>
Raíz
<ano>2004</ano>
</livro>
<livro>
<titulo>PHP para Iniciantes</titulo>
Elementos
<autor>Marcos S. Santos</autor>
<ano>2000</ano>
</livro>
Conteúdo
</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 árvore
cadastro
email
nome
Ronaldo gaucho
[email protected]
Elemento
Atributo
Texto
telefone
tipo
residencial
ddd
45
numero
3223-9876
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
Entidades
Unidades 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
Componentes do documento
Instruções de Processamento
Sã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
Download

XML