代码之家  ›  专栏  ›  技术社区  ›  jon077

XMLCatalog可以用于模式导入吗?

  •  3
  • jon077  · 技术社区  · 17 年前

    您可以使用XMLCatalog来解析模式导入语句中的xsd吗?如果是这样,首选/最佳实践是什么?我想将xsds打包到jar中,因此使用相对schemaLocation不起作用。

    到目前为止,我正在尝试做这样的事情:

    SchemaFactory factory = SchemaFactory
            .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
    XMLCatalogResolver catalogResolver = new XMLCatalogResolver(
            new String[]{"/path/to/catalog.xml"});
    factory.setResourceResolver(catalogResolver);
    
    Schema schema = factory.newSchema(new StreamSource(ClassLoader
            .getSystemResourceAsStream("config.xsd")));
    

    1 回复  |  直到 17 年前
        1
  •  5
  •   George Bina    17 年前

    快速浏览一下,我看到了两个问题:

    XMLCatalogResolver catalogResolver = new XMLCatalogResolver(
            new String[]{"catalog.xml"});
    

    the Javadoc for this method

    绝对URI

    Schema schema = factory.newSchema(new StreamSource(ClassLoader
            .getSystemResourceAsStream("config.xsd")));
    

    new StreamSource(ClassLoader.getSystemResource("config.xsd").toString())
    
    推荐文章