2010-04-10 83 views
5

我解析對含有用於檢查輸入數據的一些正則表達式模式的XSD一個XML文件,但僅此正則表達式生成一個錯誤,即使它傳遞到Eclipse XSD插件:使用XSD與正則表達式模式驗證XML

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驗證程序,我可以在哪裏找到致命的「當前選項設置」?

+0

您的XML在哪裏,以便我們可以看到該限制產生錯誤的上下文? – 2010-04-10 15:59:48

+0

請注意,可以省略「{1}」。 – 2010-04-10 18:06:00

+1

固定還原劑{1}的Tnx。目前它已不再是一個問題,因爲我解決了當我注意到刪除「\ b ... \ b」它沒有錯誤地工作。但是現在我很想知道在哪裏可以設置提到的「選項設置」,因此知道在哪裏操作這些隱藏的設置可能很有用。 – 2010-04-11 00:30:24

回答

2

\b不支持XML Schema正則表達式爲W3C的specified。該錯誤消息意味着您可以通過更改設置來使用它,但是您將使用非標準功能,這會破壞使用XML的目的。

我不確定這就是錯誤信息的真正含義,但如果它只是正則表達式是無效的,它會更有幫助。幫你一個忙,忘記在你的XSD中使用\b。如果還沒有,請查看regular-expressions.info網站的其餘部分 - 這是一個很好的資源。