The FAQ state the following:
The plugin attempts to resolve resources through the class loader automatically. Alternatively, you can enforce using the class loader, if you specify your resource with an URI like "resource:org/foo/stylesheet.xsl".
Unfortunately, that is only true to stylesheets or schemas, not for catalog files. (To test, simply change mojo-1438-validate’s pom.xml: <catalog>resource:src/main/xml/catalog.xml</catalog>)
This prevents the following use case:
- Bundle your schemas or stylesheets along with a catalog into a resource JAR
- Refer to the schemas only via their
<publicId> during plug-in <configuration>
- Moreover, any schema imports can again only use their
xs:import/@namespace; no xs:import/@schemaLocation with a Maven-specific resources: scheme is necessary, as the catalog takes care of the mapping.
In other words, the schemas are completely generic. Any Maven-specifics are localized in the catalog.xml that is shared along-side the schemas.
The FAQ state the following:
Unfortunately, that is only true to stylesheets or schemas, not for catalog files. (To test, simply change
mojo-1438-validate’spom.xml:<catalog>resource:src/main/xml/catalog.xml</catalog>)This prevents the following use case:
<publicId>during plug-in<configuration>xs:import/@namespace; noxs:import/@schemaLocationwith a Maven-specificresources:scheme is necessary, as the catalog takes care of the mapping.In other words, the schemas are completely generic. Any Maven-specifics are localized in the
catalog.xmlthat is shared along-side the schemas.