У меня есть приложение, которое (как и многие другие) принимает пользовательский ввод, сохраняет его в базе данных, а затем обрабатывает его, используя (среди прочего) инструменты XML. Приложение принимает свободный текстовый ввод, и, как и многие другие разработчики, я очень осторожен с экранированием и цитированием, чтобы оно могло обрабатывать ввод, содержащий различные типы пробелов, символы кавычек, зарезервированные символы XML и т. Д.
Однако иногда пользователю удастся ввести строку, содержащую символ вертикальной табуляции (шестнадцатеричный 0B) или перевод формы (шестнадцатеричный 0C). это вообще не может быть обработано инструментами XML и приводит к зависанию приложения.
В моем приложении очень важно сохранить исходный ввод во время процесса «туда-обратно», поэтому я не хочу просто удалять любые символы, которые мне не нравятся, особенно такие вещи, как подача форм, которые до сих пор иногда используются в простые текстовые файлы.
Существует ли принятая передовая практика или общая стратегия для обработки этих символов, когда используется обработка XML?