Introdução ao XHTML
HTML é a linguagem mais utilizada na construção de websites em todo o mundo. É também a forma mais fácil e prática de se fazê-los, inserindo conteúdo imagético e textual para proporcionar uma experiência atrativa para o usuário. Não se caracteriza como uma linguagem de programação, pois não pode executar qualquer comando ou gerar conteúdo dinâmico. No entanto é a base necessária para exibir corretamente o conteúdo gerado por outras linguagens na web.
A linguagem HTML é constituída basicamente por tags, que nada mais são do que instruções sobre o tipo de conteúdo que elas delimitam. Assim, temos a tag <p>texto</p> que indica que o seu conteúdo (texto) deve ser tratado como parágrafo, a tag <h1>cabeçalho</h1> que indica que o conteúdo deve ser tratado como cabeçalho, etc.
XML e HTML
A linguagem XML (eXtensible Markup Language) tem muitas características em comum com o HTML: possui tags, atributos e valores. No entanto, o XML é utilizado em muitos contextos, ao contrário do HTML, não é útil apenas para a criação de websites. XML é uma linguagem que permite a criação de outras linguagens. Você pode, por exemplo, criar as suas próprias tags descrevendo o que elas contém. Considerando que essas tags se autodefinem, esses dados podem ser acessados por qualquer programa e este pode extrair somente uma informação específica, combiná-la com dados de outras fontes ou utilizar com qualquer propósito.
Exemplo:
<nome>Joao</nome>
<idade>25</idade>
Visto dessa maneira, parece interessante que o HTML seja completamente substituído pelo XML. No entanto, justamente por essa pluralidade é que se tornaria muito trabalhoso implantar o uso efetivo do XML. Ainda deve-se considerar que já existe muito conteúdo escrito em HTML na web e os browsers atuais já sabem interpretá-lo, o que dificultaria ainda mais uma conversão completa. Pensando nisso, o que o W3C fez foi re-escrever o HTML em XML. Essa linguagem passou a ter todas as vantagens do HTML e as regras de sintaxe do XML, herdando parte de sua flexibilidade, assim nasceu o XHTML (eXtensible Hypertext Markup Language). O caminho traçado por essa nova tecnologia ainda permitiu uma maior integração ao CSS, separando definitivamente o conteúdo da página da sua formatação.
Ainda assim, a transição do HTML para o XHTML não é uma imposição rígida, com um abismo separando o antigo do novo. Existem basicamente 3 padrões utilizáveis para o período de adaptação do XHTML: o primeiro é o chamado transicional (transitional), que permite o uso de tags depreciadas; o segundo é o chamado estrito (strict), onde são proibidos o uso de tais tags, essa opção é para o XHTML propriamente dito; e o terceiro é o chamado de frameset, que permite o uso de tags depreciadas e frames. A definição de um padrão dessa natureza é feita através de declarações de tipo de documento inseridos como elemento pré textual no código HTML, conhecidos como doctypes.
XHTML e CSS
Uma das principais vantagens do XHTML sobre o HTML é a maior integração e suporte às folhas de estilo (CSS - Cacading Style Sheet - Folha de Estilos em Cascata). O CSS é um conjunto de regras especificadas para informar ao navegador como ele deve exibir um determinado elemento. Apesar de o HTML fornecer formatação de seus elementos por meio de atributos, essa formatação tinha que ser aplicada elemento por elemento em todas as páginas.
O CSS permite separar a estrutura da página de sua formatação, utilizando uma mesma folha de estilos para todas as páginas de um site. Isso permite uma grande redução no código de uma página e permite trocar a formatação de um elemento de todo o site apenas modificando um arquivo.
Exemplo:
Sem CSS as especificações estão no mesmo documento
<p><font face="Verdana, Geneva, sans-serif" color="#000000" size="12px">Texto 1</font></p>
<p><font face="Verdana, Geneva, sans-serif" color="#000000" size="12px">Texto 2</font></p>
Com CSS há uma separação entre o conteudo (arquivo XHTML) e sua formatação (arquivo CSS)
<p>Texto 1</p>
<p>Texto 1</p>
--
p { font-family: Verdana, Geneva, sans-serif; font-size:12px; color:#000000; }
Declarações Doctype e namespace
As declarações Doctype (tipo de documento) não representam um elemento XHTML, e sim um comentário no formato SGML. Representam a primeira etapa na codificação de uma página da web, informando ao browser qual o tipo de documento (DTD - Document Type Definition) está sendo acessado, assim, o browser pode interpretar corretamente o conteúdo da página. A declaração Doctype informa ao browser qual o padrão XHTML utilizado e informa o caminho para a definição do tipo de documento.
Para o HTML 4 temos:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Para o XHTML Transicional 1.0:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Para o XHTML estrito:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
E finalmente, para o XHTML frameset:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
O namespace é um conjunto de atributos declarados dentro da tag <html> que indica o caminho para a lista de tags permitidas para o documento definido no Doctype.
Exemplo:
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml: lang="en">







