Scalable Vector Graphics um exemplo de uso de XML Universidade Federal do Ceará, 1 de Abril de 2008 por Edilson Ribeiro Júnio e José Maria Silveira Neto.
Introdução Este é exemplo de uso de arquivos XML em uma situação real. Escolhemos o padrão SVG por se tratar de um formato amplamente utilizado e que é um formato baseado em XML.
Cenário Uma imagem no computador pode ser classificada como raster ou vetorial.
Raster Uma imagem raster armazena a imagem como mapa de bits onde cada ponto do mapa (pixel) representa uma cor. Esse formato é adequado para armazenar fotografias mas é amplamente utilizado para os mais diversos usos.
Exemplo Raster
Vetorial O formato vetorial armazena uma imagem em função de primitivas gráficas como círculos, quadrados e curvas. Essas primitivas são armazenadas de em uma forma matemática paramétrica, o que permite que a imagem sofra transformações sem perder qualidade, por exemplo, ela pode sofrer escala (zoom) sem perder qualidade.
Exemplo Vetorial
Desafios Um bom formato para gráficos vetoriais precisava atender os reguintes requisitos: Estrutura; é necessário escolher uma forma de organizar as entidades que representam uma imagem (as primitivas, operações e filtros). A maneira mais natural seria organizar as entidades de uma maneira hierárquica mas outras maneiras seriam possíveis.
Desafios (mais) Semântica: os gráficos vetoriais possuem uma forte carga semântica já que as entidades podem ser descritas (um círculo de raio 10 no ponto 20 e 30). Seria interessante preservar essa semantica no formato. Interoperabilidade: parsers para abrir e fechar o formato devem ser fáceis de serem desenvolvidos ou acoplados a diversas aplicações.
Desafios (e mais) Tamanho: os arquivos gráficos são amplamente utilizados, geralmente em uma única aplicação pode utilizar vários arquivos gráficos. Se o formato de arquivo precisar de muito espaço as aplicações se tornaram pesadas e ocuparam muito espaço em disco.
Solução SVG é a sigla em inglês para Scalable Vector Graphics é um formato aberto prosto pela W3C ( World Wide Web Consortium ) para descrever arquivos gráficos vetoriais em duas dimensões, estáticos ou animados. SVG pode ser puramente declarativo ou incluir scripts e hyperlinks.
Exemplo de Código SVG <svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;467&quot; height=&quot;462&quot;> <rect x=&quot;80&quot; y=&quot;60&quot; width=&quot;250&quot; height=&quot;250&quot; rx=&quot;20&quot; style=&quot;fill:#ff0000; stroke:#000000; stroke-width:2px;&quot; /> <rect x=&quot;140&quot; y=&quot;120&quot; width=&quot;250&quot; height=&quot;250&quot; rx=&quot;40&quot; style=&quot;fill:#0000ff; stroke:#000000; stroke-width:2px; fill-opacity:0.7;&quot; /> </svg>
Examplo de gráfico SVG
Vantagens Arquivos Raster podem ser embutidos em formato binário dentro de um SVG. É baseado em texto. Isso torna já facilita a criação de parsers. Tem suporte a Unicode. Suporta estruturas dados comuns na computação como listas, registros e árvores.
Vantagens (mais) É aplicável para uma larga gama de tipos de imagens (mas não todas). É independente de plataforma e portanto imune a mudanças de tecnologia. É possível ampliar ou reduzir o formato de maneira compatível através de ajustes no esquema. Sua natureza verbal propicia uma boa eficiencia com compactação.
Desvantagens A sintáxe do XML é redundante e em certos casos os arquivos SVG podem ser maiores se comparados com Raster. Arquivos SVG podem ficar muito grandes e podem afetar a eficiencia das aplicações.
Referências http://en.wikipedia.org/wiki/SVG  http://en.wikipedia.org/wiki/Vector_graphics  http://en.wikipedia.org/wiki/XML http://www.w3.org/2000/svg
Obrigado! Universidade Federal do Ceará, 1 de Abril de 2008

SVG como exemplo de XML

  • 1.
    Scalable Vector Graphicsum exemplo de uso de XML Universidade Federal do Ceará, 1 de Abril de 2008 por Edilson Ribeiro Júnio e José Maria Silveira Neto.
  • 2.
    Introdução Este éexemplo de uso de arquivos XML em uma situação real. Escolhemos o padrão SVG por se tratar de um formato amplamente utilizado e que é um formato baseado em XML.
  • 3.
    Cenário Uma imagemno computador pode ser classificada como raster ou vetorial.
  • 4.
    Raster Uma imagemraster armazena a imagem como mapa de bits onde cada ponto do mapa (pixel) representa uma cor. Esse formato é adequado para armazenar fotografias mas é amplamente utilizado para os mais diversos usos.
  • 5.
  • 6.
    Vetorial O formatovetorial armazena uma imagem em função de primitivas gráficas como círculos, quadrados e curvas. Essas primitivas são armazenadas de em uma forma matemática paramétrica, o que permite que a imagem sofra transformações sem perder qualidade, por exemplo, ela pode sofrer escala (zoom) sem perder qualidade.
  • 7.
  • 8.
    Desafios Um bomformato para gráficos vetoriais precisava atender os reguintes requisitos: Estrutura; é necessário escolher uma forma de organizar as entidades que representam uma imagem (as primitivas, operações e filtros). A maneira mais natural seria organizar as entidades de uma maneira hierárquica mas outras maneiras seriam possíveis.
  • 9.
    Desafios (mais) Semântica:os gráficos vetoriais possuem uma forte carga semântica já que as entidades podem ser descritas (um círculo de raio 10 no ponto 20 e 30). Seria interessante preservar essa semantica no formato. Interoperabilidade: parsers para abrir e fechar o formato devem ser fáceis de serem desenvolvidos ou acoplados a diversas aplicações.
  • 10.
    Desafios (e mais)Tamanho: os arquivos gráficos são amplamente utilizados, geralmente em uma única aplicação pode utilizar vários arquivos gráficos. Se o formato de arquivo precisar de muito espaço as aplicações se tornaram pesadas e ocuparam muito espaço em disco.
  • 11.
    Solução SVG éa sigla em inglês para Scalable Vector Graphics é um formato aberto prosto pela W3C ( World Wide Web Consortium ) para descrever arquivos gráficos vetoriais em duas dimensões, estáticos ou animados. SVG pode ser puramente declarativo ou incluir scripts e hyperlinks.
  • 12.
    Exemplo de CódigoSVG <svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;467&quot; height=&quot;462&quot;> <rect x=&quot;80&quot; y=&quot;60&quot; width=&quot;250&quot; height=&quot;250&quot; rx=&quot;20&quot; style=&quot;fill:#ff0000; stroke:#000000; stroke-width:2px;&quot; /> <rect x=&quot;140&quot; y=&quot;120&quot; width=&quot;250&quot; height=&quot;250&quot; rx=&quot;40&quot; style=&quot;fill:#0000ff; stroke:#000000; stroke-width:2px; fill-opacity:0.7;&quot; /> </svg>
  • 13.
  • 14.
    Vantagens Arquivos Rasterpodem ser embutidos em formato binário dentro de um SVG. É baseado em texto. Isso torna já facilita a criação de parsers. Tem suporte a Unicode. Suporta estruturas dados comuns na computação como listas, registros e árvores.
  • 15.
    Vantagens (mais) Éaplicável para uma larga gama de tipos de imagens (mas não todas). É independente de plataforma e portanto imune a mudanças de tecnologia. É possível ampliar ou reduzir o formato de maneira compatível através de ajustes no esquema. Sua natureza verbal propicia uma boa eficiencia com compactação.
  • 16.
    Desvantagens A sintáxedo XML é redundante e em certos casos os arquivos SVG podem ser maiores se comparados com Raster. Arquivos SVG podem ficar muito grandes e podem afetar a eficiencia das aplicações.
  • 17.
    Referências http://en.wikipedia.org/wiki/SVG http://en.wikipedia.org/wiki/Vector_graphics http://en.wikipedia.org/wiki/XML http://www.w3.org/2000/svg
  • 18.
    Obrigado! Universidade Federaldo Ceará, 1 de Abril de 2008