使用带有正则表达式模式的XSD验证XML

时间:2010-04-10 15:50:08

标签: java regex xsd sax

我正在针对包含用于检查输入数据的一些正则表达式模式的XSD解析XML文件,但只有这个正则表达式生成错误,即使它传递到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 个答案:

答案 0 :(得分:2)

W3C的XML Schema正则表达式specified不支持

\b。错误消息意味着您无论如何都可以通过更改设置来使用它,但之后您将使用非标准功能,这将无法使用XML。

我不确定错误消息的真正含义是什么,但如果只有正则表达式无效则会更有帮助。帮自己一个忙,忘了在你的XSD中使用\b。如果您还没有查看regular-expressions.info网站的其余部分,那么请查看它 - 这是一个很好的资源。