Saltar al contenido

Error al analizar XHTML: el contenido de los elementos debe consistir en datos de caracteres bien formados o marcado

Este equipo redactor ha estado por horas buscando respuestas a tu búsqueda, te brindamos la solución por esto esperamos serte de gran ayuda.

Solución:

Facelets es una tecnología de visualización basada en XML que utiliza XHTML+XML para generar una salida HTML. XML tiene cinco caracteres especiales que tienen un tratamiento especial por parte del analizador XML:

  • < el comienzo de una etiqueta.
  • > el final de una etiqueta.
  • " el comienzo y el final de un attribute valor.
  • ' el comienzo y el final alternativos de una attribute valor.
  • & el comienzo de una entidad (que termina con ;).

En caso de <, el analizador XML está buscando implícitamente el nombre de la etiqueta y la etiqueta final >. Sin embargo, en su caso particular, estaba utilizando < como un operador de JavaScript, no como una entidad XML. Esto explica totalmente el error de análisis XML que obtuviste:

El contenido de los elementos debe consistir en datos de caracteres bien formados o marcado.

En esencia, está escribiendo código JavaScript en el lugar equivocado, un documento XML en lugar de un archivo JS, por lo que debe escapar todos los caracteres especiales XML en consecuencia. El < debe ser escapado como <.

Entonces, esencialmente, el

for (var i = 0; i < length; i++) {

debe convertirse

for (var i = 0; i < length; i++) {

para que sea válido para XML.

Sin embargo, esto hace que el código JavaScript sea más difícil de leer y mantener. Como se indica en el excelente documento de Mozilla Developer Network Escribir JavaScript para XHTML, debe colocar el código JavaScript en un bloque de datos de caracteres (CDATA). Por lo tanto, en términos JSF, eso sería:


    

El analizador XML interpretará el contenido del bloque como datos de caracteres "simples" y no como XML y, por lo tanto, interpretará los caracteres especiales XML "tal cual".

Pero, mucho mejor es simplemente poner el código JS en su propio archivo JS que incluye por

¡Entonces todo funcionó a la perfección!

A veces necesitarás esto:

 /*

y no solo esto:

 

Te mostramos las reseñas y valoraciones de los lectores

Si te sientes motivado, eres capaz de dejar un tutorial acerca de qué te ha gustado de este post.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Respuestas a preguntas comunes sobre programacion y tecnología