Padrão de XML Declaration em JSP, JSF ou HTML

Francisco em 21 de Junho de 2007 @ 00:35  | Enviar por e-mail  | Hits para esta publicação: 356

Inciando meu blog vou escrever sobre esse padrão que muitos de nós ou não segue ou não sabe que deve usar ;)

Em páginas HTML/JSF existem 2 maneiras de se declarar o DOCTYPE

Normalmente utilizamos o texto puro “Moda antiga” para as nossas páginas JSF para que sejam mais fáceis de ler.

Como esse:

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <%@ taglib uri=”http://java.sun.com/jsf/html” prefix=”h” %>
  <%@ taglib uri=”http://java.sun.com/jsf/core” prefix=”f” %>
  <f:view>
…… 

Isso éra aceitável até tempos atrás, mas hoje em dia a sua prática é um pouco repreensível.
Puramente esta forma não é um documento “HTML 4.01 Transitional”. Meramente serve para produzir um documento deste tipo no resultado.

Algumas ferramentas e editores XML não aceitam essa forma de “mentira” sobre o tipo de documento.

De qualquer jeito ou omita o DOCTYPE ou utilize a forma abaixo:

Leitores do XML-savvy gostariam de fazer um trabalho melhor .

Primeiro é desejável utilizar a correta declaração das tag librarys eliminando as <%...%> tags
Mas a frente se desejará emitir o devido DOCTYPE do HTML gerado

O Formato abaixo resolve os 2 problemas:

<?xml version="1.0" ?>
<jsp:root version="2.0"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<jsp:directive.page contentType="text/html"/>
<jsp:output omit-xml-declaration="no"
doctype-root-element="html"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<f:view>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>A Simple Java Server Faces Application
</head>
<body>
<h:form>
. . .
</h:form>
</body>
</html>
</f:view>

Fonte: Core JavaServer Faces 2nd Edition - Geary, David M.

Devemos utilizar a segunda forma para produzirmos códigos dentro do padrão e que os browsers/programas que os interpretarem façam da forma mais rápida possível.

E por hora é isso, vou continuar lutando pelo JavaBean Perfeito ;)

Arquivado sob Programação  | Enviar por e-mail  | Hits para esta publicação: 357

URI de rastreio | RSS dos Comentários

Deixe uma resposta.