Bozhong Lin wrote:
I had previously filed a JIRA issue [1] for this problem, I will add
the discussion here to JIRA issue. Yep, I totally agree that we need
to clean up this.
The main purpose of the newly created CXF-673 "Use common prefix in all
namespaces" is to address the problems of
a) versioning and
b) public availability of the schemas/wsdl at their respective URIs.
It does not address the issues raised in CXF-613 and CXF-275.
Andrea.
Regards,
Bo
[1] https://issues.apache.org/jira/browse/CXF-613
Andrea Smyth wrote:
Hi,
Before we release 2.0 Final (hopefully with cfg files etc. fixed so
that we can enable Spring schema validation:)) is an opportunity to
modify and bring consistency into namespaces and public URIs for the
CXF schemas.
Taking two schemas as an example, we have
Location:
trunk/rt/frontend/jaxws/src/main/resources/org/apache/cxf/jaxws/spring/jaxws.xsd
Target namespace: http://cxf.apache.org/jaxws
Public URI (as per spring.schemas):
http://cxf.apache.org/schema/jaxws.xsd
or
Location: trunk/tools/common/src/main/resources/schemas/wsdl/jms.xsd
Target namespace: http://cxf.apache.org/transports/jms
Public URI (as per spring.schemas):
http://cxf.apache.org/transport/jms.xsd
Right now, the schemas are not available at their public URI, but
long term they should be IMO, and therefore I'd like to see that
a) they use at least a common prefix, e.g. schema, after
http://cxf.apache.org/ to avoid clashes in d). The first example uses
"schema", the second uses no prefix at all, and yet others use
"schemas" instead of schema, see the concatenation of all
spring.schemas files in CXF below.
b) possibly include a version number or a date in the prefix, i.e.
schemas/2.0 or schemas/2007/06 (personally I find version numbers a
bit friendlier than dates; the version number need not be the same
for all schemas in a release, it would just happen to be so for the
2.0 release).
c) all cfg files consistently use these public URIs in their
schemalocation attribute
d) ideally we can make them available at their public URI
Right now this would have to be under
http://incubator.apache.org/cxf/ but I assume that after graduation
this will change to http://cxf.apache.org. I we want to avoid a
needless change upon graduation, we could use http://cxf.apache.org
in the public URI already, and tell people that for now that can find
any (public, documented) CXF schema by substituting cxf.apache.org
with incubator.apache/cxf.
As far as namespaces are concerned, we can use the same, a different
or no prefix - but whatever it is it should be used consistently.
Using the same prefix as in the URI is probably the simplest solution.
A version number or date in the namespace/public URI may look ugly,
but could prove very useful, especially as there is no such thing as
"the" big CXF schema, but lots of small schemas instead. And
depending on the evolution of their associated modules, they are more
or less subject to change in the future.
What do people think?
Andrea.
--- all spring.schemas ---
http\://cxf.apache.org/schemas/configuration/cxf-beans.xsd=schemas/configuration/cxf-beans.xsd
http\://cxf.apache.org/schema/bindings/object.xsd=org/apache/cxf/binding/soap/spring/object.xsd
http\://cxf.apache.org/schema/bindings/soap.xsd=org/apache/cxf/binding/soap/spring/soap.xsd
http\://cxf.apache.org/schema/jaxws.xsd=org/apache/cxf/jaxws/spring/jaxws.xsd
http\://cxf.apache.org/schema/jaxws.xsd=org/apache/cxf/jaxws/spring/jaxws.xsd
http\://cxf.apache.org/schema/transports/http.xsd=schemas/wsdl/http-conf.xsd
http\://cxf.apache.org/../../../../../../common/schemas/src/main/resources/schemas/configuration/security.xsd=schemas/configuration/security.xsd
http\://cxf.apache.org/../../../../../../common/schemas/src/main/resources/schemas/wsdl/wsdl.xsd=schemas/wsdl/wsdl.xsd
http\://cxf.apache.org/transport/jms.xsd=schemas/wsdl/jms.xsd
http\://cxf.apache.org/../../../../../../common/schemas/src/main/resources/schemas/configuration/security.xsd=schemas/configuration/security.xsd
http\://cxf.apache.org/../../../../../../common/schemas/src/main/resources/schemas/wsdl/wsdl.xsd=schemas/wsdl/wsdl.xsd
http\://cxf.apache.org/schemas/ws/addressing.xsd=schemas/ws-addr-conf.xsd
http\://www.w3.org/2006/07/ws-policy=schemas/ws-policy-200607.xsd
http\://schemas.xmlsoap.org/ws/2004/09/policy=schemas/ws-policy-200409.xsd
http\://cxf.apache.org/ws/rm/manager-types.xsd=schemas/configuration/manager-types.xsd
http\://cxf.apache.org/ws/rm/manager.xsd=schemas/configuration/manager.xsd
http\://schemas.xmlsoap.org/ws/2005/02/rm/wsrm-policy.xsd=schemas/configuration/wsrm-policy.xsd