2010-09-03 10 views
5

vio un comentario hoy en: http://www.bennadel.com/blog/2004-Escaping-Form-Values-Understanding-The-ColdFusion-htmlEditFormat-Life-Cycle.htm por Rick Osbornees XmlFormat() siempre mejor que htmlEditFormat()?

He empezado a mover los estudiantes de htmlEditFormat a xmlFormat. Como dijo , atrapa más caracteres, pero también es útil para XML puro y es más rápido de escribir. No he podido para encontrar una razón de peso para pegar con htmlEditFormat.

¿Deberíamos todos comenzar a usar XmlFormat()? ¿Puedes pensar en una "razón convincente" que no sea ligeramente más lenta en el rendimiento?

+0

¡Ja! Ese tipo está lleno de eso. Qué n00b. (Y por ese tipo, me refiero a mí. Nunca me han citado en SO antes. Twisted.) –

+0

@Rick, no te importa que te lo digan ¿no? :) Me pregunto si todos deberíamos hacer el cambio a xmlFormat() debido a su comentario. – Henry

+0

No me importa en absoluto. Para ser honesto, no es mi idea. Vi una alusión a esto en un tobogán de Pete Freitag. Mirando hacia atrás a través de su blog, parece que ha estado defendiéndolo desde al menos 2007. –

Respuesta

4

ACTUALIZACIÓN: la respuesta de abajo ya no es relevante. Lo que he notado al usar XMLFormat() sobre HTMLEditFormat() es que IE no interpreta el ' y causa estragos.

en mi opinión, si capta más (como comillas simples que Jason Dean señaló) haciendo su aplicación más segura, entonces me comeré el golpe de rendimiento. en toda realidad, ¿cuánto de un golpe de rendimiento podría ser ... 1 o 2 ms?

en la próxima versión de cfwheels 1.1, agregué un método h() que era un contenedor para el método htmleditformat(). después de leer los comentarios de Ben y esta publicación, voy a cambiarlo para usar XMLFormat() en su lugar.

+0

Hmm ... tiene razón: http://stackoverflow.com/questions/609166/asp-and-apos-does-not-work así que ... volver a 'htmlEditFormat()'? – Henry

+0

Sí, tuvimos el mismo problema, volvimos a htmlEditFormat() ¿hay alguna razón para NO usar htmlEditFormat() o las personas simplemente cambiaban a xmlformat() porque era NUEVO? –

+0

En al menos algunas versiones de CF, htmlEditFormat no escapó a los símbolos que formaban parte de algunas entidades. Ver https://bugbase.adobe.com/index.cfm?event=bug&id=3040920, cerrado arreglado en 9.0.1. Usamos una función simple replaceList en su lugar. – enigment