<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog da Sr. Web &#187; xhtml</title>
	<atom:link href="http://blog.srweb.com.br/tag/xhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.srweb.com.br</link>
	<description>Só mais um blog do WordPress</description>
	<lastBuildDate>Wed, 27 May 2009 18:50:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Como validar seu HTML de acordo com a W3C &#8211; Parte 3</title>
		<link>http://blog.srweb.com.br/como-validar-seu-html-de-acordo-com-a-w3c-parte-3/</link>
		<comments>http://blog.srweb.com.br/como-validar-seu-html-de-acordo-com-a-w3c-parte-3/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 14:45:18 +0000</pubDate>
		<dc:creator>Wesley Oliveira</dc:creator>
				<category><![CDATA[Padrões]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[strict]]></category>
		<category><![CDATA[transitional]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[validacao]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://blog.srweb.com.br/?p=126</guid>
		<description><![CDATA[Continuando nossa série de posts que tratam da Validação de HTML: Como validar seu HTML de acordo com a W3C Como validar seu HTML de acordo com a W3C &#8211; Parte 2 Hoje evoluiremos ainda mais nosso conceito sobre HTML, e dessa vez com a validação do nosso mesmo código, agora com outro DOCTYPE para [...]]]></description>
			<content:encoded><![CDATA[<p>Continuando nossa série de posts que tratam da Validação de HTML:<br />
<strong><a href="http://blog.srweb.com.br/como-validar-seu-html-de-acordo-com-a-w3c" title="Como validar seu HTML de acordo com a W3C">Como validar seu HTML de acordo com a W3C</a></strong><br />
<strong><a href="http://blog.srweb.com.br/como-validar-seu-html-de-acordo-com-a-w3c-parte-2" title="Como validar seu HTML de acordo com a W3C - Parte 2">Como validar seu HTML de acordo com a W3C &#8211; Parte 2</a></strong></p>
<p>Hoje evoluiremos ainda mais nosso conceito sobre HTML, e dessa vez com a validação do nosso mesmo código, agora com outro DOCTYPE para o <strong>XHTML 1.0 Transitional</strong>.</p>
<p>Não pense que nosso trabalho está perto do fim, temos surpresas reservadas para esse simples código, ingênuo, mas como dissemos anteriormente bastante traiçoeiro.</p>
<p><span id="more-126"></span></p>
<p>Nosso código de partida conforme post anterior está conforme abaixo:</p>
<p>[html]<br />
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;<br />
	&lt;title&gt;Página de Teste &#8211; Sr Web&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
	&lt;h1&gt;Página Principal&lt;/h1&gt;<br />
        &lt;p&gt;<br />
	&lt;br&gt;&lt;br&gt;<br />
	&lt;img src=&quot;arroba.png&quot; alt=&quot;logotipo&quot;&gt;<br />
        &lt;/p&gt;<br />
	&lt;table border=&#8217;1&#8242;&gt;<br />
		&lt;tr&gt;<br />
			&lt;td&gt;<br />
			Cabeçalho Coluna 1<br />
			&lt;/td&gt;<br />
			&lt;td&gt;<br />
			Cabeçalho Coluna 2<br />
			&lt;/td&gt;<br />
		&lt;/tr&gt;<br />
		&lt;tr&gt;<br />
			&lt;td&gt;<br />
			Linha 01 a<br />
			&lt;/td&gt;<br />
			&lt;td&gt;<br />
			Linha 01 b<br />
			&lt;/td&gt;<br />
		&lt;/tr&gt;<br />
		&lt;tr&gt;<br />
			&lt;td&gt;<br />
			Linha 02 a<br />
			&lt;/td&gt;<br />
			&lt;td&gt;<br />
			Linha 02 b<br />
			&lt;/td&gt;<br />
		&lt;tr&gt;<br />
			&lt;td&gt;<br />
			Linha 03 a<br />
			&lt;td&gt;<br />
			Linha 03 b<br />
		&lt;/tr&gt;<br />
	&lt;/table&gt;<br />
    &lt;p&gt;Aqui vai algum conteúdo para seu site, algum texto referente ao seu site.&lt;/p&gt;<br />
    &lt;p&gt;&lt;a href=&quot;arroba.png&quot;&gt;Clique aqui para ver nosso logotipo&lt;/a&gt;&lt;/p&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>[/html]</p>
<p>Então mais do que nunca vamos ao código:</p>
<p>O DOCTYPE do <strong>XHTML 1.0 Transitional</strong> está abaixo, substitua a primeira linha do código:</p>
<p>[html toolbar="false"]<br />
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
[/html]</p>
<p>Vamos submeter ao validador da W3C <a title="Validador do W3C" href="http://validator.w3.org">http://validator.w3.org</a> e ver os resultados.</p>
<p>Advinhem o que aconteceu?!?!?!?  23 erros e 1 <em>warning</em> que não consideraremos pois é devido usarmos o <em>input</em> diretamente do código.</p>
<p>Como já é um costume nosso, vamos ao que importa: arrumar esse código.</p>
<p>Um detalhe importante na validação do código HMTL é a ordem que você segue para arrumar o código, é importantíssimo que seja de cima para baixo pois tem erros decorrentes dos erros de cima e, com isso arrumar um erro pode diminuir vários erros da validação.</p>
<p>erro: <em>Line 2, Column 1</em>: <span class="msg">Missing xmlns attribute for element html. The value should be: http://www.w3.org/1999/xhtml</span></p>
<p><strong>1º Ajuste</strong>: Incluir dentro da tag <code>html</code> nossas informações de xmlns e dados de linguagem. No XHTML isso sempre é solicitado, diferentemente dos anteriores que fizemos.</p>
<p>correção &#8211; Substitua a tag <code>html</code> pela abaixo:</p>
<p>[html toolbar="false"]<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;pt-BR&quot; lang=&quot;pt-BR&quot;&gt;<br />
[/html]</p>
<p>erro: <em>Line 4, Column 68</em>: <span class="msg">end tag for &#8220;meta&#8221; omitted, but OMITTAG NO was specified</span></p>
<p><strong>2º Ajuste</strong>: Temos agora um problema conceitual que é o seguinte: no XHTML todas as tags devem ter ou seu fim com  &lt;tag&gt;&lt;/tag&gt; ou  &lt;tag /&gt; Nesse caso o problema foi com a tag <code>meta</code>.</p>
<p>correção: escrever corretamente o final da tag meta conforme abaixo</p>
<p>[html toolbar="false"]</p>
<p>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;</p>
<p>[/html]</p>
<p>erro: <em>Line 10, Column 6</em>: <span class="msg">end tag for &#8220;br&#8221; omitted, but OMITTAG NO was specified</span><br />
<strong>3º Ajuste</strong>: Igualmente já comentamos temos erro na tag <code>br</code> por não ter fechado a tag.<br />
correção &#8211; Fechar as duas tags <code>br</code> corretamente conforme código abaixo:<br />
[html toolbar="false"]<br />
&lt;br /&gt; &lt;br /&gt;<br />
[/html]</p>
<p>erro: <em>Line 11, Column 39</em>: <span class="msg">end tag for &#8220;img&#8221; omitted, but OMITTAG NO was specified</span><br />
<strong>4º Ajuste</strong>: Igualmente erro com a falta da &#8220;/&#8221; no final da tag.<br />
correção &#8211; Fechar a tag <code>img</code> conforme abaixo:<br />
[html toolbar="false"]<br />
&lt;img src=&quot;arroba.png&quot; alt=&quot;logotipo&quot; /&gt;<br />
[/html]</p>
<p>erro: <em>Line 37, Column 6</em>: <span class="msg">document type does not allow element &#8220;tr&#8221; here<br />
<strong>5º Ajuste</strong>: Temos agora um problema bem interessante aqui. Trata-se de um problema com um escopo maior pois temos um <code>tr</code> sem finalizar e o validador deu o erro no tr abaixo. O mais interessante é que só agora o validador mostrou esse erro tão grave!<br />
correção &#8211; incluir a tag de fechamento para o devido <code>tr</code> conforme abaixo:<br />
[html highlight="8"]<br />
		&lt;tr&gt;<br />
			&lt;td&gt;<br />
			Linha 02 a<br />
			&lt;/td&gt;<br />
			&lt;td&gt;<br />
			Linha 02 b<br />
			&lt;/td&gt;<br />
		&lt;/tr&gt;<br />
[/html]</p>
<p>erro: </span> <em>Line 41, Column 7</em>: <span class="msg">document type does not allow element &#8220;td&#8221; here<br />
6º Ajuste: Igualmente ao erro anterior temos um <code>td</code> agora sem fechamento adequado e dando erro <code>td</code> no posterior.<br />
correção &#8211; incluir a tag de fechamento para os dois <code>td</code> conforme abaixo:<br />
[html highlight="4,7"]<br />
		&lt;tr&gt;<br />
			&lt;td&gt;<br />
			Linha 03 a<br />
			&lt;/td&gt;<br />
			&lt;td&gt;<br />
			Linha 03 b<br />
			&lt;/td&gt;<br />
		&lt;/tr&gt;<br />
[/html]</p>
<p>Parabéns. Agora você tem seu código totalmente validado <strong>XHTML 1.0 Transitional</strong>.</p>
<p>Deixamos aqui uma surpresa para você, prometemos que íamos validar o código com <strong>XHTML 1.0 Strict</strong>. Como fomos disciplinados e logicamente nosso código não tem nada que fere a especificação <strong>XHTML 1.0 Strict</strong> podemos simplesmente mudar o DOCTYPE do nosso HTML e sermos vencedores mais uma vez.</p>
<p>Temos também o código totalmente validado <strong>XHTML 1.0 Strict</strong>.</p>
<p>O código final deve ter ficado como abaixo:<br />
[html]<br />
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;<br />
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;pt-BR&quot; lang=&quot;pt-BR&quot;&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;<br />
    &lt;title&gt;Página de Teste &#8211; Sr Web&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
    &lt;h1&gt;Página Principal&lt;/h1&gt;<br />
        &lt;p&gt;<br />
    &lt;br/&gt;&lt;br/&gt;<br />
    &lt;img src=&quot;arroba.png&quot; alt=&quot;logotipo&quot;/&gt;<br />
        &lt;/p&gt;<br />
    &lt;table border=&#8217;1&#8242;&gt;<br />
        &lt;tr&gt;<br />
            &lt;td&gt;<br />
            Cabeçalho Coluna 1<br />
            &lt;/td&gt;<br />
            &lt;td&gt;<br />
            Cabeçalho Coluna 2<br />
            &lt;/td&gt;<br />
        &lt;/tr&gt;<br />
        &lt;tr&gt;<br />
            &lt;td&gt;<br />
            Linha 01 a<br />
            &lt;/td&gt;<br />
            &lt;td&gt;<br />
            Linha 01 b<br />
            &lt;/td&gt;<br />
        &lt;/tr&gt;<br />
        &lt;tr&gt;<br />
            &lt;td&gt;<br />
            Linha 02 a<br />
            &lt;/td&gt;<br />
            &lt;td&gt;<br />
            Linha 02 b<br />
            &lt;/td&gt;<br />
                &lt;/tr&gt;<br />
        &lt;tr&gt;<br />
            &lt;td&gt;<br />
            Linha 03 a<br />
                        &lt;/td&gt;<br />
            &lt;td&gt;<br />
            Linha 03 b<br />
                        &lt;/td&gt;<br />
        &lt;/tr&gt;<br />
    &lt;/table&gt;</p>
<p>        &lt;p&gt;Aqui vai algum conteúdo para seu site, algum texto referente ao seu site.&lt;/p&gt;<br />
        &lt;p&gt;&lt;a href=&quot;arroba.png&quot;&gt;Clique aqui para ver nosso logotipo&lt;/a&gt;&lt;/p&gt;</p>
<p>&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>[/html]</p>
<p>É isso aí pessoal, fizemos alguns exercícios com HTML, validadores e espero que vocês tenham aproveitado essa série de Posts sobre Validadores HTML.</p>
<p>Qualquer dúvida coloquem nos comentários que em breve esclareceremos mais coisas.</p>
<p>Até a próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.srweb.com.br/como-validar-seu-html-de-acordo-com-a-w3c-parte-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
