Foros del Web » Programación para mayores de 30 ;) » Programación General »

Reference to undefined entity

Estas en el tema de Reference to undefined entity en el foro de Programación General en Foros del Web. Pense que tenia esto claro, pero veo que no Genero un bloque xml via asp. hago un remplazo de & por &amp; < por &lt; ...
  #1 (permalink)  
Antiguo 03/05/2004, 08:59
 
Fecha de Ingreso: noviembre-2001
Ubicación: Groningen
Mensajes: 175
Antigüedad: 22 años, 5 meses
Puntos: 0
Reference to undefined entity

Pense que tenia esto claro, pero veo que no

Genero un bloque xml via asp.

hago un remplazo de

& por &amp;
< por &lt;
> por &gt;

y luego de todo los caracteres raros que aparecen por ahi

a saber y entre otros

charRef.Add "è", "&-egrave;"
charRef.Add "È", "&-Egrave;"
charRef.Add "ë", "&-euml;"
charRef.Add "Ë", "&-Euml;"
charRef.Add "í", "&-iacute;"
charRef.Add "Í", "&Iacute;"


(NOTESE QUE ESCRIBI &-egrave; el - esta de mas pero sino no se veria bien)

(charRef es solo un dictionario que uso para guardarlos...)


Ahora cuando genero el xlm salta el siguiente error...

Error Code: -1072898046
Error Reason: Reference to undefined entity 'euml'.
Error Line: 1

Yo pense que las "entities" esas estaban definidas por defecto!

Veo que no

Que es lo que tengo que hacer para que no salte ese error nuevamente...?????

edgardo

Última edición por EDGARDO MOGUELLA; 03/05/2004 a las 09:16
  #2 (permalink)  
Antiguo 03/05/2004, 09:19
 
Fecha de Ingreso: noviembre-2001
Ubicación: Groningen
Mensajes: 175
Antigüedad: 22 años, 5 meses
Puntos: 0
OK OK

Acabo de leer que debo poner los bloques de texto dentro de un <![CDATA[ aca el bloque de text ]]>

bueno de esta manera no se marca ningun error pero ahora el problemita que aparece es el siguiente, CUANDO MUESTRO LOS DATOS EN EL BROWSER SE MUESTRA "&-euml;" EN LUGAR DE ë

QUE DEBO DE HACER???
  #3 (permalink)  
Antiguo 05/05/2004, 03:21
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
Debes añadir en el prólogo de tu XML las entidades de esta forma:

<!DOCTYPE HTML [

<!-- Mnemonicos de entidades de caracteres -->
<!ENTITY AElig "Æ" -- capital AE diphthong (ligature) -->
<!ENTITY Aacute "Á" -- capital A, acute accent -->
<!ENTITY Acirc "Â" -- capital A, circumflex accent -->
<!ENTITY Agrave "À" -- capital A, grave accent -->
<!ENTITY Aring "Å" -- capital A, ring -->
<!ENTITY Atilde "Ã" -- capital A, tilde -->
<!ENTITY Auml "Ä" -- capital A, dieresis or umlaut mark -->
<!ENTITY Ccedil "Ç" -- capital C, cedilla -->
<!ENTITY ETH "Ð" -- capital Eth, Icelandic -->
<!ENTITY Eacute "É" -- capital E, acute accent -->
<!ENTITY Ecirc "Ê" -- capital E, circumflex accent -->
<!ENTITY Egrave "È" -- capital E, grave accent -->
<!ENTITY Euml "Ë" -- capital E, dieresis or umlaut mark -->
<!ENTITY Iacute "Í" -- capital I, acute accent -->
<!ENTITY Icirc "Î" -- capital I, circumflex accent -->
<!ENTITY Igrave "Ì" -- capital I, grave accent -->
<!ENTITY Iuml "Ï" -- capital I, dieresis or umlaut mark -->
<!ENTITY Ntilde "Ñ" -- capital N, tilde -->
<!ENTITY Oacute "Ó" -- capital O, acute accent -->
<!ENTITY Ocirc "Ô" -- capital O, circumflex accent -->
<!ENTITY Ograve "Ò" -- capital O, grave accent -->
<!ENTITY Oslash "Ø" -- capital O, slash -->
<!ENTITY Otilde "Õ" -- capital O, tilde -->
<!ENTITY Ouml "Ö" -- capital O, dieresis or umlaut mark -->
<!ENTITY THORN "Þ" -- capital THORN, Icelandic -->
<!ENTITY Uacute "Ú" -- capital U, acute accent -->
<!ENTITY Ucirc "Û" -- capital U, circumflex accent -->
<!ENTITY Ugrave "Ù" -- capital U, grave accent -->
<!ENTITY Uuml "Ü" -- capital U, dieresis or umlaut mark -->
<!ENTITY Yacute "Ý" -- capital Y, acute accent -->
<!ENTITY aacute "á" -- small a, acute accent -->
<!ENTITY acirc "â" -- small a, circumflex accent -->
<!ENTITY aelig "æ" -- small ae diphthong (ligature) -->
<!ENTITY agrave "à" -- small a, grave accent -->
<!ENTITY amp "&amp;" -- ampersand -->
<!ENTITY aring "å" -- small a, ring -->
<!ENTITY atilde "ã" -- small a, tilde -->
<!ENTITY auml "ä" -- small a, dieresis or umlaut mark -->
<!ENTITY ccedil "ç" -- small c, cedilla -->
<!ENTITY eacute "é" -- small e, acute accent -->
<!ENTITY ecirc "ê" -- small e, circumflex accent -->
<!ENTITY egrave "è" -- small e, grave accent -->
<!ENTITY eth "ð" -- small eth, Icelandic -->
<!ENTITY euml "ë" -- small e, dieresis or umlaut mark -->
<!ENTITY gt ">" -- greater than -->
<!ENTITY iacute "í" -- small i, acute accent -->
<!ENTITY icirc "î" -- small i, circumflex accent -->
<!ENTITY igrave "ì" -- small i, grave accent -->
<!ENTITY iuml "ï" -- small i, dieresis or umlaut mark -->
<!ENTITY lt "&lt;" -- less than -->
<!ENTITY ntilde "ñ" -- small n, tilde -->
<!ENTITY oacute "ó" -- small o, acute accent -->
<!ENTITY ocirc "ô" -- small o, circumflex accent -->
<!ENTITY ograve "ò" -- small o, grave accent -->
<!ENTITY oslash "ø" -- small o, slash -->
<!ENTITY otilde "õ" -- small o, tilde -->
<!ENTITY ouml "ö" -- small o, dieresis or umlaut mark -->
<!ENTITY szlig "ß" -- small sharp s, German (sz ligature) -->
<!ENTITY thorn "þ" -- small thorn, Icelandic -->
<!ENTITY uacute "ú" -- small u, acute accent -->
<!ENTITY ucirc "û" -- small u, circumflex accent -->
<!ENTITY ugrave "ù" -- small u, grave accent -->
<!ENTITY uuml "ü" -- small u, dieresis or umlaut mark -->
<!ENTITY yacute "ý" -- small y, acute accent -->
<!ENTITY yuml "ÿ" -- small y, dieresis or umlaut mark -->

]>

Ese listado de caracteres lo he encontrado en internet. Si lo utilizas tal cual debes cambiar los replace de tu código ASP. Por ejemplo,

tenías charRef.Add "è", "&-egrave;", si buscas el mnemonico de la egrave verás que ahora debes poner charRef.Add "è", "egrave"

Creo que no me equivoco.

Prueba y me cuentas
  #4 (permalink)  
Antiguo 05/05/2004, 05:40
 
Fecha de Ingreso: noviembre-2001
Ubicación: Groningen
Mensajes: 175
Antigüedad: 22 años, 5 meses
Puntos: 0
gracias,

voy a vicharlo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:49.