可以从架构对象中获取 XSModel 对象吗?

Can XSModel object be obtained from a Schema Object?

我可以使用 JAXP 创建架构对象。例如

    Path schemaPath = ...;
    
    StreamSource source = new StreamSource(schemaPath.toFile());
    SchemaFactory factory = 
        SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    
    Schema schema = factory.newSchema(source);

我正在使用 Xerces。有没有办法获取schema对象对应的XSModel(org.apache.xerces.xs.XSModel)?

我不是专家,也不了解所有细节,但是:首先找出 Schema 对象的实现 class 是什么;查看是否有提取 GrammarGrammarPool 的方法;看看是否可以将结果转换为 SchemaGrammar;然后 SchemaGrammar.toXSModel() 方法会为您提供所需的内容。