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: Re: [ubl-dev] Re: Code list extensibility and substitution groups


On Tue, 22 Feb 2005, Stephen Green wrote:
>>
>>As an aside, wouldn't it be a plausible argument against substitutionGroups
>> that folk like myself, not expert in
>>XSD but likely to be responsible for implementations nonetheless, would
>>find substitutionGroups a little perplexing (even if just for failure to 
>>see their value in this context and therefore reluctance to invest
>>adequate time into adopting them).
>>I think my own Government's XSD guidelines are to avoid the more 
>>obscure aspects of XSD in Schema architecture, perhaps for related
>>reasons.

The presence of substitutionGroups can also create a sense
of "the element is not the type which it's present manifest
type suggests" -- in other words, what type you see that's
associated with an element at present may not be what is being
used for validation.  The situation would be worsened if the 
actual substitution definitions come in from another <include>d
file stored physically elsewhere, and might also introduce
possible authenthicity issues (eg. allowing validation using 
bogus subsituted groups when invalid codes exist in instances).

This is not to say that the mechanism of XSD substitionGroup
itself is not good.  But in the context of UBL and general
environment of business document exchanges, many other
factors and considerations come in (many of which experts from
various fields have pointed out).  A more stable, easily
understood, and reliable expression of schema that serves
as pillar on which to build high-level validations and
functions would likely be more useful in practice.


Best Regards,
Chin Chee-Kai
SoftML
Tel: +65-6820-2979
Fax: +65-6743-7875
Email: cheekai@SoftML.Net
http://SoftML.Net/




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