From: Scott M S. <sco...@jb...> - 2005-06-21 22:13:02
|
The schemaLocation attribute is only a hint anyway so we certainly should be able to override it. Xerces has an explicit override of this via the http://apache.org/xml/properties/schema/external-schemaLocation property. I did look at the updated testcase which illustrates the SchemaBindingResolver. I think this goes too far in the resolution as its going from the namespace to a binding. I was thinking more of an xml catalog/entity resolver ala the existing org.jboss.util.xml.JBossEntityResolver that already handles j2ee schema resolution. We treat the namespace urn as the systemID to the org.xml.sax.EntityResolver method: InputSource resolveEntity (String publicId, String systemId) Can the same approach be used when seeing a new namespace during the parse to lazily create the SchemaBinding? It would seem that an implementation of SchemaBindingResolver that delegated to the current parser EntityResolver would address this. > -----Original Message----- > From: jbo...@li...=20 > [mailto:jbo...@li...] On=20 > Behalf Of Alexey Loubyansky > Sent: Tuesday, June 21, 2005 4:41 AM > To: jbo...@li... > Subject: Re: [JBoss-dev] jbxb annotation element definitions >=20 > Scott M Stark wrote: > > Some other ease of use issues: > >=20 > > 1. Currently the url to the xsd is required. Can't this be=20 > taken from=20 > > the schemaLocation if present so that the user does not=20 > need to know=20 > > this? >=20 > It can. I was going to that actually. > There are disadvantages though. schemaLocation is not=20 > available until the document is parsed. Loading it manually,=20 > gives you a chance to modify bindings programatically, set=20 > some features, etc. So, this approach was the first on the list. >=20 > > 2. Can we add a schema resolver that allows the namespace uri to be=20 > > mapped to an xsd url in the same way that we handle dtd entities? >=20 > It's already there. I modified the testcase you committed,=20 > look at SchemaBindingResolver. >=20 > alex > |