Facelets +Include + Google Chrome = Erro (?)

Boa tarde, camaradas do fórum.

Venho pedir vossa ajuda para um problema que está ocorrendo apenas no Google Chrome (lixo!) e no Safari (testei na versão Windows).

Estou trabalhando em um projeto com JSF+Facelets, e usando a funcionalidade de Templates.Bem,vamos lá…meu template é o seguinte:

Template.xhtml

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:a4j="http://richfaces.org/a4j">
	<head>
		<link rel="shortcut icon" href="favicon.ico" />
		<link rel="stylesheet" type="text/css" href="css/Carrocerias.css" />
		<link rel="stylesheet" type="text/css" href="css/Institucional.css" />
		<title>#{homePage.title}</title>	
	</head>
	
	<body topmargin="5px">
		<ui:insert name="header">
			<div align="center" id="divHeader">
				<a4j:include id="include-header" viewId="Header.xhtml"></a4j:include>
			</div>
		</ui:insert>
		<ui:insert name="veiculos">
			
		</ui:insert>
		<ui:insert name="center"></ui:insert>
		<ui:insert name="footer">
			<a4j:include viewId="Footer.xhtml"></a4j:include>
		</ui:insert>
	</body>
</html>

Como podem ver no meuui:insert do cabeçalho, eu uso um include para outra página, que contem o Header em si.Bom,aí entra o problema…vejam o código já no browser:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>

	</head>
	
	<body topmargin="5px">
			<div align="center" id="divHeader"><span id="include-header"><?xml version="1.0" encoding="ISO-8859-1"?>
<html xmlns="http://www.w3.org/1999/xhtml">
....

Coloquei até o momento fatídico onde dá o xabu…o que acontece é que nessa minha página Header.xhtml tambem tenho as seguintes linhas no topo da pagina

[code]

<?xml version="1.0" encoding="ISO-8859-1"?> <html xmlns="http://www.w3.org/1999/xhtml" ...[/code]

Quando executo a mesma no Chrome, o browser avisa que essas linhas são inválidas, pois devem estar no TOPO da página…mas elas estão, só que ná página que está sendo incluída e o Chrome nao consegue tratar isso :roll: .Em outras palavras, nao estou conseguindo fazer um include de uma pagina xhtml dentro de outra.

O mesmo codigo funciona corretamente no FireFox, no IE e no Opera, onde as páginas abrem normalmente…mas no Chrome, que com o perdão da palavra é uma MERDA (na minha opiniao), nao está rolando.

Será um bug do browser?Um bug do meu codigo?Alguma ideia de solução, amigos? :lol:

O projeto está quase no fim…só percebi esse problema recentemente.Espero nao ter que fazer um refactor de todas as paginas por causa dessa porcaria de browser…

Obrigado amigos!

Nenhuma idéia amigos? :cry: :cry: :cry: :cry: :cry:

Já que a situação é desesperadora, vou dar um up no tópico aproveitando pra fazer outra pergunta, o Facelets é capaz de trabalhar com extensões que NAO sejam xhtml?Já que pelo jeito o xhtml nao vai rolar mesmo…

Ontem postei esse problema sobre o include no fórum de ajuda do Chrome, e me responderam: “O Chrome está certo”.

E o Firefox, o IE e o Opera estão errados em rodar a página, é claro. :roll: :lol:

Obrigado amigos!

E aí amigos…nenhuma idéia? :lol:

Estou com o mesmo problema…
Alguma solução!??!?

acabei de corrigir o mesmo erro e nem tinha visto o topico segue ai:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html>
<body>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:rich="http://richfaces.org/rich"
      xmlns:a4j="http://richfaces.org/a4j">
<f:view contentType="text/html" >   

Primeiro coloque este doctype

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

depois acrescente o f:view

<f:view contentType="text/html" >   

abraço

Nesta mesma pagina que coloquei um pedacinho o CSS não funciona, vcs sabem se colocando o link no template as paginas do ui:include pegam o css do template?

obrigado

Hummm pode ser um workaround, mas…
Pelo que eu andei vendo <f:view> não é p/ ser usado com facelets e sim com jsp.