设置将由解析器使用的 schema
,该解析器从此工厂创建。
如果 schema
为非 null,则在将信息向下传递到应用程序之前,解析器将使用从中创建的验证器来验证文档。
在验证器发现警告/错误/致命错误时,解析器必须处理它们,就好像这些错误是由解析器自己发现的一样。换句话说,如果设置了用户指定的 errorhandler
,则它必须接收这些错误,否则,必须根据特定于实现的默认错误处理规则来处理它们。
验证器可以修改 sax 事件流(例如,通过添加在文档中缺少的默认值),解析器负责确保应用程序将接收这些修改的事件流。
最初,null
被设置为 schema
。
即使 isvalidating()
方法返回 false
,此过程也将生效。
将 http://java.sun.com/xml/jaxp/properties/schemasource
属性和/或 http://java.sun.com/xml/jaxp/properties/schemalanguage
属性与非 null schema
对象一起使用将发生错误。当在 saxparser
上设置这些属性时,此类配置将导致 saxexception
异常。
实现者请注意:
解析器必须能够与任何 schema
实现一起使用。但是,只要能够产生规范中描述的结果,就允许解析器和模式使用特定于实现的自定义机制。
- 参数:
schema
- 要使用的 schema
,如果移除一个模式,则为 null
。
- 抛出:
unsupportedoperationexception
- 当该实现没有重写此方法时- 从以下版本开始:
- 1.5