2017-01-26 16 views
0

Приложение должно проверять различные входные XML-сообщения для непечатаемых символов ascii. В настоящее время мы знаем два варианта этого.Лучший способ проверки непечатаемых символов ascii в XML

  1. Измените XSD, чтобы включить ограничение.

  2. Validate ввод XML-строки в Java приложения с помощью регулярных выражений

Какой подход лучше с точки зрения производительности, как наше приложение должно вернуть ответ в течение нескольких секунд? Есть ли другой доступный вариант?

+0

«Какой подход лучше с точки зрения производительности, так как наше приложение должно вернуть ответ в течение нескольких секунд?» - ** Секунды ** ... и вас беспокоит производительность? В самом деле? Почему бы вам не сделать тест? Это должно дать вам твердые цифры для принятия решения. – Fildor

+0

Что такое «непечатаемый символ ASCII»? Вы имеете в виду контрольный символ C0? Или вы также хотите проверить наличие непечатаемых символов, отличных от ASCII? –

ответ

0

Это, в основном, вопрос мнения, но если у вас есть XSD, который, кажется, является естественным местом для включения валидаций. Единственное, что вам может понадобиться рассмотреть, это то, что с помощью XSD вы либо сработаете, либо пропустите, тогда как с помощью ad-hoc java validation вы можете игнорировать непечатаемые или заменять или предпринимать действия без полного отказа от ввода.

0

Единственными символами, которые являются (a) ASCII, (b) непечатаемыми и (c) разрешены в документах XML 1.0, являются CR, NL и TAB. Мне трудно понять, почему исключение этих трех символов особенно важно, но если у вас уже есть схема XSD, тогда имеет смысл добавить туда ограничение.

Обычный подход заключается не в том, чтобы сделать эти три символа недействительными, а в том, чтобы относиться к ним как к символам пробела, которые вы можете использовать, используя тип данных, который имеет значение арифметики «нормализовать» или «свернуть».

 Смежные вопросы

  • Нет связанных вопросов^_^