Hello All,
Attached are the proposed source changes. I have renamed
SchemaResolver to SchemaInputResolver as we may want to have a
SchemaOutputResolver as well. Of course we could have a SchemaResolver
that does both input & output, thoughts?
-Blaise
Blaise Doughan wrote:
4C166EE5.7010607@oracle.com" type="cite">Hello
All,
As discussed last week, most SDO implementations have some means of
resolving System URIs. There a couple of use cases for which this is
useful:
- The user is loading there XML schema using a non-standard URI
(i.e. pointing to somewhere on there class path).
- The user is specifying imported/included XML schemas using a
relative path.
In the EclipseLink SDO implementation we have introduced the concept of
a SchemaResolver. This interface has the following signature:
public interface SchemaResolver {
/**
* @param parentXSD - The XSD doing the import or included (null
for root schemas), the system id can be obtained to resolve relative
URIs
* @param namespace - The namespace portion of the import/include
* @param systemID - The URI representing the location of the XML
schema.
*/
public javax.xml.transform.Source
resolveSchema(javax.xml.transform.Source parentXSD, String namespace,
String systemID);
}
Java SE also has the concept of an LSResourceResolver
(http://java.sun.com/javase/6/docs/api/org/w3c/dom/ls/LSResourceResolver.html).
This approach has the benefit of working well with the
javax.xml.validation APIs.
Hopefully we can get some discussion on this topic, in order to come up
with a solution that works for everyone.
-Blaise
|