RECOGER ACENTOS EN SERVLET, ACENTOS XML, ACENTOS EN HREF CON XSL

Pablo
28 de Noviembre del 2003
Utilizo la codificación ISO-8859-1, por lo que no tengo ningún problema para utilizar acentos en la mayor parte del documento..., salvo a la hora de hacerlo en enlaces (en cuyo interior xml no deja introducirlos y los sustituye por caractéres extraños...) ¿Por quéeeee???

A pesar de todo, 'solucioné' el problema utilizando javascript para pintar los enlaces posteriormente a la transformación xsl... (con lo que aparecián correctamente en el html resultante, pero, más tarde, también era imposible recogerlos correctamente en el servlet cuando se pinchaba en ellos..., con lo que volvían a aparecer los caractéres extraños...

¿Por qué el xsl no te deja introducir acentos dentro de un href?

¿Por qué tampoco puedo recogerlos en el servlet ya sea con el metodo post o get...?

Por favor, si alguien lo sabe que me escriba:
[email protected]

atakal
28 de Noviembre del 2003
El xml tiene formas propias de representar los acentos y las eñes... es mejor siempre utilizar los caracteres q el interpreta.
Aqui te mando los mas utiles que tengo:

á á

é é

í í

ó ó

ñ ñ

[email protected]
28 de Noviembre del 2003
El xml no interpreta nada, el parser que implementa la especificacion de XML decide como codificar el texto q le llega en funcion del encoding que el programador le indique en la decaracion, hacer eso que indicas funciona porque son los caracteres que pasados a utf-8 o utf-16 , desde ISO-LATIN tales como :á generan á. pero en absoluto es una practica recomendable, si implementas tu progama en una maquina que tenga configurado otro lenguaje distinto a ISO-LATIN te falla o saca cosas aun mas raras.

pakiki
28 de Noviembre del 2003
hola, a mi me pasa lo mismo tengo en todos mis xml y xsl lo de <?xml version="1.0" encoding="ISO-8859-1"?> pero si mando un form post de uno a otro me salen los caracteres raros ó é á Ã, si lo solucionaste dime algo por favor, gracias!!!!!!!

Dani
28 de Noviembre del 2003
Hola

Solo deciros que el motor de transformación XSL me daba un error al tratar de parsear acentos... ya fuesen en el XML directamente o leidos de un parametro de la request.
El error que da el MSXML es algo como "Se encontró un carácter no válido en el contenido del texto. Error al procesar el recurso " y XALAN daba otro del estilo

Pero colocando
> En JSPs que generan XML con transformación en server:
<%@ page language="java" contentType="text/html; charset=iso-8859-1"%> en los JSP que generan
> En XMLs, XSLs y JSPs que generan XML con transformación en cliente:
<?xml version="1.0" encoding="ISO-8859-1"?>

Todo solucionado.

prototipos
28 de Noviembre del 2003
Tu xslt necesita tener el encoding ISO.

<?xml version="1.0" encoding="ISO-8859-1"?>

ya que por defecto cualquier motor de xslt si no se el especifica coge utf-16(cosas del w3c), como tu xml esta en iso-8859-1 tu xslt no puede pintar bien todos los caracteres y los traduce como puede a utf.

Caio Proiete
28 de Noviembre del 2003
Hi!
The encoding must be defined in both files!!

YourFile.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
.
.
.

YourFile.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
.
.
.

Regards

Caio Proiete