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?