Tengo una aplicación que (como muchas otras) recibe entradas del usuario, las almacena en una base de datos y luego las procesa utilizando (entre otras cosas) herramientas XML. La aplicación toma entrada de texto libre y como muchos otros desarrolladores soy muy cuidadoso con escapes y citas para que pueda manejar entradas que contienen diferentes tipos de espacios en blanco, caracteres de comillas, caracteres XML reservados, etc.Práctica recomendada para manejar pestañas verticales y otros caracteres xml no válidos
Sin embargo, de vez en cuando un usuario administrará para ingresar una cadena que contiene un carácter de tabulación vertical (hex 0B) o una alimentación de formulario (hex 0C). esto no puede ser procesado por herramientas XML en absoluto y hace que la aplicación se desinfle.
En mi aplicación es muy importante preservar la entrada original durante el proceso de "ida y vuelta", así que no me gusta quitar los caracteres que no me gustan, especialmente cosas como el feed de formularios que todavía se usan ocasionalmente en archivos de texto sin formato.
¿Existe alguna mejor práctica o estrategia general para manejar estos caracteres cuando se trata de procesamiento XML?
-1: esto no tiene sentido. XML no válido simplemente no es XML. –
Entonces la pregunta no tiene sentido. Si el requisito es poner caracteres especiales no válidos en el XML (qué tan inválido puede ser), el escapado permitirá que el archivo se procese mientras que el caso límite de uso de caracteres no válidos debe ser manejado por la propia aplicación. También podría usar CDATA o cualquier otro formato. – Vincent
De hecho, la pregunta no tiene sentido. Es otro caso en el que se le pide al desarrollador que recupere el hecho de que las personas que envían los datos no entienden XML. –