OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sdo message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [sdo] SDO-55 - Create an EntityResolver like concept for resolvingimported/included schemas


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

SchemaInputResolver.zip



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]