The thing is that I am not convinced that one should have to use the
`schemaLocation` attribute to override the location of a schema to be
fetched using a catalog. At least in the JAX-WS `wsimport` tool that ships
with standard Oracle Java 7, one is able to provide alternative locations
for schemas that are simply referenced with an <import> element, without
`schemaLocation` attributes. So I am giving the same catalog to both
`wsimport` and `wsdl2java` tools, and only `wsdl2java` is unable to use the
correct entry in the catalog, that's why I suspect this to be a bug. I
dunno perhaps I should file a bug report.


On Fri, Sep 27, 2013 at 12:59 AM, Aki Yoshida <[email protected]> wrote:

> hi,
> sorry for my short reply earlier.
>
> the publicId identifier is an old time identifier and has a different
> usage and syntax from the URLs.
> http://en.wikipedia.org/wiki/Formal_Public_Identifier
>
> For redirecting URLs to somewhere else, you can use system or
> rewriteSystem entries.
> So, I thought my quick reply would solve your issue, assuming the
> lookup to fall back to use the namespace URL of the import when its
> schemaLocation attribute is not set.
>
> But it looks like this assumption was wrong. In other words, the
> schemaLocation must be set when the schema needs to be retrieved.
>
> In that case, I was wondering where you get the schema that omits the
> schemaLocation attribute and if it can be processed by other schema
> based tools.
>
> regards, aki
>
> 2013/9/26 Menelaos Perdikeas <[email protected]>:
> > Changing the catalog entry from
> >
> >     <public publicId="http://www.ivoa.net/xml/STC/STCcoords/v1.10";
> >  uri="STCcoords-v1.10.xsd"/>
> >
> > to:
> >
> >     <system systemId="http://www.ivoa.net/xml/STC/STCcoords/v1.10";
> >  uri="STCcoords-v1.10.xsd"/>
> >
> > still requires adding the `schemeLocation` attribute in the `<import>`
> > element otherwise the types of the imported schema are not found.
> > That is, I still need to modify the XSD schema (which only has an
> > `<import>` element without a `schemaLocation` attribute).
> > Can you elaborate a bit more on public versus system entries? I am not
> sure
> > I get all the nuances.
> >
> >
> > On Thu, Sep 26, 2013 at 5:42 PM, Aki Yoshida <[email protected]> wrote:
> >
> >> that's not a public id.
> >> can you use the system entry instead?
> >>
> >>
> >> 2013/9/26 Menelaos Perdikeas <[email protected]>:
> >> > I am using Apache CXF 2.7.6 `wsdl2java` and it seems that the tool
> >> ignores
> >> > or fails to find public catalog entries. In particular I have the
> >> following
> >> > `<xs:import>` in one of my XSD files:
> >> >
> >> >     <xs:import namespace="http://www.ivoa.net/xml/STC/STCcoords/v1.10
> "/>
> >> >
> >> > The above cannot be properly resolved with the catalog file entry:
> >> >
> >> >     <public publicId="http://www.ivoa.net/xml/STC/STCcoords/v1.10";
> >> > uri="STCcoords-v1.10.xsd"/>
> >> >
> >> > If I change the `<xs:import>` by adding a `schemaLocation` attribute,
> >> i.e.
> >> > change it to:
> >> >
> >> >     <xs:import namespace="http://www.ivoa.net/xml/STC/STCcoords/v1.10
> "
> >> > schemaLocation="http://www.ivoa.net/xml/STC/STCcoords/v1.10/>
> >> >
> >> > It resolves files, but my understanding is that this shouldn't have
> been
> >> > necessary as I don't want to have to edit the XSD I am provided with.
> >> >
> >> > The behavior is the same whether OASIS XML format or TR9401 format is
> >> used.
> >> > Kind Regards,
> >> > Menelaus.
> >>
>



-- 
at Thy word I will let down the net.

Reply via email to