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


Help: OASIS Mailing Lists Help | MarkMail Help

ws-rx message

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

Subject: Re: [ws-rx] namespace URI versioning policy

On Mon, 19 Sep 2005, Christopher B Ferris wrote:

> All,
> Fulfilling my AI [1], I have worked with Paul C to develop a namespace URI 
> versioning policy for our specs. (below)
> Have at it!
> Paul raised one point not addressed in the policy below. The W3C has a 
> policy of making a spec available at a "latest" URI that is fixed for
> the lifetime of a spec (well, mostly... rules were made to be broken).

Indeed, W3C publishes a "Latest version:" (fixed) URI locator for each 
prose 'Technical Report' specification as it progresses though successive
stages of maturity: Working Draft (WD), Candidate Recomendation (CR),
Proposed Recomendation (PR), Recomendation (REC).  This "Latest Version: "
URI is an identifier that can be bookmarked in a browser, or otherwise
published, so that by dereferencing it, you always get the current/latest
version of the prose specification.  The same practice is used for
versions of W3C Notes as well.

However, some observations:

1) it's not just W3C [1]: a similar practice is followed for Technical 
   Reports from the Unicode Consortium [2], the Dublin Core Metadata
   Initiative (DCMI) [3], the RDDL Spec development group [4], and

2) the "Artifact Identification Requirements 1.0" released by the
   OASIS TAB for public review prescribes the use of a "Latest Version
   Subtree" [5] and illustrates the use of current/latest version URI

3) the draft OASIS Specification Templates for producing specifications
   illustrate the use of a current/latest ("persistent") identifier
   for a prose spec, in addition to "This version" and "Previous
   version" [6]

4) Modulo one edge case I can think of, the design/use of a fixed
   "Latest version" prose spec URI is independent of the decision
   about whether to use an HTTP scheme URI namespace name, and the
   construction of that URI, and the determination about the
   possible use of a RDDL "namespace document" [7] which is
   to be fetched if one dereferences the namespace URI

> The policy below doesn't provide such a feature. 

Per above "4)" it's not clear to me that a namespace (change) policy
would need to address the matter of a (prose spec) "Latest version: "
URI.  The one problematic case, perhaps not an edge case, is when the
TC wants to use a RDDL namespace document in connection with the
XML Schema (and WSDL), *and* wants the prose specification to
somehow live at the same or neadby URI.

I have raised this matter for consideration by the OASIS TAB as a
possible case of collision -- although it's easily obviated if
the prose specification "Latest version: " URI is intentionally
different than the namespace URI.  Typically, for a "directory"
in the document repository tree "a)," the server redirects
to "b)" and returns a directory listing for the contents of the
directory.  Example, involving no namespace URI:

a) http://docs.oasis-open.org/xacml/references
b) http://docs.oasis-open.org/xacml/references/
b') http://docs.oasis-open.org/xacml/xacmlRefs.html /* Latest version URI */

A similar convention is now being followed (with some regularity)
in cases where a namespace URI is constructed *without* the trailing
slash, "c)":  if that HTTP scheme URI namespace name is dereferenced,
the server redirects to the RDDL namespace document, "d)"  for examples:

c) http://schemas.xmlsoap.org/ws/2004/04/sc
d) http://schemas.xmlsoap.org/ws/2004/04/sc/    /* RDDL */

c) http://schemas.xmlsoap.org/ws/2005/04/ssi
d) http://schemas.xmlsoap.org/ws/2005/04/ssi/   /* RDDL */

c) http://schemas.xmlsoap.org/ws/2004/10/wscoor
d) http://schemas.xmlsoap.org/ws/2004/10/wscoor  /* RDDL */

c) http://schemas.xmlsoap.org/ws/2004/10/wsat
d) http://schemas.xmlsoap.org/ws/2004/10/wsat/   /* RDDL */

c) http://www.w3.org/2005/08/addressing
d) http://www.w3.org/2005/08/addressing/  /* non-RDDL namespace doc */

> However, we could establish a policy that we could make the RDDLs 
> available via redirect or some equivalent means at the following URI:
>         http://docs.oasis-open.org/wsrm/
>         http://docs.oasis-open.org/wsrmp/
> that would provide a means for developers to be able to always find the 
> latest spec, schema and WSDLs, etc.

One certainly could redirect:

http://docs.oasis-open.org/[product]/yyyymm/ e.g.,

http://docs.oasis-open.org/wsrmp/200604/  /* namespace URI  */  redirects to:
http://docs.oasis-open.org/wsrmp/         /* RDDL actually lives here */

But I have not seen this particular practice before.  In terms
of what the TAB's WD-15 AIR document [5] calls the "Specific version
subtree" (Section 7.4) and the "Latest version subtree" (Section
7.5), are you making a recommendation about which of the
two paths above would be the root for the "Specific version subtree",
if either?

I don't have any opinion about how these decisions are to be
made optimally; in principle, I think it's OASIS practice to
let the TCs decide. Also, the TAB's AIR document [5] is being
revised, and I'm not sure what parts will survive as

Grist for the mill...

Robin Cover
[OASIS, but not speaking officially in any capacity]

********** References **********

[1] W3C example

Synchronized Multimedia Integration Language (SMIL 2.1)
W3C Candidate Recommendation 13 May 2005
This version: http://www.w3.org/TR/2005/CR-SMIL2-20050513/
Latest SMIL 2 version: http://www.w3.org/TR/SMIL2/
Latest SMIL Recommendation: http://www.w3.org/TR/SMIL/
Previous version: http://www.w3.org/TR/2005/WD-SMIL2-20050201/

[2] Unicode Consortium example

Unicode Standard Annex #34
Unicode Named Character Sequences
Version: 4.1.0
Authors: Ken Whistler
Date: 2005-03-25
This Version: http://www.unicode.org/reports/tr34/tr34-3.html
Previous Version: http://www.unicode.org/reports/tr34/tr34-1.html
Latest Version: http://www.unicode.org/reports/tr34/
Revision: 3

[3] Dublin Core [DCMI] example

Dublin Core Metadata Element Set, Version 1.1: Reference Description
Identifier: http://dublincore.org/documents/2004/12/20/dces/
Supersedes: http://dublincore.org/documents/2003/06/02/dces/
Latest version: http://dublincore.org/documents/dces/

[4] RDDL spec team example

Resource Directory Description Language (RDDL)
This Version: July 4, 2005 http://www.rddl.org/20050704/
Latest Version: http://www.rddl.org/
Previous Version: February 18, 2002



Current: docs.oasis-open.org/oasis/ArtifactIdentificationRequirements/latest
This Version: docs.oasis-open.org/oasis/ArtifactIdentificationRequirements/v1.0
Previous Version: http://www.oasis-open.org/spectools/docs/chairs-filenaming-02.html

7.5 Latest Version Subtree
The most recent version of specification or profile artifacts or
set of artifacts MUST be available at this location:

[6] Draft OASIS Specification Templates


Persistent: http://docs.oasis-open.org/[tc shortname]/[spec]
This Version:http://docs.oasis-open.org/[tc shortname]/[spec]/[this version]
Previous Version: http://docs.oasis-open.org/[tc shortname]/[spec]/[previous version]"

[7] RDDL 'Namespace document'



> [1] 
> http://www.oasis-open.org/apps/org/workgroup/ws-rx/members/action_item.php?action_item_id=1004
> Cheers,
> Christopher Ferris
> STSM, Emerging e-business Industry Architecture
> email: chrisfer@us.ibm.com
> blog: http://webpages.charter.net/chrisfer/blog.html
> phone: +1 508 377 9295
> Namespace Versioning Policy
> The following is the declared policy of this specification with regards to 
> the namespace URI assignment
> for both the related XML Schema and WSDL definitions.
> The pattern of the namespace URI shall be: 
> http://docs.oasis-open.org/[product]/yyyymm/
> Where [product] is the short name of the specification as prescribed by 
> OASIS followed by
> the century, year and month chosen by the TC. 
> It is the intent of the WS-RX TC members that the namespace URI will not 
> change arbitrarily
> with each subsequent revision of the corresponding WSDL or XML Schema 
> document, but rather
> change only when a subsequent revision, published in conjunction with a 
> Committee Specification
> results in non-backwardly compatible changes from a previously published 
> Committee Specification. 
> Under this policy, the following are examples of backwards compatible 
> changes that would
> not result in assignment of a new namespace URI:
> * addition of new global element, attribute, complexType and simpleType 
> definitions
> * addition of new operations within a WSDL portType or binding (along with 
> the corresponding
>   schema, message and part definitions)
> * addition of new elements or attributes in locations covered by a 
> previously specified wildcard
> * modifications to the pattern facet of a type definition for which the 
> value-space of the previous
>   definition remains valid or for which the value-space of the 
> preponderance of instance would
>   remain valid
> * modifications to the cardinality of elements for which the value-space 
> of possible instance documents
>   conformant to the previous revision of the schema would still be valid 
> with regards to the revised
>   cardinality rule
> The policy for namesapce URI assignment between subsequent revisions of TC 
> editors drafts
> shall be to retain the same namespace URI regardless of the nature of the 
> changes. Prior to
> adoption of a new Committee Specification, the TC will assess the 
> backwards-compatibility
> of the schema and WSDL documents with the prior Committee Specification 
> (if any) and either
> retain the namespace URI or assign a new one in accordance with this 
> policy.
> An RDDL document shall be made available at the namespace URI location 
> that will provide
> a link to the actual location of the relevant XML Schema or WSDL 
> definitions documents. When
> appropriate, the RDDL will provide links to the deprecated revisions of 
> the XML Schema and
> WSDL definitions documents that carry the same namespace URI.


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