[ANSOL-geral]Problema com o xhtml

Jaime E. Villate villate arroba gnu.org
Thu, 21 Mar 2002 14:37:54 +0000


On Wed, Mar 20, 2002 at 11:37:09PM +0000, rleite arroba nocturno.org wrote:
> On Wed, Mar 20, 2002 at 05:08:06PM +0000, André Esteves wrote:
> > - depois de instalado o pacote do emacs psgml encontrei algumas dific=
uldades 
> > no descarregar do dtp assinalado nas templates, a solução que enc=
ontri foi 
> > copiar a ultima versao disponivel no site da w3c e coloca-l disponive=
l na 
> > minha máquina, só que isso inviabiliza o processamento do xhtml n=
o 
> > servidor... O que eu estou a fazer de mal? Há uma solução óbv=
ia que é 
> > trabalhar como dtd local e depois alterar a entrada de definição =
no 
> > documento, mas isto não me parece canónico..
> 

> Se quiseres especificar uma localização para um DTD quando estás 
> impossibilitado de o ir buscar via web (off-line portanto) acho que pod=
es
> usar o SYSTEM (...). Então o que está assim:
> 
> <!DOCTYPE html
> 	PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> 
> Passaria a ser assim:
> 
> <!DOCTYPE html
> 	PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
>         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
> 	SYSTEM "/directorias.../dtd-a-usar.dtd">
esta sintaxe está errada; o identificador SYSTEM já é o URL que aparece depois
do identificador público. SYSTEM usa-se quando se especifica unicamente o
identificador do sistema mais não o público. Mas a tua ideia é correcta (usar
um nome de ficheiro local em vez de URL para o identificador do Sistema) e
a sintaxe correcta é assim:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                      "/directorias.../dtd-a-usar.dtd">

Isto deve funcionar porque a conversão que se faz no servidor da ANSOL usa
únicamente o identificador PUBLICO, -//W3C//DTD XHTML 1.0 Transitional//EN,
que é logo procurado no catálogo de DTD's disponíveis no servidor. O segundo
identificador é ignorado e nas páginas HTML produzidas será usado o URL do DTD
de HTML 4.

> Claro que isto coloca um problema: quando fizeres o upload para o servi=
dor a
> directoria especificada para o teu sistema não é válida lá.
Não faz mal.

> Além disso o produto final fica lá com essa especificação.
O produto final que o público ve é HTML con um DOCTYPE diferente.

Ou se quiseres ser mais rigoroso, para que os ficheiros que envias ao CVS
fiquem todos com o mesmo DOCTYPE usado por outros autores, escreve assim:

<!-- DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" -->
<!DOCTYPE html SYSTEM "/onde/estiver/na/tua/maquina.dtd" >

para usar o emacs+psgml. E quando tiveres certeza que não tem erros e
estiveres pronto a enviar para o CVS, apagas "-- " e "  --" no primeiro
DOCTYPE e os passa para o segundo.

Em relação ao menu, eu acho que essa página é suficientemente importante para
aparececer no menu. Terás que modificar as duas páginas que terminam em .xsl
"Participação de Portugal em projectos de Software Livre" é demasiado comprido
para o menu, mas neste momento estou sem imaginação para sugerir algo melhor.

Jaime