On Fri, 16 May 2003, Eduardo Gutentag wrote:
>>...
>>yes, but...
>>>
>>> Or could the container for cardinality 0..n be itself of
>>> cardinality 0..1 (0 if instance content is 0 cardinality,
>>> 1 otherwise) instead of 1..1 (always has) or 0..0 (never has)?
>>
>>Hm, must think about this. Think, think, think...Well, I think
>>it's a good idea, but not enforceable. I don't think there is
>>any way to say, in XSD, that an instance is valid if and only
>>if a given kind of list container does not appear in the instance
>>when what it could contain does not appear, and does appear
>>otherwise...IOW, there's no way to specify that it's optional
>>under some circumstances but mandatory under others... Better let
>>the user realize that having a container around order items makes
>>sense while having one around possible street lines does not...
(... as if the spirit never dies...)
How feasible is it to use <xsd:choice> plus divide-and-conquer
by having those cardinalities with 0..n divided into 2 choices
of 0 + 1..n ? If the <xsd:choice> is a run-time decision left
to the UBL processor, it might just be possible though I stand
corrected.
Best Regards,
Chin Chee-Kai
SoftML
Tel: +65-6820-2979
Fax: +65-6743-7875
Email: cheekai@SoftML.Net
http://SoftML.Net/