模块 java.xml

类 SchemaFactory

java.lang.Object
javax.xml.validation.SchemaFactory

public abstract class SchemaFactory extends Object
创建 Schema 对象的工厂。验证 API 的入口点。

SchemaFactory 是模式编译器。它读取模式的外部表示并准备它们进行验证。

SchemaFactory 类不是线程安全的。换句话说,应用程序有责任确保在任何给定时刻最多有一个线程正在使用 SchemaFactory 对象。鼓励实现将方法标记为 synchronized 以保护自己免受损坏的客户端的影响。

SchemaFactory 不可重入。在调用 newSchema 方法之一时,应用程序可能不会尝试递归调用 newSchema 方法,即使是从同一线程。

Schema 语言

此规范使用名称空间 URI 来指定模式语言。下表显示了本规范定义的值。

为了符合规范,实现只需要支持 W3C XML Schema 1.0。但是,如果它选择支持此处列出的其他模式语言,则它必须符合本规范中描述的相关行为。

此处未列出的模式语言应引入自己的 URI 来表示自己。 SchemaFactory 类能够在运行时定位其他模式语言的其他实现。

请注意,由于 XML DTD 与解析过程紧密相关并且对解析过程有重大影响,因此不可能将 DTD 验证定义为独立于解析的过程。出于这个原因,本规范没有定义 XML DTD 的语义。这并不禁止实施者以他们认为合适的方式实施它,但是 users are warned that any DTD validation implemented on this interface necessarily deviate from the XML DTD semantics as defined in the XML 1.0

支持的模式语言的 URI
value 语言
XMLConstants.W3C_XML_SCHEMA_NS_URI (“http://www.w3.org/2001/XMLSchema”) W3C XML 架构 1.0
XMLConstants.RELAXNG_NS_URI (“http://relaxng.org/ns/structure/1.0”) RELAX NG 1.0
自从:
1.5