我正在使用java sax解析器解析xml文档并根据模式验证它。验证空元素时,如果元素具有以下格式,则解析器可以正常工作
<submitmonth></submitmonth>
我收到的错误很好(说提交月份为空,应该是这样的等等)。代码执行的顺序是
启动元素
验证错误
结束元素
使用短手xml时
<submitmonth/>
,方法调用顺序似乎发生了变化。我注意到呼叫顺序低于
验证错误
启动元素
结束元素
不确定为什么会这样。我希望短手的处理方式与普通的xml
相同请帮助
答案 0 :(得分:1)
SAX无法保证何时报告错误与报告开始和结束元素的时间。你的程序应该被编写为容忍这种变化。
如果您认为解析器应该对该行为更加规律,请使用该解析器的作者或尝试其他SAX解析器。
除了提供这两个建议之外,我们在这里没有任何事情可做。