Apostila XHTML
-
Upload
ricardo-terra -
Category
Education
-
view
167 -
download
2
Transcript of Apostila XHTML
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008
XHTML
Ricardo Terra rterrabh [at] gmail.com
XHTML 1
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 2
CV Nome: Ricardo Terra Email: rterrabh [at] gmail.com www: ricardoterra.com.br Twitter: rterrabh Lattes: lattes.cnpq.br/ 0162081093970868
Ph.D. (UFMG/UWaterloo), Post-Ph.D. (INRIA/Université Lille 1)
Background Acadêmico: UFLA (desde 2014), UFSJ (1 ano), FUMEC (3 anos), UNIPAC (1 ano), FAMINAS (3 anos)
Profissional: DBA Eng. (1 ano), Synos (2 anos), Stefanini (1 ano)
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 3
Introdução ao XHTML
n O que é? q XHTML significa EXtensible HyperText Markup Language q XHTML objetiva substituir HTML q XHTML é quase idêntico ao HTML 4.01 q XHTML é uma versão mais restrita e limpa do HTML q XHTML é HTML definido como um XML q XHTML é uma recomendação W3C
n Se tornou uma recomendação em Janeiro de 2000
n Em síntese, XHTML é uma combinação de HTML e XML q isto é, todos os elementos no HTML 4.01 com a sintaxe do XML
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 4
Introdução ao XHTML
n XHTML é definido como a última versão do HTML q Irá gradualmente substituir o HTML
n Todos os navegadores suportam XHTML q XHTML é compatível com HTML 4.01
n Até mesmo o site do W3Schools foi convertido para XHTML
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 5
Motivação
n Muitas páginas na Internet contêm HTML "ruim"
n O seguinte código HTML funciona bem se você visualizá-lo em um navegador, mesmo pelo fato de ele não seguir as regras HTML:
<html>
<head>
<title>This is bad HTML</title>
<body>
<h1>Bad HTML
</body>
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 6
Motivação
n XML é uma linguagem de marcação em que tudo tem que ser marcado corretamente, o que resulta em documentos bem formados
n XML foi desenvolvida para descrever dados e a HTML foi desenvolvida para apresentar dados
n Atualmente, existem diversas tecnologias de navegadores, alguns deles funcionam em computadores, mas alguns em celulares, palms e hand helds. Alguns equipamentos não tem recursos ou poder de interpretar uma linguagem de marcação "ruim"
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 7
Motivação
n Entretanto, combinar HTML e XML, e suas forças, nós conseguimos uma linguagem de marcação que é útil agora e futuramente: XHTML
n Páginas XHTML podem ser lidas por todos os dispositivos habilitados para XML
n Enquanto toda a Internet atualiza para navegadores com suporte à XML, XHTML concede a oportunidade de escrever documentos bem formados agora, que funcionam em todos os navegadores e que serão sempre compatíveis com os anteriores
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 8
Diferenças entre HTML e XHTML
n XHTML não é muito diferente do HTML q a partir de agora, você deve começar a escrever as marcações (tags)
sempre em minúsculas e sempre fechar toda marcação aberta
n Diferenças mais importantes: q Elementos XHTML devem sempre ser propriamente aninhados q Elementos XHTML devem sempre ser fechados q Elementos XHTML devem sempre estar em minúsculo q Documentos XHTML devem possuir somente um elemento raiz
n Estrutura básica de um documento XHTML: <html>
<head> ... </head>
<body> ... </body>
</html>
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 9
Erros comuns: aninhamento
n Errado: <b><i>This text is bold and italic</b></i>
n Certo: <b><i>This text is bold and italic</i></b>
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 10
Erros comuns: fechamento
n Errado: <ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
<li>Milk</li> </ul>
n Certo: <ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
</li> <li>Milk</li>
</ul>
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 11
Erros comuns: fechamento
n Errado: <p>This is a paragraph <p>This is another paragraph
n Certo:
<p>This is a paragraph</p> <p>This is another paragraph</p>
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 12
Erros comuns: fechamento
n Errado: Quebra de linha: <br> Linha horizontal: <hr>
Imagem: <img src="happy.gif" alt="Happy face">
n Certo:
Quebra de linha : <br /> Linha horizontal : <hr /> Imagem: <img src="happy.gif" alt="Happy face" />
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 13
Erros comuns: escrita dos elementos
n Errado: <BODY> <P>This is a paragraph</P> </BODY>
n Certo:
<body> <p>This is a paragraph</p> </body>
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 14
Erros comuns: escrita dos atributos
n Errado: <table WIDTH="100%">
n Certo: <table width="100%">
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 15
Erros comuns: uso de aspas
n Errado: <table width=100%>
n Certo: <table width="100%">
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 16
Erros comuns: minimização de atrib.
n Errado: <input checked> <input readonly> <input disabled> <option selected> <frame noresize>
n Certo: <input checked="checked" /> <input readonly="readonly" /> <input disabled="disabled" /> <option selected="selected" /> <frame noresize="noresize" />
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 17
Erros comuns: minimização de atrib.
n A lista abaixo refere-se aos atributos minimizados em HTML e como devem ser corretamente escritos em XHTML:
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 18
Uso de id ao invés de name
n HTML 4.01 define um atributo name para os elementos a, applet, frame, iframe, img e map. Em XHTML o atributo name está descontinuado. Deve ser usado o atributo id
n Errado: q <img src="picture.gif" name="picture1" />
n Certo: q <img src="picture.gif" id="picture1" />
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 19
Compatibilidade
n Para funcionar com navegadores antigos por um tempo, deve-se utilizar tanto name quanto id com valores idênticos. Observe: q <img src="picture.gif" id="picture1" name="picture1" />
n Para fazer seu XHTML compatível com os navegadores atuais, deve-se adicionar um espaço extra antes do fechamento da marcação "/>". Observe: q <a href="terra.html"/>
para q <a href="terra.html" />
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 20
Elementos XHTML obrigatórios
n Todos os documentos XHTML devem ter uma declaração DOCTYPE. Os elementos html, head e body devem estar presentes e o elemento title deve estar presente dentro no elemento head
q <!DOCTYPE tipo do documento vem aqui>
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Título vem aqui</title> </head>
<body> </body> </html>
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 21
XHTML DTD
n O padrão XHTML define três DTDs q O mais comum é o XHTML Transitional
n O XHTML é vinculado ao DTD pela declaração DOCTYPE e esta deve estar na primeira linha do XHTML
n A declaração DOCTYPE define o tipo do documento, por exemplo:
q <!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 22
XHTML DTD
n Os três DTDs: q DTD especifica a sintaxe de uma página web em SGML
q DTD é utilizado por aplicações SGML, tal como HTML, para especificar regras a serem aplicadas nas marcações de documentos de um tipo particular, incluindo o conjunto de elementos e declarações de entidade
q XHTML é especificado em um DTD
q Um XHTML DTD descreve de forma precisa, em uma linguagem lida pelo computador (computer-readable), a gramática e sintaxe permitida de marcações XHTML
n Atualmente, existem 3 XHTML DTDs: q STRICT, TRANSITIONAL e FRAMESET
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 23
XHTML DTD
n XHTML 1.0 Strict
q <!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
q Inclui elementos e atributos que não estão descontinuados ou que não aparecem em framesets
q Use quando realmente quiser marcações limpas, livre de desordem de apresentação. Use ela em conjunto com CSS (Cascading Style Sheets)
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 24
XHTML DTD
n XHTML 1.0 Transitional
q <!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
q Inclui tudo do Strict, mais elementos e atributos descontinuados
q Use quando necessitar tirar vantagens de características de apresentação do HTML e quando você quiser suportar navegadores que não entendam CSS
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 25
XHTML DTD
n XHTML 1.0 Frameset
q <!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1- frameset.dtd">
q Inclui tudo do Transitional, mais frames
q Use quanto quiser usar frames HTML para particionar a janela do navegador em dois ou mais frames
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 26
Referência XHTML 1.0
n Para tirar qualquer dúvida sobre marcações (sintaxe, utilização, etc) e para saber quais marcações estão disponíveis em qual DTD, a W3CSchools disponibiliza uma página de referência do XHTML 1.0: q http://www.w3schools.com/tags/default.asp
n Realmente muito útil
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 27
XHTML Como validar?
n Para converter um web site de HTML para XHTML, você deve estar familiarizado com as regras de sintaxe XHTML vistas. Convém salientar que os seguintes passos são indispensáveis: q Adicionar a definição DOCTYPE
n Strict é mesmo restrita, talvez Transitional seja uma boa solução
q Sempre utilizar marcações e nomes de atributos em minúsculas
q Sempre utilizar aspas nos atributos
q Marcações vazias devem ser fechadas n Exemplo: <br> à <br />
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 28
XHTML Como validar?
n Página de validação W3C q http://validator.w3.org/
n Nesta página você pode validar: q uma URL existente q um código XHTML diretamente q submeter um XHTML para validação
n Caso use Firefox, pode baixar o add-on chamado Web Developer q http://chrispederick.com/work/web-developer/
q Assim, basta ir em Tools ! Validate HTML
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 29
XHTML Modular
n Para alguns propósitos, o XHTML é enorme e complexo, contudo, para outros propósitos, ele é muito simples
n Por separar o XHTML em módulos, o W3C cria um conjunto pequeno e bem definido de elementos XHTML que podem ser usados separadamente por pequenos dispositivos ou combinados com outros padrões XML em aplicações de grande porte e de maior complexidade
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 30
XHTML Modular
n Com XHTML modular, desenvolvedores podem: q Escolher os elementos que serão suportados por um dispositivo usando
padronizados blocos de construção XHTML
q Adicionar extensão ao XHTML, utilizando XML, sem desviar do padrão XHTML
q Simplificar o XHTML para dispositivos como palmtops, telefones celulares, TV e, até mesmo, eletrodomésticos
q Estender o XHTML para aplicações complexas adicionando novas funcionalidades XML (como MathML, SVG, Voice and Multimedia)
q Definir perfis XHTML como XHTML Basic (um subconjunto de XHTML para dispositivos móveis)
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 31
XHTML Modular
n W3C separou a definição do XHTML em 28 módulos:
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 32
XHTML Atributos padronizados
n Marcações XHTML têm atributos. Os atributos especiais de cada marcação podem ser encontrados em: q http://www.w3schools.com/tags/default.asp
n Os atributos a seguir são os atributos core, language e keyboard que são comuns à todas as marcações (com poucas exceções)
n Atributos core q Inválidos para os seguintes elementos: base, head, html, meta, param,
script, style e title
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 33
XHTML Atributos padronizados
n Atributos language q Inválidos para os seguintes elementos: base, br, frame, frameset, hr,
iframe, param e script
n Atributos keyboard q Sem exceção
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 34
XHTML Atributos de eventos
n Os atributos a seguir podem ser inseridos em marcações HTML para definir ações de eventos
n Eventos de janela q Somente válidos nos elementos body e frameset
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 35
XHTML Atributos padronizados
n Eventos de formulário q Somente válidos em elementos de formulário
n Eventos de teclado q Inválido para os seguinte elementos: base, bdo, br, frame, frameset,
head, html, iframe, meta, param, script, style e title
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 36
XHTML Atributos padronizados
n Eventos de mouse q Inválido para os mesmos elementos que não aceitam eventos de
teclado
Ricardo Terra (rterrabh [at] gmail.com) Outubro, 2008 XHTML 37
Referência Bibliográfica
n SILVA, M. S. Tutorial XHTML. Disponível em: <http://www.maujor.com/ tutorial/xhtml.php>. Acesso em: 03 set. 2008.
n W3Schools. XHTML Tutorial. Disponível em: <http://www.w3schools.com/ xhtml/default.asp>. Acesso em: 03 set. 2008.