2010-04-10 1 views
5

Я разбор XML файла против XSD, содержащей несколько регулярных выражений шаблонов, используемых для проверки входных данных, но только это регулярное выражение генерирует ошибку, даже если она проходит в плагин Eclipse, XSD:Проверки XML с помощью 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 validator, где я могу найти фатальную «текущую настройку параметра»?

+0

Где ваш XML, чтобы мы могли видеть контекст, в котором это ограничение порождает ошибку? – 2010-04-10 15:59:48

+0

Обратите внимание, что '{1}' может быть опущено. –

+1

Tnx для фиксации reduntant {1}. В настоящее время это уже не проблема, потому что я решил, что, заметив, что удаление «\ b ... \ b» работает без ошибок. Но теперь мне любопытно узнать, где я могу установить упомянутую «настройку параметра», было бы полезно знать, где можно манипулировать этими скрытыми настройками. –

ответ

2

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

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