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: Re: [ubl] Discussion of substitution groups

I believe we need to use substitution groups for minor
versioning as per NDR Rules VER 8 and VER 9, to
allow use of imports of previous versions' schemas and
xsd derivation. I believe this has been an important part
of the NDR design from the beginning of UBL, it having
been intended since then that minor releases and
customisations would use XSD-enabled inheritance and
polymorphism. The reason the above requires substitution
groups to make it work in UBL is the highly structured, type
oriented and essentially complex nature of UBL. I believe
it would be impossible or at best far more difficult to
achieve the same aims with a local schema design, This,
I believe, was the main reason for the use of the global
element and global type design. I also now believe it
would be impossible or very difficult to achieve the same
goal using XSD redefine (or any other XSD method for
that matter). (IMO) the only choice might be whether to use
abstract elements and types, forcing substitution and I
see nothing to be gained and much possible confusion from
this so I personally would rather avoid it, as we did with
the design we recommended to the TC from the UBL minor
versioning [ver] working group in April. Thankfully, Marty
has well demostrated that a working design for substitution
group use without abstracts can be used for codelist extension

Overall, in just a few words, we need it for XML with
XSD to be properly eXtensible in UBL.

All the best


----- Original Message ----- 
From: "CRAWFORD, Mark" <MCRAWFORD@lmi.org>
To: "Stephen Green" <stephen_green@seventhproject.co.uk>;
Sent: Monday, July 18, 2005 4:08 PM
Subject: RE: [ubl] Discussion of substitution groups

> This all the more persuades me that for
> minor versioning and codelists we have
> only one sensible option - substitution
> groups (without use of abstracts).

But if our schema follow our NDRs and are created from models as
expressed in the spreadsheets, why do we need to use substitution groups
at all?

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