XML

“A XML não é um programa de software, e
dessa forma não faz nada sozinha. A XML
oferece abordagem padrão para descrição,
captura, processamento e publicação de
informações” (McGrath, 1999).
XML

Possibilita criar nossas próprias tags:
instrução
<?xml version="1.0" ?>
raiz
<PLANETAS>
elementos
<PLANETA>
<NOME>Mercúrio</NOME>
<MASSA>.0553</MASSA>
<DIA UNIDADES = “dias” >58.65</DIA>
<RAIO>1516</RAIO>
<DENSIDADE>.983</DENSIDADE>
</PLANETA>
<PLANETA>
<NOME>Venus</NOME>
<MASSA>.815</MASSA>
<DIA UNIDADES = “dias” >116.75</DIA>
<RAIO>3716</RAIO>
<DENSIDADE>.943</DENSIDADE>
</PLANETA>
<PLANETA>
<NOME>Terra</NOME>
<MASSA>1</MASSA>
<DIA UNIDADES = “dias” >1</DIA>
<RAIO>2107</RAIO>
<DENSIDADE>1</DENSIDADE>
</PLANETA>
</PLANETAS>
XML
Características

Interoperabilidade


Facilita troca de dados
Autodescrição de dados
<PLANETA>
<NOME>Mercúrio</NOME>
<MASSA>.0553</MASSA>
<DIA UNIDADES = “dias” >58.65</DIA>
<RAIO>1516</RAIO>
<DENSIDADE>.983</DENSIDADE>
</PLANETA>

Linguagem personalizada

CML; MathML; SMIL; XHTML; VML; GML
Características

Padronização


Permitida com a utilização do DTD ou Shema
Html nem tão padronizada assim...
XML – DTD e “Schemas”

Bem formado


Válidos


Especifica a sintaxe correta
“Schema”



Necessita de uma DTD ou “Schemas”
DTD


Precisa seguir regras de sintaxe da W3C
<PLANETA>
<NOME>Mercúrio</NOME>
<MASSA>.0553</MASSA>
</PLANETA>
Mais poderoso que a DTD
Especifica tipo de dados; herança, cria tipo de dados…
É necessário que o documento seja bem formado mas não
que seja válido
XML – DTD e “Schemas”
<?xml version="1.0" ?>
<PLANETAS>
<PLANETA>
<NOME>Mercúrio</NOME>
<MASSA>.0553</MASSA>
<DIA UNIDADES = “dias” 8.65</DIA>
<RAIO>1516</RAIO>
<DENSIDADE>.983</DENSIDADE>
</PLANETA>
<PLANETA>
<NOME>Venus</NOME>
<MASSA>.815</MASSA>
<DIA UNIDADES = “dias” 6.75</DIA>
<RAIO>3716</RAIO>
<DENSIDADE>.943</DENSIDADE>
</PLANETA>
<PLANETA>
<NOME>Terra</NOME>
<MASSA>1</MASSA>
<DIA UNIDADES = “dias” >1</DIA>
<RAIO>2107</RAIO>
<DENSIDADE>1</DENSIDADE>
</PLANETA>
</PLANETAS>
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT PLANETAS (PLANETA)*>
<!ELEMENT PLANETA (NOME, MASSA, DIA, RAIO, DENSIDADE)>
<!ELEMENT NOME (#PCDATA)>
<!ELEMENT MASSA (#PCDATA)>
<!ELEMENT DIA (#PCDATA)>
<!ATTLIST DIAUNIDADES CDATA #IMPLIED>
<!ELEMENT RAIO (#PCDATA)>
<!ELEMENT DENSIDADE (#PCDATA)>
Em síntese



Neste ponto temos o arquivo XML com os
dados
Os dados são padronizados por meio da
DTD ou Shema
O que fazer com os dados?


Visualizar? onde?
Processar os dados? Como?
Visualizar: XSL

XSL





Preocupa-se com o formato em que o documento
XML vai ser apresentado
Esse formato depende do visualizador
PDF, HTML, Texto
Conta com auxilio de outras linguagens que podem
ser embutidas. Ex: VBScript, Java.
Como?



Reodernar os elementos
Exibir alguns e ocultar outros
Outros recursos
XSL


Usar uma XSL em planetas.xml
Objetivo: converter planetas.xml em
HTML de modo que apenas os nomes dos
planetas apareçam.
XSL/HTML
<?xml version=“1.0”?>
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="planets.xsl"?>
<xsl:stylesheet version=“1.0” xmlns=“http://www.w3.org/
<PLANETAS>
/1999/xsl/transform”>
<PLANETA>
<NOME>Mercúrio</NOME>
<xsl:template match=“PLANETS”>
<MASSA>.0553</MASSA>
<HTML>
<DIA UNIDADES = “dias”>.65</DIA>
<xsl:apply-templates/>
<RAIO>1516</RAIO>
</HTML>
<DENSIDADE>.983</DENSIDADE>
</xsl:template>
</PLANETA>
<PLANETA>
<xsl:template match=“PLANET”>
<NOME>Venus</NOME>
<P>
<MASSA>.815</MASSA>
<xsl:value-of select=“NAME”/>
</P>
<DIA UNIDADES = “dias”>.75</DIA>
</xsl:template>
<RAIO>3716</RAIO>
</xsl:stylesheet>
<DENSIDADE>.943</DENSIDADE>
</PLANETA>
<PLANETA>
<NOME>Terra</NOME>
<MASSA>1</MASSA>
<DIA UNIDADES = “dias” >1</DIA>
<RAIO>2107</RAIO>
<DENSIDADE>1</DENSIDADE>
</PLANETA>
</PLANETAS>
XSL/ Html
XSL


O navegador mostra apenas os nomes dos
planetas, mas associado a esses nomes
temos uma base de dados em xml.
XSL pode incorporar outras linguagens
Manipular dados


DOM e SAX permitem acessar e manipular os
dados em XML
O DOM “enxerga” o documento XML como uma
árvore
<PLANETAS>
<PLANETA>
<NOME>
Mercúrio
<MASSA>
Massa
<RAIO>
<DENSIDADE>
Manipular dados
<HTML>
<HEAD>
<TITLE> Planetas </TITLE>
<scritpt languagem=“javascript”>
function readXMLDocument( )
{
var XMLdoc, metingsNode
XMLdoc = new ActiveXObject(“Microsof.XMLDOM”)
XMLdoc.load (“planetas.xml”)
meetingsNod = XMLdoc.documentElement
.......
</HEAD>
</HTML>
XML - Navegadores



Natescape 6.0
IE 5
Jumbo
Esquema final
Aplicação em processamento de
imagem

Histórico de uma imagem




Como as imagens foram obtidas
Imagens são brutas
Qual o processamento que ela sofreu
Vantagens de armazenar o histórico



Facilitar a execução da função de tratamento
escolhida
Reaproveitamento do histórico de uma imagem para
outra
Recuperar imagens intermediárias
Historico
Ambiente de processamento de imagem
Processamento
de imagens
1
3
Gerador
do
Histórico
Histórico
2
Processador
Processamento
de imagens
Gerador
de
Códigos
Historico

HML
Será desenvolvida em XML
 Interoperabilidade
 Bom suporte
 Flexibilidade
 Garantia de qualidade
 Independe do gerador de histórico

Historico
<?xml version="1.0" encoding="UTF -8"?>
<HML>
<HISTORICO IMAGEM=”f 3”>
<CABECALHO>
<OBJETIVO>Retirar o ruído aleatório</ OBJETIVO>
<NUM LINHA>256</NUM LINHA>
<NUM COLUNA>256</NUM COLUNA>
<NC MINIMO>0</NC MINIMO>
<NC MAXIMO>255</NC MAXIMO>
</HISTORICO>
<PROCESSAMENTO>
<SET>
<VAR>f2</VAR>
<OPER Nome="Subimagem" NLinhas="256"
NColunas="256" NBandas="3">
<VAR>f1</VAR>
</OPER>
<NUM BANDAS>3</NUM BANDAS>
</SET>
</CABECALHO>
</PROCESSAMENTO>
<HISTORICO IMAGEM=”f 2”>
</HISTORICO>
<CABECALHO>
<PROCESSAMENTO>
<OBJETIVO>Subimagem</ OBJETIVO>
<SET>
<NUM LINHA>2983</NUM LINHA>
<VAR>f3</VAR>
<NUM COLUNA>3540</NUM COLUNA>
<OPER Nome="Efeito_rotacao">
<NC MINIMO>0</NC MINIMO>
<VAR>f2</VAR>
<NC MAXIMO>255</NC MAXIMO>
</OPER>
<NUM BANDAS>3</NUM BANDAS>
</SET>
</CABECALHO>
</PROCESSAMENTO>
</HISTORICO>
<HISTORICO IMAGEM=”f 1”> </HISTORICO>
<CABECALHO> </MPI>
<NOME>f 1</NOME>
<NUM LINHA>2983</NUM LINHA>
<NUM COLUNA>3540</NUM COLUNA>
<NC MINIMO>0</NC MINIMO>
<NC MAXIMO>255</NC MAXIMO>
<NUM BANDAS>3</NUM BANDAS>
</CABECALHO>
Outras aplicações


Quando é vantajoso usar o XML com
banco de dados?
É vantajosos usar XML para montar um
site?
Download

Conceitos de XML