Проверка XML с использованием XSD с шаблоном регулярных выражений - PullRequest
5 голосов
/ 10 апреля 2010

Я анализирую XML-файл с XSD, содержащим некоторые шаблоны регулярных выражений, используемые для проверки входных данных, но только это регулярное выражение генерирует ошибку, даже если оно передается в подключаемый модуль Eclipse XSD:

   InvalidRegex: Pattern value 
   '(((com|org)\.)+(\b[a-z]+[.]{1}\b)+)?[A-Z]{1}[A-Za-z]+' 
   is not a valid regular expression. The reported error was: 
   'This expression is not supported in the current option setting.'.

Так что, даже если проблема вызвана границей \ b, которую я могу безопасно удалить, с помощью валидатора SAX, где я могу найти фатальную «настройку текущей опции»?

1 Ответ

2 голосов
/ 11 апреля 2010

\b не поддерживается XML-схемой с регулярным выражением, поскольку указано W3C. Сообщение об ошибке подразумевает, что вы можете использовать его в любом случае, изменив настройку, но тогда вы будете использовать нестандартную функцию, которая не позволит использовать XML.

Я не уверен, что именно это сообщение об ошибке действительно означает, но было бы более полезным, если бы оно было просто недействительным. Сделайте себе одолжение и забудьте об использовании \b в ваших XSD. И загляните на остальную часть сайта регулярные-выражения.info , если вы еще этого не сделали - это отличный ресурс.

...