我一直在考慮使用Saxon 9.6作爲XSD 1.1驗證器和XSD斷言。是否可以使用Saxon驗證器定義我自己的錯誤消息(不是默認的)?撒克遜和XML Schema 1.1自定義驗證消息
0
A
回答
1
想到幾種機制。
首先,你可以定義斷言確實其他方面有關自己的消息:
http://www.saxonica.com/documentation/index.html#!schema-processing/extensions11/saxon.message
其次,你可以把所有的驗證信息到XML報告文件,然後你就可以改變。在Validate命令行上使用-report:filename
,或者在s9api API中使用SchemaValidator.setValidityReporting()
。報告文件的格式由saxon-resources.zip
下載文件中的模式定義。
你可以使用一個ErrorListener
通過@kjhughes的建議 - 在傳遞給ErrorListener的ValidationException
對象的錯誤信息是在相當結構化的形式 - 但(一)我覺得XML報告更容易操縱,和(b )我們發現在驗證運行中報告幾百個錯誤,創建界面所需的異常對象的成本可能是整個運行時間的相當大的一部分。 Java異常並不是真正爲此設計的。
相關問題
- 1. 使用撒克遜API的XSD驗證
- 2. 自定義驗證消息
- 3. 自定義驗證消息
- 4. 撒克遜的替代方案:分配和撒克遜:分配
- 5. XML和XML Schema驗證
- 6. 錯誤撒克遜
- 7. 與撒克遜
- 8. 撒克遜transfromation
- 9. 自定義JAXB驗證錯誤消息
- 10. 「安裝」 - 撒克遜
- 11. ASP.NET MVC3:驗證日期時間和自定義驗證消息
- 12. 撒克遜轉換XML與URL參數
- 13. 撒克遜找不到包
- 14. 自定義驗證器動態消息
- 15. Rails:自定義驗證消息
- 16. json-schema-validator自定義消息
- 17. 提供自定義驗證消息
- 18. JSF自定義消息驗證錯誤
- 19. JSR-303驗證與自定義消息
- 20. 自定義DefaultModelBinder驗證消息
- 21. DDV_MinMaxUInt:自定義驗證消息
- 22. jquery驗證器addmethod自定義消息
- 23. 翻譯自定義jQuery驗證消息
- 24. 無法自定義jQuery驗證消息
- 25. 自定義消息錯誤jQuery驗證
- 26. Laravel擴展驗證自定義消息
- 27. jQuery驗證自定義消息
- 28. 自定義驗證消息3.0
- 29. kohana自定義驗證錯誤消息
- 30. Laravel使用自定義驗證消息
請參閱[net.sf.saxon.s9api.SchemaManager.getErrorListener()](http://www.saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/SchemaManager.html#getErrorListener( ))和[setErrorListener()](http://www.saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/SchemaManager.html#setErrorListener(javax.xml.transform.ErrorListener)) – kjhughes