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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl message

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


Subject: URNs (issue a.3)


Hello UBL TC,

Gunther Stuhec has noted [1] that the namespace URNs in the UBL
1.0 CD "are not based on the namespace rules of chapter 3.4.2
(Namespace Uniform Resource Identifiers)", specifically NDR NMS5,
which reads as follows:

   [NMS5] The namespace names for UBL Schemas holding OASIS
   Standard status MUST be of the form:

      urn:oasis:names:specification:ubl:schema:<name>:<major>:<minor>

Eduardo Gutentag has pointed out [2] that URNs used in OASIS
specifications must follow Internet RFC 3121, which defines the
OASIS URN namespace [3], and has proposed an alternative that
would set the pattern not just for UBL but for all OASIS standard
schemas (yes, we are once again breaking new ground here).  I will
not copy Eduardo's proposal here (the message referenced at [2]
can be found in mail sent to the TC 26 July 2004), but the essence
of it is summarized in the following examples:

   urn:oasis:names:specificaton:ubl1.0:schema:xsd:CoreComponentParameters1.0
   urn:oasis:names:specificaton:ubl1.0:schema:xsd:AcknowledgementResponseCode1.0
   urn:oasis:names:specificaton:ubl1.1:schema:xsd:CoreComponentParameters1.0
   urn:oasis:names:specificaton:ubl2.0:schema:xsd:AcknowledgementResponseCode1.5

Note in particular the last one, which illustrates the
independence of UBL version number and schema version number.

In today's Atlantic UBL TC call, we discussed Eduardo's proposal
and came to the following conclusions:

 - We agree that RFC 3121 takes precedence over the current NMS5.
   This means that we will indeed have to change all the namespace
   URNs.  We don't think that we will have to change any of the
   file names.

 - We agree to accept Eduardo's proposal with the following
   provisos:

    - We can't just delete the existing NMS5.  We need to replace
      it with a new rule specifying the RFC 3121-compliant way in
      which we are forming the UBL namespace URNs.

    - We don't see why we need to include a version number in the
      specification-id field (the one that has "ubl1.0" in
      Eduardo's examples).  We understand that RFC 3121 allows
      this, but we don't believe that RFC 3121 requires it, and we
      can think of cases where including the version number would
      not be helpful.

      Suppose, for example, that an imaginary UBL 2.0 release
      includes an imaginary AcknowledgementResponseCode1.5 schema
      identical to the schema that originally shipped with the
      imaginary UBL 1.5 (as in Eduardo's fourth example URN
      above).  Keeping the 1.5 version of the schema is presumably
      a good thing because UBL 1.5 code written to process
      instances conforming to that schema will continue to work,
      but that won't happen if the namespace URN is changed; in
      that case, updating the specification-id from "ubl1.5" to
      "ubl2.0" will have an effect opposite the effect presumably
      intended in keeping "AcknowledgementResponseCode1.5" as the
      document-id.

      So we concluded (almost but not quite unanimously) that we
      would prefer to use "ubl" for the specification-id and let
      the versioning of individual schemas be conveyed by the
      document-id.  (The counterargument was that including the
      UBL version number in specification-id would indicate that
      the 1.5 schema was re-released as part of UBL 2.0, but (a)
      the URN is the wrong place to be looking for packaging
      information, (b) we may find (as apparently X12 did) that we
      don't want to tie module revisions to major releases, and
      (c) including "2.0" wouldn't tell us anything about the
      package structures of releases 1.5 through 1.9, if any.  In
      sum: the software won't care what release the schema came
      from, it will only care that this is still the same old
      schema it knows and loves.)

In keeping with the agreement to adopt a new rule before we can
regenerate the schemas, therefore, and in the absence of anyone
else available to do it this week, the participants tasked yours
truly with the job of proposing to the TC a replacement for NDR
NMS5 today.  They also noted that NMS4 and NMS6 would have to be
looked at, too.  The current versions read as follows:

   [NMS4] The namespace names for UBL Schemas holding committee
   draft status MUST be of the form:

      urn:oasis:names:tc:ubl:schema:<name>:<major>:<minor>[<revision>]

   Note:

      [ ] = optional. 

      <> = variable


   [NMS6] UBL Schema modules MUST be hosted under the UBL
   committee directory:

      http://www.oasis-open.org/committees/ubl/schema/<schema-mod-name>.xsd

It seems to me (and I am ready to stand corrected!) that we do
need to revise NMS4 along with NMS5 this week, but I don't see any
need to change NMS6.  I will note that a functioning URN resolver
should make NMS6 unnecessary, but if we have to have a canonical
location (and in the short term we probably do), then I think that
this one will work as well as any.  I also note that its implicit
reliance on the document-id alone is in keeping with the point
made above on this subject.

Appended to this message are my proposed replacements for NMS4 and
NMS5.  Since time is of the essence, please make any comments
within the next 48 hours; whatever we seem to have agreed upon by
Friday my time in Orlando is what I will propose that we adopt for
the schemas to be approved in Copenhagen.  Anyone available this
evening, or this morning, depending on where you are, should note
that the Pacific TC call coming up in about 1.5 hours would be a
great place in which to discuss this.

NOTE that these revisions will also necessitate revision to the
versioning rules in section 3.5 of NDR, but I *think* that those
revisions can be accomplished simply by substituting periods for
colons in the part of the URN that we are now calling
"document-id" (which means that the document-ids we end up with
won't look exactly like Eduardo's examples but more like
AcknowledgementResponseCode.1.5).  It would be very helpful if
someone could attempt this revision and tell us whether it's that
easy before I put the whole question to you on Friday.  If I have
to make the revisions to 3.5 myself, it could get ugly....

Jon

[1] http://lists.oasis-open.org/archives/ubl-comment/200406/msg00004.html

[2] http://lists.oasis-open.org/archives/ubl/200407/msg00082.html

[3] http://www.faqs.org/rfcs/rfc3121.html

==================================================================

PROPOSED REPLACEMENT FOR NDR NMS4

   [NMS4] The namespace names for UBL W3C Schema drafts
   MUST be of the form

      urn:oasis:names:tc:ubl:schema:xsd:<document-id>

   where <document-id> is a unique identifier assigned to the
   schema by the UBL TC.  The document-id MUST follow the
   versioning scheme specified in section 3.5 and MUST NOT contain
   colons.  For Relax NG schemas, the sub-type field of the URN
   MUST contain "rng" instead of "xsd", and for ASN.1
   specifications, the sub-type field of the URN MUST contain
   "asn1" instead of "xsd".

   Note:

      [ ] = optional. 

      <> = variable

PROPOSED REPLACEMENT FOR NDR NMS5

   [NMS5] The namespace names for UBL schemas holding OASIS
   Standard status MUST be of the form specified in NMS4 for
   schema drafts, but with "specification" replacing "tc" in the
   fourth (document class identifier) field of the namespace URN.







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