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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-dev message

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


Subject: Substitution Groups for Derivation


Hi Ken

Comments inline below -

Quoting "G. Ken Holman" <gkholman@CraneSoftwrights.com>:

> I'm going to chime in briefly to get a better understand of needs ... 
> but I don't have a comment on substitution groups, but on 
> extensibility.  This impacts the work I'm trying to do with 
> extensibility in UBL.
>
> At 2006-05-19 16:55 +0800, Chin Chee-Kai wrote:
>> On schema extensibility, end-users defer extensions to developers
>> and implementors, who then seek compatible ways to implement those
>> business extensions.
>
> Fine ...
>
>> Schema has a couple of ways to allow that.
>
> But with the recent efforts of Steve and Joe to demonstrate on this 
> list any extensibility using W3C Schema features, I think it is clear 
> the features are not sufficient to the task.

An important point is that the previous discussion was about datatypes
- that is both CCTS 'qualified and unqualified datatypes' and their
underlying W3C XML Schema datatypes. These were found to be difficult to
customise using W3C Schema redefine and substitution group techniques
and possibly any W3C Schema form of derivation. Schematron and other
second layer methods seem to be preferable for such datatypes.

This discussion didn't really consider the other types in UBL, complex
types called Business Information Entities(BIEs). For those not familiar
with the Core Components technical Specification (CCTS, ISO 15000-5)
these in turn use by reference the qualified and unqualified CCTS
datatypes. It still remains that UBL was primarily designed to allow such
BIEs to be extended and restricted using the W3C XML Schema derivation
methodology of substitution groups (although there was a rule preventing
the use of such actually in the read-only schemas, which helps implementers
use them for customisation).

It may still be (the last I heard the TC had decided to keep it open) that
UBL minor versions will use this technique to ensure backwards compatibility
from previous versions. I created several prototypes of UBL 2 schemas to
prove the workability of this. One of my action items for next week's plenary
is to test any schemas for UBL 2 second public review which we might produce
to see that this workability is intact, likewise that customisation will
work this way too.

This is a whole different thing to datatype derivation. It goes back to
work done by a UBL working group last year after which it was agreed that
the next set of UBL schemas should use all global elements and types (Garden
of Eden) to at least allow this and that this would mean the next release
being a major one, hence UBL 2. The decision of whether to use susbtitution
groups or redefine for minor versioning was then deferred, as was the
decision as to whether to actually promote their use for customisation.
UBL TC would just ensure the options were open for either by using the GoE
design. The customisation decision is awaiting discussion after the UBL 2
second public review schemas have been produced (imminent now hopefully).

It might be a good time to discuss this in view of the above -
if folks aren't too worn out from the datatypes discussion (and with catching
up with those postings) :-)


>
> If developers and implementers implemented the business extensions 
> solely within the new extension point being provided in the next 
> draft UBL 2 then there (1) won't be a need to shoehorn insufficient 
> validation facilities and (2) implementations will be true to the 
> compatibility measurement with UBL 2 because all instances will 
> continue to validate according to the normative UBL 2 schemas 
> regardless of the embedded extensions.

I agree this is plausible but the option to use substitution groups
is not being precluded and in my mind at least, for BIEs, remains
a key feature of the planned UBL version 2.

>
> I feel this compatibility test will promote interoperability and I 
> believe these benefits will outweigh possible implementation concerns.
>
> . . . . . . Ken
>

This is a good idea I think. I still feel it is best practise to allow
both options. A key factor is that this will be true too if substitution
groups are used properly (and simply too).

The whole thread for this is rather fragmented but can be found
in the following with relevant items marked '[ver]' in the subject
http://lists.oasis-open.org/archives/ubl/200504/threads.html
see also
http://lists.oasis-open.org/archives/ubl/200502/msg00037.html

Do folk have the stomach for another lengthy discussion ?  :-)

All the best

Steve




All the best

Steve

> --
> Registration open for XSLT/XSL-FO training: Wash.,DC 2006-06-12/16
> Also for XSL-FO/XSLT training:    Minneapolis, MN 2006-07-31/08-04
> Also for XML/XSLT/XSL-FO/UBL training: Varo,Denmark 06-09-25/10-06
> World-wide corporate, govt. & user group UBL, XSL, & XML training.
> G. Ken Holman                 mailto:gkholman@CraneSoftwrights.com
> Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/u/
> Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
> Male Cancer Awareness Aug'05  http://www.CraneSoftwrights.com/u/bc
> Legal business disclaimers:  http://www.CraneSoftwrights.com/legal
>
>
> ---------------------------------------------------------------------
> This publicly archived list supports open discussion on implementing 
> the UBL OASIS Standard. To minimize spam in the
> archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Alternately, using email: list-[un]subscribe@lists.oasis-open.org
> List archives: http://lists.oasis-open.org/archives/ubl-dev/
> Committee homepage: http://www.oasis-open.org/committees/ubl/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> Join OASIS: http://www.oasis-open.org/join/
>
>





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