Arquivo de Outubro de 2007

W3C Escritório Brasil

A W3C acaba de divulgar seu novo escritório no Brasil: W3C Escritório Brasil. Está localizada na mesma estrutura do NIC.br, em São Paulo.

Sua intenção é, como eles dizem, “aumentar a interação com a comunidade de língua portuguesa com a instalação deste escritório, principalmente porque o status da arte do ambiente tecnológico no Brasil está em perfeita sintonia com as tendências no W3C, tais como mobilidade, aplicações e vídeo para o mundo Web.

W3C Escritório Brasil

São palavras da própria W3C referente ao Brasil, estamos realmente no caminho certo. Também não é a toa, tantas referências, profissionais e seus excelentes conteúdos a disposição do público, se igualando no nível dito acima.
Veja 3 exemplos na qual todos conhecemos:

www.tableless.com.br
www.revolucao.etc.br
www.maujor.com

É o reconhecimento batendo a nossa porta!

Abração!
Daniel Accorsi.

XML Básico e Prático - Parte 1 / 3

Estou começando um curso rápido de XML com base em algumas ideias sugeridas no site americano http://www.w3schools.com, que por sinal é uma excelente fonte. Também adicionei algumas informações que são importantes para o aprendizado.
Pretendo de forma bem simples mostrar o que é, como funciona e como implementar XML em suas páginas (ou aplicações). Depois deste, partimos para um tópico mais avançado.

Introdução

Levo em consideração que o leitor já tenha certo conhecimento em HTML.

XML significa EXtensible Markup Language

O foco do XML é o armazenamento de dados e a informação do que se trata esses dados. O XML não se preocupa em como mostrar essas informações, mas somente em o que mostrar.

Pelo que você já tem visto por aí, suas marcações são parecidas com HTML, porém sua função é completamente diferente. Aqui trago essa diferença entre HTML e XML.

Veja que interessante, como foi visto, XML se concentra nos dados e o que exibir, enquanto que HTML se concentra em como exibir esses dados e onde exibir. Por enquanto, pense em XML como uma fonte de dados.

As tags do XML não são pré-definidas como em HTML, ou seja, as tags são criadas pelo autor do documento para nomear uma informação em seu conteúdo. XML são documentos auto-descritivos, ao abri-lo em um editor de texto seu entendimento é imediato. E o mais importante, XML é recomendado pelo W3C e possui alguns padrões já estabelecidos.

Resumindo em miúdos e de uma forma bem simples, XML consegue armazenar os dados fora do HTML e podem ser lidos independente de plataforma ou browser.

Seu uso se estende a muitas finalidades, como armazenamento de dados (como dito acima) e compartilhamento de dados; por exemplo, você possui um comércio eletrônico voltado a informática e deseja disponibilizar somente algumas informações de seus produtos da categoria “memórias”, cria-se então um XML como base nesse filtro, então é compartilhado com seu representante. Esse documento poderá ser aberto tanto por outros sites como por aplicativos desktop.

Sintaxe

Veja um exemplo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>

A primeira linha é a declaração: versão do XML e o tipo de codificação do caractere. Nesse caso usamos a versão 1.0 com ISO-8859-1 (Latin-1/West European).
A segunda linha é o nó raiz do documento, informa que teremos informações referentes a uma “nota” (note). As 4 linhas seguintes nos indica os nós filhos: to, from, heading and body. E por fim, fechamos o nó raiz com a tag “</note>”. É aí que nosso documento XML acaba, não há mais informações.

Pontos importantes:

- Ao escrever documentos XML, é obrigatório o fechamento das tags. Em HTML podemos deixar algumas tags em aberto, muitas vezes o navegador “entende” sua intenção. Mas em XML isso não é possível.

- XML é sensível ao caso. A tag <Mensagem> é diferente de <mensagem>.

- Cuidado com as inconsistências de tags. Exemplo:
Certo: <b><i>Texto documento</i></b>
Errado: <b><i>Texto documento</b></i>

- É obrigatório um nó (elemento) raiz, como o exemplo acima. Todos os dados são inseridos em elementos filhos.

- Os atributos (veremos a seguir) devem estar entre aspas:
Errado: <note date=12/11/2002>
Certo: <note date=”12/11/2002″>

- Os espaços em branco no XML são preservados. Exemplo:
Olá      meu nome é Daniel.

- Os comentários devem ser escritos como em HTML: <!– comentário –>

Você percebe que não há nada de especial em documentos XML? São arquivos texto comuns com formatações de fácil compreensão. Seu entendimento é obtido através das próprias tags criadas pelo autor (para isso existem as boas práticas de desenvolvimento).

Elementos

Elementos em XML são as tags que armazenam as informações. Veja o exemplo abaixo:

<note>
<to>Tove</to>
<from>Jani</from>
<body>Don’t forget me this weekend!</body>
</note>

Quais são nossos elementos de armazenamento de informações?
<to>, <from> e <body>

O que esse documento parece para você? Uma mensagem ou um e-mail, certo? Veja como é fácil sua compreensão.

Se o autor resolve adicionar mais informações no futuro:

<note>
<date>2002-08-01</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don’t forget me this weekend!</body>
</note>

Isso não gera erro, pois XML pode ser alterado ou expandido.

Vários elementos ou hierarquia

Veja um exemplo abaixo de vários registros de livros em um XML:

<book>
<title>My First XML</title>
<prod id=”33-657″ media=”paper”></prod>
<chapter>Introduction to XML
<para>What is HTML</para>
<para>What is XML</para>
</chapter>
<chapter>XML Syntax
<para>Elements must have a closing tag</para>
<para>Elements must be properly nested</para>
</chapter>
</book>

Saída:
My First XML
Introduction to XML
• What is HTML
• What is XML
XML Syntax
• Elements must have a closing tag
• Elements must be properly nested

Aprendemos que nesse caso, o que faz a separação de registros é o elemento <chapter>, por sua repetição. Podemos chamar também de agrupamento, veja os detalhes:

Book é o elemento raiz; Title, prod e chapter são elementos filhos de book. Book é o elemento pai (parent element); Title, prod e chapter são elementos irmãs, pois estão debaixo de um mesmo pai.

Tipos diferentes

Cada elemento XML pode armazenar tipos diferentes de informações. O exemplo acima mostra que title está armazenando somente texto (element content), o elemento prod está vazio (empty content), o elemento chapter está armazenando tanto uma informação como outros elementos (mixed content).

Nomes dos elementos

Devemos seguir as seguintes regras para garantir a sintaxe correta na definição dos nomes dos elementos em XML:

- Podem conter letras, números e outros caracteres;
- Não podem começar com números ou qualquer tipo de pontuação;
- Não podem começar com a palavra “xml”;
- Não podem conter espaços.

Qualquer nome pode ser criado, em XML não há palavra reservadas, mas tente sempre usar o bom senso e lembre-se que outros desenvolvedores poder dar continuidade em seu trabalho.

Os nomes podem ser do tamanho que quiser, não há um limite de caracteres, mas não exagere, sugiro ter um tamanho suficiente para o entendimento do documento, exemplo: <titulo_livro> ao invés de <o_titulo_do_livro>.

Documentos XML são geralmente uma conseqüência de uma estrutura de banco de dados (SQL, MySQL, Oracle, Access), dessa forma, tente nomear seus elementos acompanhando seu banco. Procure não utilizar qualquer tipo de acentuação.

O único caractere reservado em XML é o “:”, este é usado para namespaces (veremos mais pra frente).

Por enquanto ficamos por aqui, estarei continuando.

Postem seu comentários. Qualquer dúvida estamos aí.

EXI - Compressão XML

Sabemos que XML tem sido solução para qualquer tipo de situação hoje em dia tanto para web como para aplicações desktop, e principalmente para integração multi-plataforma. Seu uso quase que virou uma obrigação, e por causa de suas marcações personalizadas dentro de um padrão já estabelecido, tem-se usado em qualquer tipo de aplicação.

Agora o XML Work Group da W3C desenvolveu uma técnica de compressão dos arquivos XML. Não se preocupem que nada vai mudar e nenhum padrão novo está sendo estabelecido. Confesso que quando comecei a ler fiquei um pouco preocupado, mas logo vi que são recursos para ajudar os desenvolvedores e usuários finais, afinal, nada como uma página mais ágil.

Por causa de seu crescimento natural, temos visto aplicações gerarem enormes documentos XML, e o tempo do analisador (parser, XML DOM por exemplo) nessa leitura é muito grande, gerando insatisfação por parte dos usuários, e olha que estamos falando de aplicações comuns, como um site, um software, e para os dispositivos móveis? nem da pra imaginar. Com base nesse problema (principal), chegou a uma solução prática, sua compressão (a primeira publicação oficial do EXI -Efficient XML Interchange- foi em fevereiro de 2007).

Funciona da seguinte maneira, o objetivo do EXI é codificar o XML usando técnicas de compressão tendo no final um formato mais compacto, não “gastando” muito processamento na leitura. No ponto de visa de aplicações, o compartilhamento (ou leitura) de EXI é exatamente como em XML, exceto que ao invés de usar um analisador XML, usa-se então um analisador EXI, tipo um EXI DOM.

Ainda está em projeto, principalmente no que diz respeito na leitura desse formato. Logo no final alguns links incluindo o framework de testes. Segundo a XML Work Group, em dezembro de 2007 será publicada algumas novidades e informações mais concretas sobre a tecnologia.

Acompanhando essa tendência, estarei publicando aqui um tutorial XML Básico passo a passo com as definições e padrões recomendados pela W3C.

Alguns link externos:
- Publicação EXI na W3C Q&A Weblog
- EXI Work Group
- XML Work Group
- EXI - Framework de testes W3C

Abração!
Daniel Accorsi

Descubra o valor de seu blog

Estava indo por aqui e por ali e me deparei com um post um tanto diferente, Dane Carlson desenvolveu uma “aplicaçãozinha” que calcula o valor de seu blog. De uma conferida(abaixo), é bem interessante.

E melhor, no resultado ele disponibilizou um código HTML para inserir na lateral de seu blog, informando sempre o valor atualizado, dá pra crê?

Ah, detalhe: powered by Technorati.

Investidores…visitem os blogs! ;)

Quanto que deu o seu? um bom negócio pode começar agora.

Veja a ferramenta no blog Business Opportunities

Você tem dificuldades de entender CSS?

Atualizado 25/01/2008 - Informo a todos que estamos com endereço novo, os mesmos post permaneceram. Acesse http://www.alvoconhecimento.com.br e atualize seu agregador.

Para acessar esse post em nosso novo endereço, clique aqui.



Uma dica bem legal para quem tem dificuldades de entender a sintaxe do CSS. Um carinha fez de uma maneira bem didática a explicação em forma de diagramas. Fácil de entender!! No final do post dele alguns links para se aprofundar no estudo, inclusive no desenvolvimento de layouts.

É uma excelente dica para quem está começando, mas as informações estão em inglês, acredito que não terá problemas. ;)


CLIQUE PARA ENTRAR
http://www.rikkertkoppes.com/thoughts/css-syntax/

Abração!
Daniel Accorsi.

AMD Opteron, enfim, quatro núcleos


AMD Opteron, isso mesmo, quatro núcleos. Entrei por acaso no site da AMD do Brasil e vi a mídia(2) de uma parceria entre Microsoft e AMD em seu novo processador de quatro núcleos. A promessa da AMD é garantir um melhor aproveitamento de energia, garantindo os núcleos sem perda de desempenho, ou seja, trocando por miúdos são realmente quatro núcleos…bom, é a promessa. No site tem até uma aplicação para estimativa de consumo de energia.

Eles estão batendo forte nessa questão de energia, aquela velha opinião formada sobre super aquecimento da AMD, claro que, recentemente essa questão tem minimizado, mas estão se superando dessa vez, será?! quem sabe, eles estão chamando de inovação. E ainda estão dizendo que houve aumento de 124% com relação ao dual core. Eu acredito, afinal, é a AMD.

E aí, será mesmo? eu particularmente gostaria de conhecer pessoas que já possuem certo conhecimento na prática!

Site da AMD Brasil
Página referente ao AMD Opteron

Agora, para fica expert no assunto, de uma conferida no artigo do Clube do Hardware, que conta toda a historia até os quatro núcleos:
http://www.clubedohardware.com.br/artigos/1155

Abraços,
Daniel Accorsi.

Próxima Página »