设置将由解析器使用的 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