Утилита Java для проверки строки на соответствие NMTOKEN
Вопрос
У меня есть код приложения, который генерирует документы XML, которые затем проверяются на соответствие схеме XML.Схема использует типы NMTOKEN, и иногда сгенерированный XML содержит строковые значения, которые являются недопустимыми NMTOKEN (например,они содержат пробелы или странные знаки препинания).Проверка схемы Xerces, конечно, улавливает это нормально, но мне хотелось бы перехватить это раньше, в моем собственном коде, и обработать более изящно.
Я собирался написать свой собственный метод isValidNMTOKEN и проверять, что каждый символ действителен в соответствии со спецификацией схемы, но я надеялся, что существует существующая утилита, которая сделает это за меня.
Что-то вроде общего языка для XML.К сожалению, в xml.apache.org/commons нет ничего полезного.
Решение
org.apache.axis.types.NMToken из Apachie Axis (инфраструктура веб-сервисов) имеет статический метод isValid(String) и может быть тем, что вам нужно (или может быть больше, чем вам нужно).