Hola:
Con las primeras conclusiones, me puse a retocar una página que tengo para administrar una galería de imágenes con comentarios, y en ella implementé un sistema de búsqueda paginada, generando el listado con un formato así:
Código:
<listado>
<item id="1" url="imagen1.gif" comentario="comentario de item 1" />
<item id="2" url="imagen2.gif" comentario="comentario de item 2" />
...
<item id="n" url="imagenn.gif" comentario="comentario de item n" />
</listado>
... y me dió un resultado buenísimo en las primeras consultas, pero en alguno de los campos había un carácter suelto "&", que no está permitido en los documentos xml (debe ser "&"), cosa que me fastidió bastante.
La solución, rápida y muy chapucera, fué con el reemplazo de las coincidencias en el server (ereg_replace()...
)
La verdad es que pensé usar otras cosas como htmlspecialschars o htmlentities, o addslashes, pero luego en local se decodificaban mal tanto con unescape como con decodeURI... creo que es una buena pregunta para hacer.
Otra alternativa sería crear también el doctype (tal vez en la misma respuesta...)
Añadí a la página un nuevo botón con la misma respuesta pero añadiéndole una línea que provoca error.
Código:
<error provocado_por="&">para más inrri "&"</error>
Y en el listado obtenido con ff, en el objeto:
Ajax.responseXML.childNodes.0.childNodes.0 se obtiene:
Código:
Error de parseo XML: malformado
Lugar: http://www.caricatos.net/DOM/error_provocado.xml
Línea 43, Columna 25:
También se nota en la consola de errores:
Código:
Error: malformado
Archivo Fuente: http://www.caricatos.net/DOM/error_provocado.xml
Línea: 43, Columna: 25
Código Fuente:
<error provocado_por="&">para más inrri "&"</error>
Ahora se me ocurre otra cuestión... Si bien xml es más estructurado y siempre he pensado que para implementar listados es la mejor opción, pero si se hiciese con responseText, ¿qué gasto añadido en la implementación se haría (tanto en el servidor como en código javascript)?
Saludos